From 3b64350a3f484558b8a9674207a5220a38bebd3e Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 27 Sep 2024 11:08:49 +0500 Subject: [PATCH] bim.create_shape_from_step_id to include ifc class and id to object name --- src/bonsai/bonsai/bim/module/debug/operator.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/debug/operator.py b/src/bonsai/bonsai/bim/module/debug/operator.py index 415db7d2b3..b967f8b332 100644 --- a/src/bonsai/bonsai/bim/module/debug/operator.py +++ b/src/bonsai/bonsai/bim/module/debug/operator.py @@ -246,13 +246,16 @@ class CreateShapeFromStepId(bpy.types.Operator): @classmethod def poll(cls, context): - return IfcStore.get_file() + if not tool.Ifc.get(): + cls.poll_message_set("No IFC file is loaded.") + return False + return True def execute(self, context): geometry_library = self.custom_geometry_library or self.geometry_library logger = logging.getLogger("ImportIFC") self.ifc_import_settings = import_ifc.IfcImportSettings.factory(context, IfcStore.path, logger) - self.file = IfcStore.get_file() + self.file = tool.Ifc.get() element = self.file.by_id(self.step_id or int(context.scene.BIMDebugProperties.step_id)) settings = ifcopenshell.geom.settings() settings.set("keep-bounding-boxes", True) @@ -265,7 +268,7 @@ class CreateShapeFromStepId(bpy.types.Operator): mesh = ifc_importer.create_mesh(element, shape) else: mesh = None - obj = bpy.data.objects.new("Debug", mesh) + obj = bpy.data.objects.new(f"Debug/{element.is_a()}/{element.id()}", mesh) context.scene.collection.objects.link(obj) return {"FINISHED"}