mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-15 18:14:08 +00:00
reuse add_tracked_opening
This commit is contained in:
@@ -497,9 +497,7 @@ class AddPotentialOpening(Operator, AddObjectHelper):
|
|||||||
obj.matrix_world = new_matrix
|
obj.matrix_world = new_matrix
|
||||||
|
|
||||||
tool.Model.purge_scene_openings()
|
tool.Model.purge_scene_openings()
|
||||||
|
tool.Root.add_tracked_opening(obj)
|
||||||
new = props.openings.add()
|
|
||||||
new.obj = obj
|
|
||||||
|
|
||||||
DecorationsHandler.install(context)
|
DecorationsHandler.install(context)
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
@@ -511,7 +509,6 @@ class AddPotentialHalfSpaceSolid(Operator, AddObjectHelper):
|
|||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
props = context.scene.BIMModelProperties
|
|
||||||
bm = bmesh.new()
|
bm = bmesh.new()
|
||||||
bmesh.ops.create_grid(bm, size=0.5)
|
bmesh.ops.create_grid(bm, size=0.5)
|
||||||
bm.verts.ensure_lookup_table()
|
bm.verts.ensure_lookup_table()
|
||||||
@@ -524,9 +521,7 @@ class AddPotentialHalfSpaceSolid(Operator, AddObjectHelper):
|
|||||||
obj.name = "HalfSpaceSolid"
|
obj.name = "HalfSpaceSolid"
|
||||||
|
|
||||||
tool.Model.purge_scene_openings()
|
tool.Model.purge_scene_openings()
|
||||||
|
tool.Root.add_tracked_opening(obj)
|
||||||
new = props.openings.add()
|
|
||||||
new.obj = obj
|
|
||||||
|
|
||||||
DecorationsHandler.install(context)
|
DecorationsHandler.install(context)
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
@@ -676,8 +671,7 @@ class ShowBooleans(Operator, tool.Ifc.Operator, AddObjectHelper):
|
|||||||
objects_to_remove.add(existing_booleans[boolean_id])
|
objects_to_remove.add(existing_booleans[boolean_id])
|
||||||
boolean_obj.data.BIMMeshProperties.ifc_boolean_id = boolean_id
|
boolean_obj.data.BIMMeshProperties.ifc_boolean_id = boolean_id
|
||||||
boolean_obj.data.BIMMeshProperties.obj = obj
|
boolean_obj.data.BIMMeshProperties.obj = obj
|
||||||
new = props.openings.add()
|
tool.Root.add_tracked_opening(boolean_obj)
|
||||||
new.obj = boolean_obj
|
|
||||||
booleans_objs.append(boolean_obj)
|
booleans_objs.append(boolean_obj)
|
||||||
|
|
||||||
tool.Blender.remove_data_blocks(objects_to_remove, remove_unused_data=True)
|
tool.Blender.remove_data_blocks(objects_to_remove, remove_unused_data=True)
|
||||||
@@ -862,9 +856,8 @@ class ShowOpenings(Operator, tool.Ifc.Operator):
|
|||||||
for opening in openings_objects:
|
for opening in openings_objects:
|
||||||
self.on_new_opening_obj(opening)
|
self.on_new_opening_obj(opening)
|
||||||
|
|
||||||
def on_new_opening_obj(self, opening_obj):
|
def on_new_opening_obj(self, opening_obj: bpy.types.Object) -> None:
|
||||||
new = bpy.context.scene.BIMModelProperties.openings.add()
|
tool.Root.add_tracked_opening(opening_obj)
|
||||||
new.obj = opening_obj
|
|
||||||
opening_obj.display_type = "WIRE"
|
opening_obj.display_type = "WIRE"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ from bonsai.bim.module.geometry.decorator import ItemDecorator
|
|||||||
class Root(bonsai.core.tool.Root):
|
class Root(bonsai.core.tool.Root):
|
||||||
@classmethod
|
@classmethod
|
||||||
def add_tracked_opening(cls, obj: bpy.types.Object) -> None:
|
def add_tracked_opening(cls, obj: bpy.types.Object) -> None:
|
||||||
|
"""Add tracked opening or boolean object."""
|
||||||
new = bpy.context.scene.BIMModelProperties.openings.add()
|
new = bpy.context.scene.BIMModelProperties.openings.add()
|
||||||
new.obj = obj
|
new.obj = obj
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user