From 4f1e21dfb024fa2aea33eee150e2e6816b6c5bdd Mon Sep 17 00:00:00 2001 From: c4rlosdias Date: Sat, 5 Aug 2023 10:50:27 -0300 Subject: [PATCH 1/2] Add element guId in BCF report --- src/ifctester/ifctester/reporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifctester/ifctester/reporter.py b/src/ifctester/ifctester/reporter.py index ae9e0cd479..0cac09d14d 100644 --- a/src/ifctester/ifctester/reporter.py +++ b/src/ifctester/ifctester/reporter.py @@ -342,7 +342,7 @@ class Bcf(Json): continue for failure in requirement["failed_entities"]: element = failure["element"] - title = f"{element.id()}/{element.is_a()}/" + title = f"ID:[{element.id()}]/GUID:[{element.GlobalId}]/{element.is_a()}/" title += getattr(element, "Name", None) or "Unnamed" title += " - " + failure.get("reason", "No reason") description = f'{specification["name"]} - {requirement["description"]}' From ddd4b0e2621f1abfcf23dbeb145b2297ae8e91ce Mon Sep 17 00:00:00 2001 From: c4rlosdias Date: Mon, 2 Oct 2023 13:49:27 -0300 Subject: [PATCH 2/2] Fix problem in getpsets(facet.py) and added descriptions to specifications (IfcTester) --- src/blenderbim/blenderbim/bim/module/tester/operator.py | 4 +++- src/blenderbim/blenderbim/bim/module/tester/prop.py | 1 + src/blenderbim/blenderbim/bim/module/tester/ui.py | 3 ++- src/ifctester/ifctester/facet.py | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/tester/operator.py b/src/blenderbim/blenderbim/bim/module/tester/operator.py index 57ed89429d..010314e325 100644 --- a/src/blenderbim/blenderbim/bim/module/tester/operator.py +++ b/src/blenderbim/blenderbim/bim/module/tester/operator.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with BlenderBIM Add-on. If not, see . -import os +import os import bpy import time import tempfile @@ -72,8 +72,10 @@ class ExecuteIfcTester(bpy.types.Operator, tool.Ifc.Operator): tool.Tester.report = report props.specifications.clear() for spec in report: + print(spec) new_spec = props.specifications.add() new_spec.name = spec["name"] + new_spec.description = spec["description"] new_spec.status = spec["status"] blenderbim.bim.handler.refresh_ui_data() diff --git a/src/blenderbim/blenderbim/bim/module/tester/prop.py b/src/blenderbim/blenderbim/bim/module/tester/prop.py index 7496d4ba44..ab4c175196 100644 --- a/src/blenderbim/blenderbim/bim/module/tester/prop.py +++ b/src/blenderbim/blenderbim/bim/module/tester/prop.py @@ -37,6 +37,7 @@ def update_active_specification_index(self, context): class Specification(PropertyGroup): name: StringProperty(name="Name") + description: StringProperty(name="Description") status: BoolProperty(default=False, name="Status") diff --git a/src/blenderbim/blenderbim/bim/module/tester/ui.py b/src/blenderbim/blenderbim/bim/module/tester/ui.py index 31c45bc888..b33cdd5aff 100644 --- a/src/blenderbim/blenderbim/bim/module/tester/ui.py +++ b/src/blenderbim/blenderbim/bim/module/tester/ui.py @@ -107,8 +107,9 @@ class BIM_PT_tester(Panel): class BIM_UL_tester_specifications(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname): if item: - row = layout.row(align=True) + row = layout.split(factor=0.3, align=True) row.label(text=item.name, icon="CHECKMARK" if item.status else "CANCEL") + row.label(text=item.description) class BIM_UL_tester_failed_entities(UIList): diff --git a/src/ifctester/ifctester/facet.py b/src/ifctester/ifctester/facet.py index d10664fee2..78e718a264 100644 --- a/src/ifctester/ifctester/facet.py +++ b/src/ifctester/ifctester/facet.py @@ -48,7 +48,7 @@ def get_pset(element, pset): @lru_cache -def get_psets(element, pset): +def get_psets(element): return ifcopenshell.util.element.get_psets(element)