2021-08-16 01:35:14 +01:00
|
|
|
import ifcopenshell
|
|
|
|
|
|
2021-09-09 21:27:23 +10:00
|
|
|
|
2021-08-16 01:35:14 +01:00
|
|
|
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):
|
2021-09-09 21:27:23 +10:00
|
|
|
metric = self.file.create_entity(
|
|
|
|
|
"IfcMetric",
|
|
|
|
|
**{
|
|
|
|
|
"Name": "Unnamed",
|
|
|
|
|
"ConstraintGrade": "NOTDEFINED",
|
|
|
|
|
"Benchmark": "EQUALTO",
|
|
|
|
|
}
|
|
|
|
|
)
|
2021-08-16 01:35:14 +01:00
|
|
|
if self.settings["objective"]:
|
|
|
|
|
benchmark_values = list(self.settings["objective"].BenchmarkValues or [])
|
|
|
|
|
benchmark_values.append(metric)
|
|
|
|
|
return metric
|