mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 06:58:56 +00:00
closes #4006: automatically update the geometry of all the objects that have 'similar openings'.
This commit is contained in:
@@ -769,6 +769,7 @@ class EditOpenings(Operator, tool.Ifc.Operator):
|
|||||||
for opening in openings:
|
for opening in openings:
|
||||||
similar_openings = [o for o in all_openings if o.ObjectPlacement == opening.ObjectPlacement]
|
similar_openings = [o for o in all_openings if o.ObjectPlacement == opening.ObjectPlacement]
|
||||||
opening_obj = tool.Ifc.get_object(opening)
|
opening_obj = tool.Ifc.get_object(opening)
|
||||||
|
building_objs.add(obj)
|
||||||
if opening_obj:
|
if opening_obj:
|
||||||
if tool.Ifc.is_edited(opening_obj):
|
if tool.Ifc.is_edited(opening_obj):
|
||||||
tool.Geometry.run_geometry_update_representation(obj=opening_obj)
|
tool.Geometry.run_geometry_update_representation(obj=opening_obj)
|
||||||
@@ -776,9 +777,12 @@ class EditOpenings(Operator, tool.Ifc.Operator):
|
|||||||
blenderbim.core.geometry.edit_object_placement(
|
blenderbim.core.geometry.edit_object_placement(
|
||||||
tool.Ifc, tool.Geometry, tool.Surveyor, obj=opening_obj
|
tool.Ifc, tool.Geometry, tool.Surveyor, obj=opening_obj
|
||||||
)
|
)
|
||||||
for similar_opening in similar_openings:
|
for similar_opening in similar_openings:
|
||||||
similar_opening.ObjectPlacement = opening.ObjectPlacement
|
similar_opening.ObjectPlacement = opening.ObjectPlacement
|
||||||
building_objs.add(obj)
|
element = similar_opening.VoidsElements[0].RelatingBuildingElement
|
||||||
|
obj = tool.Ifc.get_object(element)
|
||||||
|
building_objs.add(obj)
|
||||||
|
|
||||||
building_objs.update(self.get_all_building_objects_of_similar_openings(opening))
|
building_objs.update(self.get_all_building_objects_of_similar_openings(opening))
|
||||||
tool.Ifc.unlink(element=opening, obj=opening_obj)
|
tool.Ifc.unlink(element=opening, obj=opening_obj)
|
||||||
bpy.data.objects.remove(opening_obj)
|
bpy.data.objects.remove(opening_obj)
|
||||||
|
|||||||
Reference in New Issue
Block a user