Revision Report to Excel

I have been working to report out Revision information (Name, Issue Date, Sheet #, Sheet Name. Revision #) to an Excel spreadsheet. What I have works basically as planned, up to a point. The problem is that my mechanism for capturing Sheet # and Name comes up empty if the revision clouds were not placed directly on the sheet. My sense is that Revit has a mechanism for associating clouds placed in views or legends with their Sheet hosts (see Revision Schedule). I am hoping someone can help me tap into that association for this little exercise.

You’re correct in that Revit tracks the View that the Revision was placed on. This includes Sheets, Plans, and Legends. You can then get the associated sheet of the placed View (assuming it is actually placed on a Sheet).

The (potential) problem comes from dependent views and Revit’s lack of ability to properly track data between parent and dependent view elements. View-dependent elements, like a Revision, will typically report the parent view as the host view. But we don’t usually place parent views on sheets. Typically it’s only the smaller dependent views that get placed on sheets. Which means we have no way to tie the host view of the Revision to the Sheet of the dependent view that we actually want.

And in some cases it both, leading to situations where you have the same cloud element needing to report twice… :fearful:

Been awhile since I’ve looked into this problem. Might be worth revisiting later, perhaps as a community conversation topic?

Just to clarify, I am not having a problem with dependent views per se. The issue I have comes up when a revision cloud is placed on a legend (easier than repeating the same cloud on multiple sheets) or on a particular view that was just revised (rather than on the sheet the view is placed on). The Elements.OwnerView node will return the identity of the legend/view in question but I am struggling to find a way to tie that identity to a specific sheet and (if successful) to maintain the integrity of the overall list structure while doing it.

Gotcha. I would guess that legends still have a view instance similar to schedules with ViewSchedule and ScheduleInstance but it could be the same issue as dependent views where the host view is the ViewLegend and can’t relate to the LegendInstance or whatever the equivalent is.

What does this lead to? GetAllRevisionIds Method

Output says it’s a list of Element IDs assocaited to a Revision. You didn’t ask for ‘which cloud’ on the sheet, but only which sheet has what revisions… ergo this might be a more direct route. If you want to go from the cloud elements back, two thoughts:

  1. Careful, this skips all “additional revisions added to sheet” values.
  2. This is a much slower task as there is a much longer walk; speed is going to be less then pulling the known properties.