CAD Exchanger SDK
IFC Converter


IFC_Reader can read IFC files of version 2X3. Only models saved as physical STEP files (ISO 10303-21, .ifc extension) are supported. ifcXML and ifcZIP varieties are currently not supported.


  • B-Rep representations
  • colors
  • layers
  • assembly structure
  • user-defined properties


Import mapping

Tables below show how IFC entities are mapped to CAD Exchanger entities after import.

Product structure

IFC Entity CAD Exchager Entity Note
IfcProject ModelData_Assembly
Subtypes of IfcElement One of:

ModelData_Assembly is used for entities representing non-leaf nodes in the hierarchy (either through aggregation relationship or by containing mapped representations enabling geometry sharing). For leaf nodes with simple representations ModelData_Part is used.

Subtypes of IfcElement are too numerous to list all of them here. Common ones are IfcWall, IfcSlab, IfcBeam, IfcBuildingElementProxy.

IfcRepresentation ModelData_Part Only for mapped representations that define the geometry shared between multiple elements.


IFC Entity CAD Exchanger Entity Note
IfcFacetedBrep ModelData_Body with type equal to ModelData_BT_Solid
IfcSweptAreaSolid Concrete types are IfcExtrudedAreaSolid, IfcRevolvedAreaSolid, IfcSurfaceCurveSweptAreaSolid.
IfcCsgPrimitive3D Concrete types are IfcBlock, IfcSphere, IfcRightRectangularPyramid, IfcRightCircularCylinder and IfcRightCircularCone.
IfcFaceBasedSurfaceModel ModelData_Body with type equal to ModelData_BT_Sheet
IfcGeometricSet A collection of ModelData_Body instances with ModelData_BT_Sheet, ModelData_BT_Wireframe, ModelData_BT_Acorn types.
IfcConnectedFaceSet ModelData_Shell Concrete types are IfcOpenShell and IfcClosedShell.
IfcFace ModelData_Face
IfcPolyLoop ModelData_Wire
Subtypes of IfcProfileDef ModelData_Wire Concrete types such as IfcArbitraryClosedProfileDef, IfcLShapeProfileDef, IfcDerivedProfileDef and others.
IfcEdge ModelData_Edge


Importer parameters

The IFC import parameters are controlled by IFC_ReaderParameters. The following table contains a list of parameters for IFC import:

Parameter Default value Description
IgnoreVirtualObjects() true

Specifies whether the geometry of virtual objects should be skipped or imported.

Currently only IfcSpace and IfcOpeningElement are considered to be virtual objects. This parameter concerns only the import of geometry, i.e. if an instance of IfcSpace also serves as a parent for one or more products, it will have a corresponding node in the product structure regardless of the value of this parameter.