New qto tool is now unit aware

This commit is contained in:
Dion Moult
2024-05-29 21:46:23 +10:00
parent f92a2b3c8e
commit 435ce8d58a
3 changed files with 126 additions and 83 deletions
@@ -298,7 +298,6 @@ class WorkSchedulePsetsData(Data):
@classmethod
def load(cls):
props = bpy.context.scene.WorkSchedulePsetProperties
ifc_definition_id = bpy.context.scene.BIMWorkScheduleProperties.active_work_schedule_id
cls.data = {"psets": cls.psetqtos(tool.Ifc.get().by_id(ifc_definition_id), psets_only=True)}
cls.is_loaded = True
@@ -49,8 +49,13 @@ def get_calculator(self, context):
def get_calculator_function(self, context):
calculator = ifc5d.qto.calculators[self.calculator]
results = []
for function in calculator.get_functions():
results.append((function.id, function.name, function.description))
previous_measure = None
for function_id, function in calculator.functions.items():
measure = function.measure.split("Measure")[0][3:]
if previous_measure is not None and measure != previous_measure:
results.append(None)
results.append((function_id, f"{measure}: {function.name}", function.description))
previous_measure = measure
return results