diff --git a/src/ifcopenshell-python/ifcopenshell/util/unit.py b/src/ifcopenshell-python/ifcopenshell/util/unit.py index 10992888b7..045facdae5 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/unit.py +++ b/src/ifcopenshell-python/ifcopenshell/util/unit.py @@ -119,33 +119,34 @@ si_type_names = { "VOLUMEUNIT": "CUBIC_METRE", } -# Are you good at physics? Want to help fill these in? :) +# See IfcDimensionalExponents: +# (Length, Mass, Time, ElectricCurrent, ThermodynamicTemperature, AmountOfSubstance, LuminousIntensity) named_dimensions = { - # "ABSORBEDDOSEUNIT": (0, 0, 0, 0, 0, 0, 0), + "ABSORBEDDOSEUNIT": (2, 0, -2, 0, 0, 0, 0), "AMOUNTOFSUBSTANCEUNIT": (0, 0, 0, 0, 0, 1, 0), "AREAUNIT": (2, 0, 0, 0, 0, 0, 0), - # "DOSEEQUIVALENTUNIT": (0, 0, 0, 0, 0, 0, 0), - # "ELECTRICCAPACITANCEUNIT": (0, 0, 0, 0, 0, 0, 0), - # "ELECTRICCHARGEUNIT": (0, 0, 0, 0, 0, 0, 0), - # "ELECTRICCONDUCTANCEUNIT": (0, 0, 0, 0, 0, 0, 0), + "DOSEEQUIVALENTUNIT": (2, 0, -2, 0, 0, 0, 0), + "ELECTRICCAPACITANCEUNIT": (-2, -1, 4, 2, 0, 0, 0), + "ELECTRICCHARGEUNIT": (0, 0, 1, 1, 0, 0, 0), + "ELECTRICCONDUCTANCEUNIT": (-2, -1, 3, 2, 0, 0, 0), "ELECTRICCURRENTUNIT": (0, 0, 0, 1, 0, 0, 0), - # "ELECTRICRESISTANCEUNIT": (0, 0, 0, 0, 0, 0, 0), - # "ELECTRICVOLTAGEUNIT": (0, 0, 0, 0, 0, 0, 0), + "ELECTRICRESISTANCEUNIT": (2, 1, -3, -2, 0, 0, 0), + "ELECTRICVOLTAGEUNIT": (2, 1, -3, -1, 0, 0, 0), "ENERGYUNIT": (2, 1, -2, 0, 0, 0, 0), "FORCEUNIT": (1, 1, -2, 0, 0, 0, 0), "FREQUENCYUNIT": (0, 0, -1, 0, 0, 0, 0), - # "ILLUMINANCEUNIT": (0, 0, 0, 0, 0, 0, 0), - # "INDUCTANCEUNIT": (0, 0, 0, 0, 0, 0, 0), + "ILLUMINANCEUNIT": (-2, 0, 0, 0, 0, 1, 1), + "INDUCTANCEUNIT": (2, 1, -2, -2, 0, 0, 0), "LENGTHUNIT": (1, 0, 0, 0, 0, 0, 0), - # "LUMINOUSFLUXUNIT": (0, 0, 0, 0, 0, 0, 0), + "LUMINOUSFLUXUNIT": (0, 0, 0, 0, 0, 1, 1), "LUMINOUSINTENSITYUNIT": (0, 0, 0, 0, 0, 0, 1), - # "MAGNETICFLUXDENSITYUNIT": (0, 0, 0, 0, 0, 0, 0), - # "MAGNETICFLUXUNIT": (0, 0, 0, 0, 0, 0, 0), + "MAGNETICFLUXDENSITYUNIT": (0, 1, -2, -1, 0, 0, 0), + "MAGNETICFLUXUNIT": (2, 1, -2, -1, 0, 0, 0), "MASSUNIT": (0, 1, 0, 0, 0, 0, 0), "PLANEANGLEUNIT": (0, 0, 0, 0, 0, 0, 0), "POWERUNIT": (2, 1, -3, 0, 0, 0, 0), "PRESSUREUNIT": (-1, 1, -2, 0, 0, 0, 0), - # "RADIOACTIVITYUNIT": (0, 0, 0, 0, 0, 0, 0), + "RADIOACTIVITYUNIT": (0, 0, -1, 0, 0, 0, 0), "SOLIDANGLEUNIT": (0, 0, 0, 0, 0, 0, 0), "THERMODYNAMICTEMPERATUREUNIT": (0, 0, 0, 0, 1, 0, 0), "TIMEUNIT": (0, 0, 1, 0, 0, 0, 0),