2021-08-10 17:35:18 +10:00
|
|
|
class Usecase:
|
|
|
|
|
def __init__(self, file, **settings):
|
|
|
|
|
self.file = file
|
|
|
|
|
self.settings = {"unit": None, "attributes": {}}
|
|
|
|
|
for key, value in settings.items():
|
|
|
|
|
self.settings[key] = value
|
|
|
|
|
|
|
|
|
|
def execute(self):
|
|
|
|
|
for name, value in self.settings["attributes"].items():
|
2021-08-16 15:58:44 +10:00
|
|
|
if name == "Dimensions":
|
|
|
|
|
dimensions = self.settings["unit"].Dimensions
|
|
|
|
|
if len(self.file.get_inverse(dimensions)) > 1:
|
|
|
|
|
self.settings["unit"].Dimensions = self.file.createIfcDimensionalExponents(*value)
|
|
|
|
|
else:
|
|
|
|
|
for i, exponent in enumerate(value):
|
|
|
|
|
dimensions[i] = exponent
|
|
|
|
|
continue
|
2021-08-10 17:35:18 +10:00
|
|
|
setattr(self.settings["unit"], name, value)
|