From 93ea1f98acd99502497325d75e4c85df8b7c1264 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 31 Jul 2024 15:24:13 +0500 Subject: [PATCH] fix qto tests after 8c3d10a --- .../blenderbim/bim/module/qto/__init__.py | 1 + .../blenderbim/bim/module/qto/operator.py | 15 +++++++++++++++ src/blenderbim/test/bim/feature/qto.feature | 6 ++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/qto/__init__.py b/src/blenderbim/blenderbim/bim/module/qto/__init__.py index a86ca04195..2510ce3182 100644 --- a/src/blenderbim/blenderbim/bim/module/qto/__init__.py +++ b/src/blenderbim/blenderbim/bim/module/qto/__init__.py @@ -25,6 +25,7 @@ classes = ( operator.CalculateFaceAreas, operator.CalculateFormworkArea, operator.CalculateObjectVolumes, + operator.CalculateSideFormworkArea, operator.CalculateSingleQuantity, operator.PerformQuantityTakeOff, prop.BIMQtoProperties, diff --git a/src/blenderbim/blenderbim/bim/module/qto/operator.py b/src/blenderbim/blenderbim/bim/module/qto/operator.py index 1ddf882db2..8fbdfadd7d 100644 --- a/src/blenderbim/blenderbim/bim/module/qto/operator.py +++ b/src/blenderbim/blenderbim/bim/module/qto/operator.py @@ -99,6 +99,21 @@ class CalculateFormworkArea(bpy.types.Operator): return {"FINISHED"} +class CalculateSideFormworkArea(bpy.types.Operator): + bl_idname = "bim.calculate_side_formwork_area" + bl_label = "Calculate Side Formwork Area" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + return context.selected_objects and context.active_object + + def execute(self, context): + result = helper.calculate_side_formwork_area([o for o in context.selected_objects if o.type == "MESH"], context) + context.scene.BIMQtoProperties.qto_result = str(round(result, 3)) + return {"FINISHED"} + + class CalculateSingleQuantity(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.calculate_single_quantity" bl_label = "Calculate Single Quantity" diff --git a/src/blenderbim/test/bim/feature/qto.feature b/src/blenderbim/test/bim/feature/qto.feature index a5f73c3c22..c3cbced3b9 100644 --- a/src/blenderbim/test/bim/feature/qto.feature +++ b/src/blenderbim/test/bim/feature/qto.feature @@ -35,16 +35,14 @@ Scenario: Execute qto method - formwork areas And I add a cube of size "1" at "1,0,0" And the object "Cube" is selected And additionally the object "Cube.001" is selected - When I set "scene.BIMQtoProperties.qto_methods" to "FORMWORK" - And I press "bim.execute_qto_method" + When I press "bim.calculate_formwork_area" Then "scene.BIMQtoProperties.qto_result" is "21.5" Scenario: Execute qto method - side formwork areas Given an empty Blender session And I add a cube And the object "Cube" is selected - When I set "scene.BIMQtoProperties.qto_methods" to "SIDE_FORMWORK" - And I press "bim.execute_qto_method" + When I press "bim.calculate_side_formwork_area" Then "scene.BIMQtoProperties.qto_result" is "16.0" Scenario: Calculate all quantities