Skip to content

Commit fe8f885

Browse files
authored
Merge pull request #2618 from pyrevitlabs/fix-2604
fix #2604 - Select - Find and select entities without dimensions - Not working on Revit 2024
2 parents cad69b6 + 6ccb87d commit fe8f885

File tree

1 file changed

+33
-33
lines changed
  • extensions/pyRevitTools.extension/pyRevit.tab/Selection.panel/select.stack/Select.pulldown/Find And Select Entities Without Dimensions.pushbutton

1 file changed

+33
-33
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,60 @@
11
"""Selects elements with no associated dimensions in current view."""
2-
#pylint: disable=import-error,invalid-name
2+
3+
# pylint: disable=import-error,invalid-name
34
from pyrevit import revit, DB, HOST_APP
45
from pyrevit import forms
5-
from pyrevit.compat import get_elementid_value_func
66

77
categories = {
8-
'Rooms': DB.BuiltInCategory.OST_Rooms,
9-
'Areas': DB.BuiltInCategory.OST_Areas,
10-
'Spaces': DB.BuiltInCategory.OST_MEPSpaces,
11-
'Doors': DB.BuiltInCategory.OST_Doors,
12-
'Windows': DB.BuiltInCategory.OST_Windows,
13-
'Speciality Equipment': DB.BuiltInCategory.OST_SpecialityEquipment,
14-
'Mechanical Equipment': DB.BuiltInCategory.OST_MechanicalEquipment,
15-
'Electrical Equipment': DB.BuiltInCategory.OST_ElectricalEquipment,
16-
'Walls': DB.BuiltInCategory.OST_Walls,
17-
'Curtain Walls': DB.BuiltInCategory.OST_CurtainWallPanels,
18-
'Ceilings': DB.BuiltInCategory.OST_Ceilings,
19-
'Columns': DB.BuiltInCategory.OST_StructuralColumns,
20-
}
21-
22-
get_elementid_value = get_elementid_value_func()
8+
"Rooms": DB.BuiltInCategory.OST_Rooms,
9+
"Areas": DB.BuiltInCategory.OST_Areas,
10+
"Spaces": DB.BuiltInCategory.OST_MEPSpaces,
11+
"Doors": DB.BuiltInCategory.OST_Doors,
12+
"Windows": DB.BuiltInCategory.OST_Windows,
13+
"Speciality Equipment": DB.BuiltInCategory.OST_SpecialityEquipment,
14+
"Mechanical Equipment": DB.BuiltInCategory.OST_MechanicalEquipment,
15+
"Electrical Equipment": DB.BuiltInCategory.OST_ElectricalEquipment,
16+
"Walls": DB.BuiltInCategory.OST_Walls,
17+
"Curtain Walls": DB.BuiltInCategory.OST_CurtainWallPanels,
18+
"Ceilings": DB.BuiltInCategory.OST_Ceilings,
19+
"Columns": DB.BuiltInCategory.OST_StructuralColumns,
20+
}
2321

2422
# make sure active view is not a sheet
2523
if isinstance(revit.active_view, DB.ViewSheet):
26-
forms.alert("You're on a Sheet. Activate a model view please.",
27-
exitscript=True)
24+
forms.alert("You're on a Sheet. Activate a model view please.", exitscript=True)
2825

29-
selected_switch = \
30-
forms.CommandSwitchWindow.show(
31-
sorted(categories),
32-
message='Find undimmed elements of category:')
26+
selected_switch = forms.CommandSwitchWindow.show(
27+
sorted(categories), message="Find undimmed elements of category:"
28+
)
3329

3430
if selected_switch:
3531
target = categories[selected_switch]
3632
selection = revit.get_selection()
37-
all_elements = DB.FilteredElementCollector(revit.doc, revit.active_view.Id)\
38-
.OfCategory(target)\
39-
.WhereElementIsNotElementType()
40-
all_ids = set(get_elementid_value(x.Id) for x in all_elements)
33+
all_elements = (
34+
DB.FilteredElementCollector(revit.doc, revit.active_view.Id)
35+
.OfCategory(target)
36+
.WhereElementIsNotElementType()
37+
)
38+
39+
all_ids = set(x.Id.IntegerValue for x in all_elements)
4140

42-
all_dims = \
43-
DB.FilteredElementCollector(revit.doc, revit.active_view.Id)\
44-
.OfClass(DB.Dimension)\
45-
.WhereElementIsNotElementType()
41+
all_dims = (
42+
DB.FilteredElementCollector(revit.doc, revit.active_view.Id)
43+
.OfClass(DB.Dimension)
44+
.WhereElementIsNotElementType()
45+
)
4646

4747
dimmed_ids = set()
4848
for dim in all_dims:
4949
for ref in dim.References:
5050
if HOST_APP.is_newer_than(2023):
5151
dimmed_ids.add(ref.ElementId.Value)
5252
else:
53-
dimmed_ids.add(get_elementid_value(ref.ElementId))
53+
dimmed_ids.add(ref.ElementId.IntegerValue)
5454

5555
# find non dimmed
5656
not_dimmed_ids = all_ids.difference(dimmed_ids)
5757
if not_dimmed_ids:
5858
selection.set_to(not_dimmed_ids)
5959
else:
60-
forms.alert('All %s have associated dimensions.' % selected_switch)
60+
forms.alert("All %s have associated dimensions." % selected_switch)

0 commit comments

Comments
 (0)