BBIM - Feature to guess all quantities at once

This commit is contained in:
Sigma Dimensions
2022-09-09 13:24:26 +01:00
parent e2df4f335d
commit f7403e8eee
3 changed files with 30 additions and 0 deletions
@@ -389,6 +389,31 @@ class GuessQuantity(bpy.types.Operator):
return None, "METRE"
return unit_settings.length_unit[0 : -len("METERS")], "METRE"
class GuessAllQuantities(bpy.types.Operator):
bl_idname = "bim.guess_all_quantities"
bl_label = "Guess All Quantities"
bl_options = {"REGISTER", "UNDO"}
pset_id: bpy.props.IntProperty()
obj_name : bpy.props.StringProperty()
obj_type: bpy.props.StringProperty()
def execute(self, context):
self.qto_calculator = QtoCalculator()
obj = context.active_object
bpy.ops.bim.enable_pset_editing(pset_id=self.pset_id, obj=self.obj_name, obj_type=self.obj_type)
for prop in obj.PsetProperties.properties:
if (
'length' in prop.name.lower()
or 'area' in prop.name.lower()
or 'volume' in prop.name.lower()
or "width" in prop.name.lower()
or "height" in prop.name.lower()
or "depth" in prop.name.lower()
or "perimeter" in prop.name.lower()
):
bpy.ops.bim.guess_quantity(prop=prop.name)
bpy.ops.bim.edit_pset(obj=self.obj_name, obj_type=self.obj_type)
return {"FINISHED"}
class CopyPropertyToSelection(bpy.types.Operator, Operator):
bl_idname = "bim.copy_property_to_selection"