Normalize an IFC entity type name to canonical EXPRESS PascalCase.
'IFCWALL' → 'IfcWall'
'IfcWall' → 'IfcWall' (unchanged)
'IFCROAD' → 'IfcRoad' (IFC4X3, outside the codegen pin)
'ifcmove' → 'IfcMove' (IFC2X3, dropped in IFC4)
'IfcVendorExtensionFoo' → 'IfcVendorExtensionFoo' (unchanged — unknown to registry)
Resolves against the bundled schema union first and the IFC4_ADD2_TC1 pin
second, matching isKnownType — the pin alone left every class outside
it falling through to "preserve as-is", so an IFC4X3 class kept whatever
casing the caller happened to type instead of being canonicalized (#2003).
Used at user-facing API boundaries to keep the public contract on
canonical PascalCase regardless of how the caller spells the type.
Normalize an IFC entity type name to canonical EXPRESS PascalCase.
'IFCWALL'→'IfcWall''IfcWall'→'IfcWall'(unchanged)'IFCROAD'→'IfcRoad'(IFC4X3, outside the codegen pin)'ifcmove'→'IfcMove'(IFC2X3, dropped in IFC4)'IfcVendorExtensionFoo'→'IfcVendorExtensionFoo'(unchanged — unknown to registry)Resolves against the bundled schema union first and the IFC4_ADD2_TC1 pin second, matching isKnownType — the pin alone left every class outside it falling through to "preserve as-is", so an IFC4X3 class kept whatever casing the caller happened to type instead of being canonicalized (#2003).
Used at user-facing API boundaries to keep the public contract on canonical PascalCase regardless of how the caller spells the type.