From 7cb163efef50e1349d11c02a904af48dc416108d Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Mon, 19 Jul 2021 20:16:47 +1000 Subject: [PATCH] New print object placement debug feature --- .../blenderbim/bim/module/debug/__init__.py | 1 + .../blenderbim/bim/module/debug/operator.py | 11 +++++++++++ src/blenderbim/blenderbim/bim/module/debug/ui.py | 3 +++ 3 files changed, 15 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/debug/__init__.py b/src/blenderbim/blenderbim/bim/module/debug/__init__.py index e13cdf8acc..4522ae260a 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/debug/__init__.py @@ -3,6 +3,7 @@ from . import ui, prop, operator classes = ( operator.PrintIfcFile, + operator.PrintObjectPlacement, operator.ValidateIfcFile, operator.ProfileImportIFC, operator.CreateAllShapes, diff --git a/src/blenderbim/blenderbim/bim/module/debug/operator.py b/src/blenderbim/blenderbim/bim/module/debug/operator.py index b9199db361..a4d2d18a91 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/operator.py +++ b/src/blenderbim/blenderbim/bim/module/debug/operator.py @@ -1,6 +1,7 @@ import bpy import logging import ifcopenshell +import ifcopenshell.util.placement import blenderbim.bim.import_ifc as import_ifc from blenderbim.bim.ifc import IfcStore @@ -191,3 +192,13 @@ class InspectFromObject(bpy.types.Operator): return {"FINISHED"} bpy.ops.bim.inspect_from_step_id(step_id=ifc_definition_id) return {"FINISHED"} + + +class PrintObjectPlacement(bpy.types.Operator): + bl_idname = "bim.print_object_placement" + bl_label = "Print Object Placement" + step_id: bpy.props.IntProperty() + + def execute(self, context): + print(ifcopenshell.util.placement.get_local_placement(IfcStore.get_file().by_id(self.step_id))) + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/debug/ui.py b/src/blenderbim/blenderbim/bim/module/debug/ui.py index 5519f6dd86..b91212c283 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/ui.py +++ b/src/blenderbim/blenderbim/bim/module/debug/ui.py @@ -59,6 +59,9 @@ class BIM_PT_debug(Panel): if attribute.name == "GlobalId": op = row.operator("bim.select_global_id", icon="RESTRICT_SELECT_OFF", text="") op.global_id = attribute.string_value + if attribute.name == "ObjectPlacement": + op = row.operator("bim.print_object_placement", icon="TRACKER", text="") + op.step_id = attribute.int_value if attribute.int_value: row.operator( "bim.inspect_from_step_id", icon="DISCLOSURE_TRI_RIGHT", text=""