BimRv SDK: ForgeTypeId

Alexander Geniatov

December 24, 2021

OdBmForgeTypeId Type

The 2021 format introduced a new data type ForgeTypeId, which should be used instead of different interface types in common form and stores a string with a tag representing the type and version.

Map OdBmForgeTypeId Terminology to Old Types

Old enum types map to the new ForgeTypeId types as follows:

UnitType –> Spec
DisplayUnitType –> Unit
UnitSymbolType –> Symbol
UnitGroup –> Discipline

For convenience, frequently used values for these ForgeTypeId types are available as static members of OdBmSpecTypeId, OdBmUnitTypeId, OdBmSymbolTypeId and OdBmDisciplineTypeId classes in the Base module.

2022 Interface Refactoring

In the 2022 format, UnitType, DisplayUnitType and UnitSymbolType are removed from public interfaces. All mentioned interfaces and UnitGroup are replaced with ForgeTypeId.

For example, instead of

OdBm::DisplayUnitType::DUT_METERS

you should use

OdBmForgeTypeId(L“autodesk.unit.unit:meters-1.0.0”)

or

OdBmUnitTypeId::kMeters

To compare ForgeTypeIds, use the strictlyEquals() method.

Interfaces defined for exact types generally keep the same name; some interfaces containing an enum type in the name are renamed according to the new terminology. Interfaces that are common for different enums are replaced with the ones containing the new type in the name.