This came up today at work: For a given room, what are the room bounding objects?
Questions like these can easily be solved with RevitPythonShell. So I fired up an RPS shell and came up with the following script:
import clr clr.AddReference('RevitAPI') from Autodesk.Revit.DB.Architecture import Room from Autodesk.Revit.DB import Wall sel = __revit__.ActiveUIDocument.Selection.Elements rooms = [e for e in sel if type(e) is Room] for room in rooms: for bsa in room.Boundary: # bsa = BoundarySegmentArray for bs in bsa: # bs = BoundarySegment print bs.Element
This gets you quite close. I added a featured script to the RPS site that can be used as an RPS command and prints the element id for boundary segments that are model elements.