IFC can represent SI units, derived units and conversion based units.
To represent mph as a unit, starting from metres and seconds as SI units, there are two possible methods:
(a) define a derived unit m(1)s(-1) and then create a conversion based unit. It can have a name ‘mph’ but currently conversion based units can not have a unit type ‘linear velocity unit’ (check out IfcUnitEnum) . DDS accepts ‘userdefined’ and displays the unit name nicely. No one else.
(b) define miles and hours as conversion based units with names and then create a derived unit which can have a unit type ‘linear velocity unit’ (check out IfcDerivedUnitEnum) but it can not have a name. So the fact the property is in mph is hidden from all users.
Solutions?
- merge IfcUnitEnum with IfcderivedUnitEnum or at least make them identical
- add a Name attribute to IfcDerivedUnit
- stop using IFC in the UK and USA and Myanmar