def tag_all_spaces(): spaces = DB.FilteredElementCollector(revit.doc)\ .OfCategory(DB.BuiltInCategory.OST_MEPSpaces)\ .WhereElementIsNotElementType()\ .ToElements() with revit.Transaction('Tag All Spaces in All Views'): for view in views: for el in spaces: space_center = GetElementCenter(el) if not space_center: logger.debug('Can not detect center for element: {}', output.linkify(el.Id)) continue if isinstance(view, (DB.ViewSection, DB.ViewPlan)): logger.debug('Working on view: %s', revit.query.get_name(view)) space_tag = \ revit.doc.Create.NewRoomTag( DB.LinkElementId(el.Id), DB.UV(space_center.X, space_center.Y), view.Id ) if isinstance(view, DB.ViewSection): space_tag.Location.Move(DB.XYZ(0, 0, space_center.Z))
def tag_all_rooms(): rooms = DB.FilteredElementCollector(revit.doc)\ .OfCategory(DB.BuiltInCategory.OST_Rooms)\ .WhereElementIsNotElementType()\ .ToElements() with revit.Transaction('Tag All Rooms in All Views'): for view in views: for el in rooms: room_center = GetElementCenter(el) if not room_center: logger.debug('Can not detect center for element: {}', output.linkify(el.Id)) continue if isinstance(view, (DB.ViewSection, DB.ViewPlan)): logger.debug('Working on view: %s' % view.ViewName) room_tag = \ revit.doc.Create.NewRoomTag( DB.LinkElementId(el.Id), DB.UV(room_center.X, room_center.Y), view.Id ) if isinstance(view, DB.ViewSection): room_tag.Location.Move(DB.XYZ(0, 0, room_center.Z))