From 44491c61674db799a699ec20cdc3c0cced3a2083 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 26 Nov 2019 21:05:05 +1100 Subject: [PATCH] Make the audit class a drop down in the panel UI --- src/ifcblenderexport/blenderbim/operator.py | 8 +++++--- src/ifcblenderexport/blenderbim/prop.py | 1 + src/ifcblenderexport/blenderbim/ui.py | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ifcblenderexport/blenderbim/operator.py b/src/ifcblenderexport/blenderbim/operator.py index 0cb8df6c07..d8db6720df 100644 --- a/src/ifcblenderexport/blenderbim/operator.py +++ b/src/ifcblenderexport/blenderbim/operator.py @@ -189,9 +189,11 @@ class ApproveClass(bpy.types.Operator): def execute(self, context): with open(bpy.context.scene.BIMProperties.data_dir + 'audit.txt', 'a') as file: for object in bpy.context.selected_objects: + index = object.BIMObjectProperties.attributes.find('GlobalId') + if index == -1: + continue file.write('Then the element {} is an {}\n'.format( - object.BIMObjectProperties.attributes[ - object.BIMObjectProperties.attributes.find('GlobalId')].string_value, + object.BIMObjectProperties.attributes[index].string_value, object.name.split('/')[0])) return {'FINISHED'} @@ -205,7 +207,7 @@ class RejectClass(bpy.types.Operator): file.write('Then the element {} is an {}\n'.format( object.BIMObjectProperties.attributes[ object.BIMObjectProperties.attributes.find('GlobalId')].string_value, - bpy.context.scene.BIMProperties.ifc_class)) + bpy.context.scene.BIMProperties.audit_ifc_class)) return {'FINISHED'} class RejectElement(bpy.types.Operator): diff --git a/src/ifcblenderexport/blenderbim/prop.py b/src/ifcblenderexport/blenderbim/prop.py index a460cee3ac..a01f8c3390 100644 --- a/src/ifcblenderexport/blenderbim/prop.py +++ b/src/ifcblenderexport/blenderbim/prop.py @@ -129,6 +129,7 @@ def getApplicableDocuments(self, context): class BIMProperties(PropertyGroup): schema_dir: StringProperty(default=os.path.join(cwd ,'schema') + os.path.sep, name="Schema Directory") data_dir: StringProperty(default=os.path.join(cwd, 'data') + os.path.sep, name="Data Directory") + audit_ifc_class: EnumProperty(items=getIfcClasses, name="Audit Class") ifc_class: EnumProperty(items=getIfcClasses, name="Class", update=refreshPredefinedTypes) ifc_predefined_type: EnumProperty( items = getIfcPredefinedTypes, diff --git a/src/ifcblenderexport/blenderbim/ui.py b/src/ifcblenderexport/blenderbim/ui.py index 83a5b79b3b..3a997ade1e 100644 --- a/src/ifcblenderexport/blenderbim/ui.py +++ b/src/ifcblenderexport/blenderbim/ui.py @@ -292,6 +292,9 @@ class BIM_PT_qa(Panel): row.operator("bim.colour_by_class") row.operator("bim.reset_object_colours") + row = layout.row() + row.prop(bim_properties, "audit_ifc_class") + row = layout.row(align=True) row.operator("bim.approve_class") row.operator("bim.reject_class")