Skip to content

Commit 6643115

Browse files
committed
fixes IfcOpenShell#3908: Close the opening (bim.edit_openings) while having the opening selected
1 parent dd044c8 commit 6643115

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/blenderbim/blenderbim/bim/module/model/opening.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,9 @@ def _execute(self, context):
732732
element = tool.Ifc.get_entity(obj)
733733
if not element:
734734
continue
735+
if element.is_a("IfcOpeningElement"):
736+
element = element.VoidsElements[0].RelatingBuildingElement
737+
obj = tool.Ifc.get_object(element)
735738
openings = [r.RelatedOpeningElement for r in element.HasOpenings]
736739
for opening in openings:
737740
opening_obj = tool.Ifc.get_object(opening)
@@ -759,6 +762,9 @@ def _execute(self, context):
759762
element = tool.Ifc.get_entity(obj)
760763
if not element:
761764
continue
765+
if element.is_a("IfcOpeningElement"):
766+
element = element.VoidsElements[0].RelatingBuildingElement
767+
obj = tool.Ifc.get_object(element)
762768
openings = [r.RelatedOpeningElement for r in element.HasOpenings]
763769
for opening in openings:
764770
similar_openings = [o for o in all_openings if o.ObjectPlacement == opening.ObjectPlacement]

src/blenderbim/blenderbim/bim/module/model/workspace.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,11 +427,14 @@ def draw_edit_object_interface(cls, context):
427427
row.operator("bim.show_openings", icon="HIDE_OFF", text="")
428428

429429
if AuthoringData.data["active_class"] in ("IfcOpeningElement",):
430+
row.operator("bim.edit_openings", icon="CHECKMARK", text="")
431+
row.operator("bim.hide_openings", icon="CANCEL", text="")
430432
if len(context.selected_objects) == 2:
431433
row = cls.layout.row(align=True)
432434
row.label(text="", icon="EVENT_SHIFT")
433435
row.label(text="", icon="EVENT_L")
434436
row.operator("bim.clone_opening", text="Clone Opening")
437+
435438

436439
cls.layout.row(align=True).label(text="Align")
437440
add_layout_hotkey_operator(cls.layout, "Align Exterior", "S_X", "")

0 commit comments

Comments
 (0)