Implement metric constraints in the ifcopenshell.api

This commit is contained in:
bosonprojets
2021-08-16 01:35:14 +01:00
parent 745411ee47
commit b4256c504f
5 changed files with 90 additions and 0 deletions
@@ -0,0 +1,21 @@
import ifcopenshell
class Usecase:
def __init__(self, file, **settings):
self.file = file
self.settings = {
"objective": None,
}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
metric = self.file.create_entity("IfcMetric", **{
"Name": "Unnamed",
"ConstraintGrade": "NOTDEFINED",
"Benchmark": "EQUALTO",
})
if self.settings["objective"]:
benchmark_values = list(self.settings["objective"].BenchmarkValues or [])
benchmark_values.append(metric)
return metric