From 596e63e7e7a8442915c4da3737809742f70ac7ca Mon Sep 17 00:00:00 2001 From: M!l!nd <99114125+milinddethe15@users.noreply.github.com> Date: Mon, 18 Mar 2024 15:44:15 +0530 Subject: [PATCH] fixed qsets to display separately (#4423) * fixed qsets to display separately Signed-off-by: milinddethe15 * updated data.py and run black formattor --------- Signed-off-by: milinddethe15 --- .../blenderbim/bim/module/pset/data.py | 18 +++++++++++++++--- .../blenderbim/bim/module/pset/ui.py | 8 +++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/pset/data.py b/src/blenderbim/blenderbim/bim/module/pset/data.py index 739b1d7c97..415ae1f5d9 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/data.py +++ b/src/blenderbim/blenderbim/bim/module/pset/data.py @@ -80,10 +80,10 @@ class ObjectPsetsData(Data): def inherited_psets(cls): element = tool.Ifc.get_entity(bpy.context.active_object) if element.is_a("IfcTypeObject"): - return + return [] element_type = ifcopenshell.util.element.get_type(element) if element_type: - return cls.psetqtos(element_type) + return cls.psetqtos(element_type, psets_only=True) @classmethod def pset_name(cls): @@ -125,9 +125,21 @@ class ObjectQtosData(Data): @classmethod def load(cls): - cls.data = {"qtos": cls.psetqtos(tool.Ifc.get_entity(bpy.context.active_object), qtos_only=True)} + cls.data = { + "qtos": cls.psetqtos(tool.Ifc.get_entity(bpy.context.active_object), qtos_only=True), + "inherited_qsets": cls.inherited_qsets(), + } cls.is_loaded = True + @classmethod + def inherited_qsets(cls): + element = tool.Ifc.get_entity(bpy.context.active_object) + if element.is_a("IfcTypeObject"): + return [] + element_type = ifcopenshell.util.element.get_type(element) + if element_type: + return cls.psetqtos(element_type, qtos_only=True) + class MaterialPsetsData(Data): data = {} diff --git a/src/blenderbim/blenderbim/bim/module/pset/ui.py b/src/blenderbim/blenderbim/bim/module/pset/ui.py index 549a9fbe18..58bcb28615 100644 --- a/src/blenderbim/blenderbim/bim/module/pset/ui.py +++ b/src/blenderbim/blenderbim/bim/module/pset/ui.py @@ -33,7 +33,6 @@ from blenderbim.bim.module.pset.data import ( GroupPsetData, ProfilePsetsData, WorkSchedulePsetsData, - ) @@ -249,6 +248,11 @@ class BIM_PT_object_qtos(Panel): for qto in ObjectQtosData.data["qtos"]: draw_psetqto_ui(context, qto["id"], qto, props, self.layout, "Object") + if ObjectQtosData.data["inherited_qsets"]: + self.layout.label(text="Inherited Qsets:", icon="FILE_PARENT") + for qset in ObjectQtosData.data["inherited_qsets"]: + draw_psetqto_ui(context, qset["id"], qset, props, self.layout, "Object") + class BIM_PT_material_psets(Panel): bl_label = "Material Property Sets" @@ -541,8 +545,6 @@ class BIM_PT_group_psets(Panel): draw_psetqto_ui(context, pset["id"], pset, props, self.layout, "Group") - - class BIM_PT_profile_psets(Panel): bl_label = "Profile Property Sets" bl_idname = "BIM_PT_profile_psets"