From b9cb1ab012f0653144993289116b58474867849e Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 3 Sep 2022 15:34:52 +1000 Subject: [PATCH] Black --- src/blenderbim/blenderbim/bim/helper.py | 9 +++++---- src/blenderbim/blenderbim/bim/ifc.py | 1 - src/blenderbim/blenderbim/bim/module/model/prop.py | 5 +++-- .../blenderbim/bim/module/model/workspace.py | 8 ++++---- .../blenderbim/bim/module/project/operator.py | 2 +- src/blenderbim/blenderbim/bim/module/project/prop.py | 4 +++- src/blenderbim/blenderbim/bim/module/resource/prop.py | 1 + .../blenderbim/bim/module/search/operator.py | 4 +++- src/blenderbim/blenderbim/bim/module/sequence/prop.py | 2 ++ src/blenderbim/blenderbim/bim/module/sequence/ui.py | 11 ++++++++--- src/blenderbim/blenderbim/core/sequence.py | 1 + src/blenderbim/scripts/obj2ifc-meshlab.py | 7 ++++++- src/blenderbim/test/core/test_sequence.py | 1 + 13 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/helper.py b/src/blenderbim/blenderbim/bim/helper.py index e1190d0f37..557aca2eb9 100644 --- a/src/blenderbim/blenderbim/bim/helper.py +++ b/src/blenderbim/blenderbim/bim/helper.py @@ -48,9 +48,9 @@ def draw_attribute(attribute, layout, copy_operator=None): text=attribute.name, ) if "ScheduleDuration" in attribute.name: - layout.prop(bpy.context.scene.BIMDuration, "duration_days",text="D") - layout.prop(bpy.context.scene.BIMDuration, "duration_hours",text="H") - layout.prop(bpy.context.scene.BIMDuration, "duration_minutes",text="M") + layout.prop(bpy.context.scene.BIMDuration, "duration_days", text="D") + layout.prop(bpy.context.scene.BIMDuration, "duration_hours", text="H") + layout.prop(bpy.context.scene.BIMDuration, "duration_minutes", text="M") if attribute.is_optional: layout.prop(attribute, "is_null", icon="RADIOBUT_OFF" if attribute.is_null else "RADIOBUT_ON", text="") @@ -103,7 +103,8 @@ def import_attribute(attribute, props, data, callback=None): new.enum_items = json.dumps(ifcopenshell.util.attribute.get_enum_items(attribute)) if data[attribute.name()]: new.enum_value = data[attribute.name()] - + + def export_attributes(props, callback=None): attributes = {} for prop in props: diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index 8f020bfbe1..375d1cce27 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -234,7 +234,6 @@ class IfcStore: data["guid"] = element.GlobalId IfcStore.commit_link_element(data) - @staticmethod def relink_all_objects(): if not IfcStore.get_file(): diff --git a/src/blenderbim/blenderbim/bim/module/model/prop.py b/src/blenderbim/blenderbim/bim/module/model/prop.py index 0b345db3fe..4f71344028 100644 --- a/src/blenderbim/blenderbim/bim/module/model/prop.py +++ b/src/blenderbim/blenderbim/bim/module/model/prop.py @@ -101,8 +101,9 @@ def update_preview_multiple(self, context): class BIMModelProperties(PropertyGroup): ifc_class: bpy.props.EnumProperty(items=get_ifc_class, name="Construction Class", update=update_ifc_class) - ifc_class_browser: bpy.props.EnumProperty(items=get_ifc_class, name="Construction Class", - update=update_ifc_class_browser) + ifc_class_browser: bpy.props.EnumProperty( + items=get_ifc_class, name="Construction Class", update=update_ifc_class_browser + ) relating_type: bpy.props.StringProperty(update=update_relating_type_by_name) relating_type_id: bpy.props.EnumProperty( items=get_relating_type, name="Construction Type", update=update_relating_type diff --git a/src/blenderbim/blenderbim/bim/module/model/workspace.py b/src/blenderbim/blenderbim/bim/module/model/workspace.py index 684a5b3142..cc0a9e850d 100644 --- a/src/blenderbim/blenderbim/bim/module/model/workspace.py +++ b/src/blenderbim/blenderbim/bim/module/model/workspace.py @@ -66,10 +66,10 @@ class BimTool(WorkSpaceTool): if not AuthoringData.is_loaded: AuthoringData.load() - ifc_classes = AuthoringData.data[ - "ifc_classes"] if "ifc_classes" in AuthoringData.data else False - relating_types_ids = AuthoringData.data[ - "relating_types_ids"] if "relating_types_ids" in AuthoringData.data else False + ifc_classes = AuthoringData.data["ifc_classes"] if "ifc_classes" in AuthoringData.data else False + relating_types_ids = ( + AuthoringData.data["relating_types_ids"] if "relating_types_ids" in AuthoringData.data else False + ) if ifc_classes and relating_types_ids and not props.icon_id: # hack Dion won't like to show a preview also on the first time the sidebar is shown diff --git a/src/blenderbim/blenderbim/bim/module/project/operator.py b/src/blenderbim/blenderbim/bim/module/project/operator.py index 30e08ad57c..0078db5309 100644 --- a/src/blenderbim/blenderbim/bim/module/project/operator.py +++ b/src/blenderbim/blenderbim/bim/module/project/operator.py @@ -795,7 +795,7 @@ class ToggleLinkVisibility(bpy.types.Operator): link.is_hidden = layer_collection.exclude def get_linked_collections(self): - return [ + return [ c for c in bpy.data.collections if "IfcProject" in c.name and c.library and c.library.filepath == self.link ] diff --git a/src/blenderbim/blenderbim/bim/module/project/prop.py b/src/blenderbim/blenderbim/bim/module/project/prop.py index 9f3f09d94c..f850cce247 100644 --- a/src/blenderbim/blenderbim/bim/module/project/prop.py +++ b/src/blenderbim/blenderbim/bim/module/project/prop.py @@ -159,7 +159,9 @@ class BIMProjectProperties(PropertyGroup): false_origin: StringProperty(name="False Origin", default="0,0,0") element_offset: IntProperty(name="Element Offset", default=0) element_limit: IntProperty(name="Element Offset", default=30000) - should_disable_undo_on_save: BoolProperty(name="Disable Undo When Saving (Faster saves, no undo for you!)", default=False) + should_disable_undo_on_save: BoolProperty( + name="Disable Undo When Saving (Faster saves, no undo for you!)", default=False + ) links: CollectionProperty(name="Links", type=Link) active_link_index: IntProperty(name="Active Link Index") export_schema: EnumProperty(items=get_export_schema, name="IFC Schema") diff --git a/src/blenderbim/blenderbim/bim/module/resource/prop.py b/src/blenderbim/blenderbim/bim/module/resource/prop.py index 0a81516cd1..789bd9985c 100644 --- a/src/blenderbim/blenderbim/bim/module/resource/prop.py +++ b/src/blenderbim/blenderbim/bim/module/resource/prop.py @@ -74,6 +74,7 @@ def get_quantity_types(self, context): def update_active_resource_index(self, context): blenderbim.bim.module.pset.data.refresh() + class Resource(PropertyGroup): name: StringProperty(name="Name", update=updateResourceName) ifc_definition_id: IntProperty(name="IFC Definition ID") diff --git a/src/blenderbim/blenderbim/bim/module/search/operator.py b/src/blenderbim/blenderbim/bim/module/search/operator.py index 72276fc261..493de1acab 100644 --- a/src/blenderbim/blenderbim/bim/module/search/operator.py +++ b/src/blenderbim/blenderbim/bim/module/search/operator.py @@ -548,7 +548,8 @@ class FilterModelElements(Operator): if obj.BIMObjectProperties.ifc_definition_id in sel_element_ids: obj.hide_set(True) -#This needs to be moved into ui code, I know ;) - vulevukusej + +# This needs to be moved into ui code, I know ;) - vulevukusej class IfcSelector(Operator): """Select elements in model with IFC Selector""" @@ -567,6 +568,7 @@ class IfcSelector(Operator): def draw(self, context): from . import ui + ui.IfcSelectorUI.draw(context, self.layout) diff --git a/src/blenderbim/blenderbim/bim/module/sequence/prop.py b/src/blenderbim/blenderbim/bim/module/sequence/prop.py index b305a0ba0c..78eb025548 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/prop.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/prop.py @@ -351,11 +351,13 @@ class BIMWorkScheduleProperties(PropertyGroup): task_outputs: CollectionProperty(name="Task Outputs", type=TaskProduct) active_task_output_index: IntProperty(name="Active Task Output Index") + class BIMDuration(PropertyGroup): duration_days: IntProperty(name="Days ") duration_hours: IntProperty(name="Hours") duration_minutes: IntProperty(name="Minutes") + class BIMTaskTreeProperties(PropertyGroup): # This belongs by itself for performance reasons. https://developer.blender.org/T87737 # In Blender if you add many collection items it makes other property access in the same group really slow. diff --git a/src/blenderbim/blenderbim/bim/module/sequence/ui.py b/src/blenderbim/blenderbim/bim/module/sequence/ui.py index 161cd894f4..7095f6837c 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/ui.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/ui.py @@ -733,15 +733,20 @@ class BIM_PT_work_calendars(Panel): def draw_editable_ui(self): draw_attributes(self.props.work_calendar_attributes, self.layout) + class BIM_PT_SequenceToolKit(Panel): bl_label = "Sequence Toolkit" bl_idname = "BIM_PT_Sequence_toolkit" bl_space_type = "VIEW_3D" bl_region_type = "UI" bl_category = "Sequence Toolkit" - + def draw(self, context): row = self.layout.row() - row.operator("bim.highlight_product_related_task", text="Go to Input-related Task ", icon="STYLUS_PRESSURE").product_type = "Input" + row.operator( + "bim.highlight_product_related_task", text="Go to Input-related Task ", icon="STYLUS_PRESSURE" + ).product_type = "Input" row = self.layout.row() - row.operator("bim.highlight_product_related_task", text="Go to Output-related Task ",icon="STYLUS_PRESSURE").product_type = "Output" \ No newline at end of file + row.operator( + "bim.highlight_product_related_task", text="Go to Output-related Task ", icon="STYLUS_PRESSURE" + ).product_type = "Output" diff --git a/src/blenderbim/blenderbim/core/sequence.py b/src/blenderbim/blenderbim/core/sequence.py index fc81c5ecbc..4ba2fe0841 100644 --- a/src/blenderbim/blenderbim/core/sequence.py +++ b/src/blenderbim/blenderbim/core/sequence.py @@ -110,6 +110,7 @@ def contract_all_tasks(sequence): sequence.create_task_tree(work_schedule) sequence.load_task_properties() + def remove_task(ifc, sequence, task=None): ifc.run("sequence.remove_task", task=task) work_schedule = sequence.get_active_work_schedule() diff --git a/src/blenderbim/scripts/obj2ifc-meshlab.py b/src/blenderbim/scripts/obj2ifc-meshlab.py index bfaf963aa2..81479fca41 100644 --- a/src/blenderbim/scripts/obj2ifc-meshlab.py +++ b/src/blenderbim/scripts/obj2ifc-meshlab.py @@ -51,7 +51,12 @@ class Obj2Ifc: [ self.file.createIfcFaceOuterBound( self.file.createIfcPolyLoop( - [self.file.createIfcCartesianPoint(self.get_coordinates(vertices[index].tolist())) for index in face] + [ + self.file.createIfcCartesianPoint( + self.get_coordinates(vertices[index].tolist()) + ) + for index in face + ] ), True, ) diff --git a/src/blenderbim/test/core/test_sequence.py b/src/blenderbim/test/core/test_sequence.py index cac866e266..f1ee23d8ff 100644 --- a/src/blenderbim/test/core/test_sequence.py +++ b/src/blenderbim/test/core/test_sequence.py @@ -53,4 +53,5 @@ class TestEditWorkPlan: sequence.disable_editing_work_plan().should_be_called() subject.edit_work_plan(ifc, sequence, work_plan="work_plan") + # TODO continue writing tests