Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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))