From 0544bbc8869d56f5496bd44431f5670d7c96d1c3 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 29 Jun 2024 21:39:38 +1000 Subject: [PATCH] Temporarily disable material listeners as they need to be rewritten anyway (ideally without listeners) with the new style system At least now we can create types for testing --- src/blenderbim/blenderbim/bim/module/model/product.py | 2 ++ src/blenderbim/blenderbim/bim/module/project/ui.py | 1 - src/blenderbim/blenderbim/bim/module/type/operator.py | 11 ++--------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/model/product.py b/src/blenderbim/blenderbim/bim/module/model/product.py index b7dfa0e510..a371cbadcd 100644 --- a/src/blenderbim/blenderbim/bim/module/model/product.py +++ b/src/blenderbim/blenderbim/bim/module/model/product.py @@ -514,6 +514,7 @@ def regenerate_profile_usage(usecase_path, ifc_file, settings): def ensure_material_assigned(usecase_path: str, ifc_file: ifcopenshell.file, settings: dict[str, Any]) -> None: + return # TODO ensure this now works with the new approach of styles elements = settings["products"] material = settings.get("material") if material: @@ -544,6 +545,7 @@ def ensure_material_assigned(usecase_path: str, ifc_file: ifcopenshell.file, set def ensure_material_unassigned(usecase_path: str, ifc_file: ifcopenshell.file, settings: dict[str, Any]) -> None: + return # TODO ensure this now works with the new approach of styles elements = settings["products"] # unassign_material could be called when product is about to get removed diff --git a/src/blenderbim/blenderbim/bim/module/project/ui.py b/src/blenderbim/blenderbim/bim/module/project/ui.py index c6fabef9e1..62a5b38123 100644 --- a/src/blenderbim/blenderbim/bim/module/project/ui.py +++ b/src/blenderbim/blenderbim/bim/module/project/ui.py @@ -264,7 +264,6 @@ class BIM_PT_project(Panel): row = self.layout.row(align=True) row.prop(props, "ifc_file", text="") row.operator("bim.select_ifc_file", icon="FILE_FOLDER", text="") - row.operator("bim.unload_project", text="", icon="CANCEL") class BIM_PT_new_project_wizard(Panel): diff --git a/src/blenderbim/blenderbim/bim/module/type/operator.py b/src/blenderbim/blenderbim/bim/module/type/operator.py index 7842c67155..f3ce40a885 100644 --- a/src/blenderbim/blenderbim/bim/module/type/operator.py +++ b/src/blenderbim/blenderbim/bim/module/type/operator.py @@ -310,7 +310,7 @@ class AddType(bpy.types.Operator, tool.Ifc.Operator): if materials: material = materials[0] # Arbitrarily pick a material else: - material = self.add_default_material() + material = ifcopenshell.api.run("material.add_material", tool.Ifc.get(), name="Unknown") rel = ifcopenshell.api.run( "material.assign_material", ifc_file, products=[element], type="IfcMaterialLayerSet" ) @@ -344,7 +344,7 @@ class AddType(bpy.types.Operator, tool.Ifc.Operator): if materials: material = materials[0] # Arbitrarily pick a material else: - material = self.add_default_material() + material = ifcopenshell.api.run("material.add_material", tool.Ifc.get(), name="Unknown") if template == "PROFILESET": named_profiles = [p for p in ifc_file.by_type("IfcProfileDef") if p.ProfileName] if named_profiles: @@ -495,13 +495,6 @@ class AddType(bpy.types.Operator, tool.Ifc.Operator): props.type_class = props.type_class return {"FINISHED"} - def add_default_material(self): - material = ifcopenshell.api.run("material.add_material", tool.Ifc.get(), name="Unknown") - blender_material = bpy.data.materials.new(material.Name) - tool.Ifc.link(material, blender_material) - blender_material.use_fake_user = True - return material - class RemoveType(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.remove_type"