Built-in IfcNameRule list catching authoring-tool-specific
names that carry semantic meaning the IFC type alone doesn't —
primarily Revit-style proxy elements exported as
IfcBuildingElementProxy.
Pattern set follows the same spirit as the xeokit V2 example
xkt_vbo_fallbackColors_DigitalHub.htmlnameColorMap. Regexes
are bilingual where common (German + English, the two languages
Revit / ArchiCAD models in the wild are most often authored in)
so models from European authoring tools route the same way as their
US/UK equivalents.
Patterns use \b word boundaries where possible to avoid
false-positives on IFC name strings like
"Basic Wall:Generic - 200mm:1234" — common words like "light" or
"water" are deliberately omitted because they appear too often in
other contexts (e.g. "Light grey wall paint", "Water meter cover").
Order matters — first match wins. Pass a custom nameRules array
to applyIFCMaterials to replace this list, or spread it
([...DEFAULT_IFC_NAME_RULES, ...mine]) to extend.
Each target key has a corresponding entry in
DEFAULT_IFC_PAINTERS, so a matched object actually paints
with a fitting material rather than dropping through to the
generic concrete fallback.
Built-in IfcNameRule list catching authoring-tool-specific names that carry semantic meaning the IFC type alone doesn't — primarily Revit-style proxy elements exported as
IfcBuildingElementProxy.Pattern set follows the same spirit as the xeokit V2 example
xkt_vbo_fallbackColors_DigitalHub.htmlnameColorMap. Regexes are bilingual where common (German + English, the two languages Revit / ArchiCAD models in the wild are most often authored in) so models from European authoring tools route the same way as their US/UK equivalents.Patterns use
\bword boundaries where possible to avoid false-positives on IFC name strings like"Basic Wall:Generic - 200mm:1234"— common words like "light" or "water" are deliberately omitted because they appear too often in other contexts (e.g. "Light grey wall paint", "Water meter cover").Order matters — first match wins. Pass a custom
nameRulesarray to applyIFCMaterials to replace this list, or spread it ([...DEFAULT_IFC_NAME_RULES, ...mine]) to extend.Each target key has a corresponding entry in DEFAULT_IFC_PAINTERS, so a matched object actually paints with a fitting material rather than dropping through to the generic concrete fallback.