No need to specify SI unit names as they can be derived from the unit type

This commit is contained in:
Dion Moult
2023-01-05 17:16:46 +11:00
parent 70b7f1424f
commit cb92be2b08
4 changed files with 8 additions and 21 deletions
+4 -4
View File
@@ -24,9 +24,9 @@ def assign_scene_units(ifc, unit):
if unit.is_scene_unit_metric():
prefix = unit.get_scene_unit_si_prefix()
lengthunit = ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", name=length_name, prefix=prefix)
areaunit = ifc.run("unit.add_si_unit", unit_type="AREAUNIT", name=area_name, prefix=prefix)
volumeunit = ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", name=volume_name, prefix=prefix)
lengthunit = ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix=prefix)
areaunit = ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix=prefix)
volumeunit = ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", prefix=prefix)
else:
lengthunit = ifc.run("unit.add_conversion_based_unit", name=length_name)
areaunit = ifc.run("unit.add_conversion_based_unit", name=area_name)
@@ -68,7 +68,7 @@ def add_monetary_unit(ifc, unit):
def add_si_unit(ifc, unit, unit_type=None):
result = ifc.run("unit.add_si_unit", unit_type=unit_type, name=unit.get_si_name_from_unit_type(unit_type))
result = ifc.run("unit.add_si_unit", unit_type=unit_type)
unit.import_units()
return result
-4
View File
@@ -83,10 +83,6 @@ class Unit(blenderbim.core.tool.Unit):
return
return props.length_unit.replace("METERS", "")
@classmethod
def get_si_name_from_unit_type(cls, unit_type):
return ifcopenshell.util.unit.si_type_names.get(unit_type, None)
@classmethod
def import_unit_attributes(cls, unit):
def callback(name, prop, data):
+4 -7
View File
@@ -26,17 +26,15 @@ class TestAssignSceneUnits:
unit.get_scene_unit_name("length").should_be_called().will_return("name")
unit.get_scene_unit_si_prefix().should_be_called().will_return("prefix")
ifc.run(
"unit.add_si_unit", unit_type="LENGTHUNIT", name="name", prefix="prefix"
"unit.add_si_unit", unit_type="LENGTHUNIT", prefix="prefix"
).should_be_called().will_return("lengthunit")
unit.get_scene_unit_name("area").should_be_called().will_return("name")
ifc.run("unit.add_si_unit", unit_type="AREAUNIT", name="name", prefix="prefix").should_be_called().will_return(
"areaunit"
)
ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix="prefix").should_be_called().will_return("areaunit")
unit.get_scene_unit_name("volume").should_be_called().will_return("name")
ifc.run(
"unit.add_si_unit", unit_type="VOLUMEUNIT", name="name", prefix="prefix"
"unit.add_si_unit", unit_type="VOLUMEUNIT", prefix="prefix"
).should_be_called().will_return("volumeunit")
ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit")
@@ -104,8 +102,7 @@ class TestAddMonetaryUnit:
class TestAddSIUnit:
def test_run(self, ifc, unit):
unit.get_si_name_from_unit_type("unit_type").should_be_called().will_return("name")
ifc.run("unit.add_si_unit", unit_type="unit_type", name="name").should_be_called().will_return("unit")
ifc.run("unit.add_si_unit", unit_type="unit_type").should_be_called().will_return("unit")
unit.import_units().should_be_called()
assert subject.add_si_unit(ifc, unit, unit_type="unit_type") == "unit"
-6
View File
@@ -148,12 +148,6 @@ class TestGetSceneUnitSIPrefix:
assert subject.get_scene_unit_si_prefix() is None
class TestGetSINameFromUnitType:
def test_run(self):
for key, value in ifcopenshell.util.unit.si_type_names.items():
assert subject.get_si_name_from_unit_type(key) == value
class TestImportUnitAttributes(NewFile):
def test_importing_derived_units(self):
ifc = ifcopenshell.file()