Skip to main content

Module representation

Module representation 

Source
Expand description

Element geometry, in the form IFC stores it.

This is the bridge between “the recipe is canonical” (ADR-0004) and “IFC is the exchange authority” (docs/ifc-semantics.md ADR-001). A GeometryRecipe is how a family authors geometry; a Representation is what that evaluates to and what gets written to a file.

Deliberately pure data with no dependency on cadforge-geom or cadforge-family: core must stay standalone (ADR-0002), and the exporter must not have to understand recipes to write a file.

The two variants are not equivalent, and the difference is the whole point of ADR-0004:

  • Representation::ExtrudedAreaSolid exports as IfcExtrudedAreaSolid over IfcArbitraryClosedProfileDef. It stays parametric and editable in Revit, Archicad, and Bonsai after a round trip.
  • Representation::TriangulatedFaceSet exports as IfcTriangulatedFaceSet. It is geometrically correct and semantically poorer — a receiving application can display it but not edit it.

An element that degrades from the first to the second has lost something real, so the degradation is visible in the type rather than buried in a log.

Enums§

Representation
The geometry of one element, in its own local coordinate system.