IFC geometrical concepts
IFC is a standard with a rich set of geometric primitives, with core concepts defined in the geometry, presentation, material, topology and profile resource subschemas. But also outside of these modules, there are various concepts that have geometrical implications such as openings and space boundary relationships in the productextension subschema. This listing below tries to provide a comprehensive overview broken down per the categories below:
-
Relational; typically IfcRelationship between elements subtypes, but also clearance geometry which is a potential additional shape representation identifier
-
Product-level; resources applicable the IfcProduct such as material-based styling; openings
-
Item-level; the individual items that make up representation of the element; which are in turn potentially affected by product-level features such as openings and styling
-
Context; provides additional information on individual items such as precision, target scale and semantic use of the geometry
-
Geo-referencing;
| Level | Concept | Notes | Related terms from ISO / OGC (SFA, GeoSPARQL, GML, …) |
|---|---|---|---|
Relational |
Space boundaries (connection geometry) |
|
|
Relational |
Interferences |
|
|
Relational |
Metric constraints |
|
|
Relational |
Clearance geometry |
|
ISO 19107 constraint regions; GML: gml:Solid / gml:Surface as constraint volumes; GeoSPARQL: geometry used with sf:Disjoint / sf:Intersects etc. to test violations; SFA: volumes/areas used in constraint queries. |
Product |
Relative positioning |
|
gml:AffineCS |
Product |
Linear positioning |
|
ISO 19148:2021 |
Product |
Grid placement |
|
|
Product |
Openings |
|
|
Product |
Material association |
|
|
Product |
Geometry-related semantics via property sets (e.g. |
Semantic parameters that can be used to drive or reconstruct geometry when explicit representations are absent. |
|
Product |
'Business-logic' parametric alignment segment nesting |
Decomposition of IfcAlignment into IfcAlignmentSegment (typically redundant with item-level curves). |
OGC LandInfra/InfraGML alignment model |
Product |
Aggregation of product geometry: composition ( |
Product-level aggregation (e.g., ports, sub-elements, segments) |
|
Item |
Basic 0D/1D/2D items: points, curves, faces (IfcCartesianPoint, IfcPolyline, IfcCompositeCurve, IfcFace) |
Underlying points, polylines, composite curves (including circular/arc segments), and faces used in higher-level geometry. |
SFA: Point, LineString, MultiLineString, Polygon; GML: gml:Point, gml:Curve, gml:LineString |
Item |
Profiles: parametric / arbitrary / derived / composite (IfcProfileDef, IfcArbitraryProfileDef, IfcDerivedProfileDef, IfcCompositeProfileDef) [although not strictly an IfcRepresentationItem] |
Cross-section definitions used by sweeps and structural members; parametric catalog profiles and arbitrary section shapes. |
|
Item |
Annotation geometry: text literals, hatches and fills |
|
|
Item |
3D solids and surfaces – explicit representations |
|
SFA: PolyhedralSurface |
Item |
3D tessellation – meshes / polyhedra |
|
gml:TriangulatedSurface |
Item |
TIN / surface models |
|
gml:Tin |
Item |
Swept / procedural solids: extrusion, revolution, sweeps along curve (disk, arbitrary, fixed reference), sectioned solids and surfaces |
3D solids defined by sweeping profiles along vectors or curves: straight/linear extrusions, revolutions, sweeps along curves (swept disk, arbitrary orientation, fixed reference), tapered forms, sectioned solids/surfaces. |
|
Item |
Boolean operations (CSG trees) |
Solids defined as binary trees combining operands via union, intersection, difference; often nested and require recursive traversal. |
SFA: ST_Union, ST_Intersection, ST_Difference |
Item |
CSG primitives |
|
|
Item |
Surface-only geometry for connection / space boundaries and advanced face surfaces (extrusion, revolution, bounded, NURBS) |
Surfaces used without explicit solid closure, e.g. for space boundaries or analytical/architectural surfaces. |
gml:Surface |
Item |
Styling by item (IfcStyledItem, IfcSurfaceStyle, IfcCurveStyle, IfcIndexedColourMap) |
Assignment of colors, line styles to geometric items or tessellated faces (per-face colors, textures). |
|
Item |
Styling by item: Textures |
|
|
Item |
Mapped items / reusable definitions |
|
|
Item |
(Non-)uniform scaling and mirroring |
|
|
Item |
Composite representations (IfcGeometricSet, multiple shape representation items) |
Sets of curves, surfaces, and points combined into a single representation; multi-rep shape representations for one object. |
gml:MultiCurve, gml:MultiSurface, gml:CompositeCurve, gml:CompositeSurface |
Item |
Topological representations for analytical structures |
|
|
Item |
Point clouds and coverages |
|
|
Context |
Representation context (IfcGeometricRepresentationContext): identifier, target scale, clearance geometries, subcontexts |
Defines modeling context: dimensionality, precision, world coordinate system, true north, representation identifiers; may host clearance contexts. |
|
Context |
Tolerance and precision settings |
|
|
Georeferencing |
Local engineering CRS (IfcGeometricRepresentationContext.WorldCoordinateSystem, true north) |
Defines the local engineering coordinate system |
|
Georeferencing |
Map/projection-based georeferencing incl. vertical reference |
|
ISO 19111 referencing by coordinates and transformations; SFA: SRID on geometries. |
Georeferencing |
Postal address |
|
|
Georeferencing |
IfcSite reference coordinates |
|