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 |
|
|
Product |
Relative positioning |
|
gml:AffineCS |
Product |
Linear positioning |
|
ISO 19148:2021 |
Product |
Grid placement |
|
|
Product |
Openings |
|
|
Product |
Material association |
|
|
Product |
Parametric geometry as 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 |
Product-level composite curves defining the 'business-logic' of parametric alignment segment nesting within a curve |
Decomposition of IfcAlignment into IfcAlignmentSegment with parametric geometry (typically redundant with item-level curves). |
OGC LandInfra/InfraGML alignment model |
Product |
Aggregation of product into assemblies: composition ( |
Product-level aggregation (e.g., ports, sub-elements, segments) |
|
Item |
Basic 0D/1D/2D items: points, curves, faces (IfcCartesianPoint, IfcPolyline, IfcCompositeCurve, IfcFace) |
Simple representations or 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 (e.g I shape) / arbitrary / derived / composite (IfcProfileDef, IfcArbitraryProfileDef, IfcDerivedProfileDef, IfcCompositeProfileDef) [Note: not strictly an independent 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 |
Explicit (BRep) representations of 3D faceted solids and surfaces |
|
SFA: PolyhedralSurface |
Item |
Explicit (BRep) representations of 3D curved solids and surfaces |
Advanced BRep: with (e.g) NURBS faces (IfcAdvancedFace) |
|
Item |
Explicit mesh/polyhedron representations (called tessellation) |
|
SFA: PolyhedralSurface 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. Note that this is a fairly large category with many items and combinatorial possibilities lumped into one. |
|
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 as a whole (IfcStyledItem, IfcSurfaceStyle, IfcCurveStyle) |
Assignment of colors, line styles to geometric items or tessellated faces as a whole |
|
Item |
Granular styling by sub-item (IfcSurfaceStyle, IfcIndexedColourMap) |
E.g the application of a different color to a face within a shell, or per-face colors in tesselations using IfcIndexedColourMap, or retaining distinct surface styles after applying boolean operations |
|
Item |
Styling by item: Textures |
|
|
Item |
Mapped items / reusable definitions |
|
|
Item |
(Non-)uniform scaling and mirroring |
|
|
Item |
Composite representations (IfcGeometricSet, IfcCompositeProfileDef, 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 |
|