From 1b110c4a8400d9914ebbb91a4a7e3b7d129671f7 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 28 Apr 2025 16:56:27 +0500 Subject: [PATCH] reuse ifc.link for meshes --- src/bonsai/bonsai/bim/module/geometry/operator.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index a67c2430b0..84118af683 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -191,7 +191,6 @@ class OverrideMeshSeparate(bpy.types.Operator, tool.Ifc.Operator): assert False, f"Unexpected representation type: '{representation_type}'." tool.Geometry.name_item_object(obj, item) - tool.Ifc.link(item, obj) tool.Ifc.link(item, obj.data) props.add_item_object(obj, item) return item @@ -2970,7 +2969,7 @@ class AddMeshlikeItem(bpy.types.Operator, tool.Ifc.Operator): representation.Items = list(representation.Items) + [item] tool.Geometry.reload_representation(props.representation_obj) tool.Geometry.name_item_object(obj, item) - tool.Geometry.get_mesh_props(obj.data).ifc_definition_id = item.id() + tool.Ifc.link(item, obj.data) tool.Root.reload_item_decorator() @@ -3019,7 +3018,8 @@ class AddSweptAreaSolidItem(bpy.types.Operator, tool.Ifc.Operator): tool.Geometry.reload_representation(props.representation_obj) tool.Geometry.name_item_object(obj, item) - tool.Geometry.get_mesh_props(obj.data).ifc_definition_id = item.id() + assert isinstance(obj.data, bpy.types.Mesh) + tool.Ifc.link(item, obj.data) tool.Geometry.import_item(obj) tool.Geometry.import_item_attributes(obj) tool.Root.reload_item_decorator() @@ -3090,7 +3090,8 @@ class AddCurvelikeItem(bpy.types.Operator, tool.Ifc.Operator): tool.Geometry.reload_representation(props.representation_obj) tool.Geometry.name_item_object(obj, item) - tool.Geometry.get_mesh_props(obj.data).ifc_definition_id = item.id() + assert isinstance(obj.data, bpy.types.Mesh) + tool.Ifc.link(item, obj.data) tool.Geometry.import_item(obj) tool.Geometry.import_item_attributes(obj) @@ -3139,7 +3140,8 @@ class AddHalfSpaceSolidItem(bpy.types.Operator, tool.Ifc.Operator): tool.Geometry.reload_representation(props.representation_obj) tool.Geometry.name_item_object(obj, item) - tool.Geometry.get_mesh_props(obj.data).ifc_definition_id = item.id() + assert isinstance(obj.data, bpy.types.Mesh) + tool.Ifc.link(item, obj.data) tool.Geometry.import_item(obj) # TODO refactor to core and not rely on selection