diff --git a/src/blenderbim/blenderbim/bim/module/debug/__init__.py b/src/blenderbim/blenderbim/bim/module/debug/__init__.py index 1c0de63341..74d59a6eec 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/debug/__init__.py @@ -20,18 +20,19 @@ import bpy from . import ui, prop, operator classes = ( + operator.ConvertToBlender, operator.CopyDebugInformation, operator.CreateAllShapes, operator.CreateShapeFromStepId, operator.InspectFromObject, operator.InspectFromStepId, + operator.OverrideDisplayType, operator.ParseExpress, operator.PrintIfcFile, operator.PrintObjectPlacement, operator.ProfileImportIFC, operator.PurgeHdf5Cache, operator.PurgeIfcLinks, - operator.ConvertToBlender, operator.RewindInspector, operator.SelectExpressFile, operator.SelectHighPolygonMeshes, diff --git a/src/blenderbim/blenderbim/bim/module/debug/operator.py b/src/blenderbim/blenderbim/bim/module/debug/operator.py index 9eecda3251..32cfbce6d3 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/operator.py +++ b/src/blenderbim/blenderbim/bim/module/debug/operator.py @@ -443,3 +443,14 @@ class PurgeHdf5Cache(bpy.types.Operator): def execute(self, context): core.purge_hdf5_cache(tool.Debug) return {"FINISHED"} + + +class OverrideDisplayType(bpy.types.Operator): + bl_idname = "bim.override_display_type" + bl_label = "Override Display Type" + display: bpy.props.StringProperty() + + def execute(self, context): + for obj in context.selected_objects: + obj.display_type = self.display + return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/bim/module/debug/prop.py b/src/blenderbim/blenderbim/bim/module/debug/prop.py index 08e7699a61..0825b0f0f6 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/prop.py +++ b/src/blenderbim/blenderbim/bim/module/debug/prop.py @@ -40,3 +40,13 @@ class BIMDebugProperties(PropertyGroup): inverse_attributes: CollectionProperty(name="Inverse Attributes", type=Attribute) inverse_references: CollectionProperty(name="Inverse References", type=Attribute) express_file: StringProperty(name="Express File") + display_type: EnumProperty( + items=[ + ("BOUNDS", "Bounds", ""), + ("WIRE", "Wire", ""), + ("SOLID", "Solid", ""), + ("TEXTURED", "Textured", ""), + ], + name="Display Type", + default="BOUNDS", + ) diff --git a/src/blenderbim/blenderbim/bim/module/debug/ui.py b/src/blenderbim/blenderbim/bim/module/debug/ui.py index e8629f7854..205c08f480 100644 --- a/src/blenderbim/blenderbim/bim/module/debug/ui.py +++ b/src/blenderbim/blenderbim/bim/module/debug/ui.py @@ -83,6 +83,10 @@ class BIM_PT_debug(Panel): ).percentile = context.scene.BIMDebugProperties.percentile_of_polygons row.prop(props, "percentile_of_polygons", text="") + row = layout.split(factor=0.5, align=True) + row.prop(props, "display_type", text="") + row.operator("bim.override_display_type").display = context.scene.BIMDebugProperties.display_type + if context.active_object and context.active_object.data: mprops = context.active_object.data.BIMMeshProperties row = layout.row()