Hide menu
Loading...
Searching...
No Matches
IFC Converter

Overview

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

Scope

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

Mapping

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
IfcSite
IfcBuilding
IfcBuildingStorey
IfcSpace
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.

Topology

IFC Entity CAD Exchanger Entity Note
IfcFacetedBrep ModelData_Body with type equal to ModelData_BT_Solid
IfcSweptAreaSolid Concrete types are IfcExtrudedAreaSolid, IfcRevolvedAreaSolid, IfcSurfaceCurveSweptAreaSolid.
IfcSweptDiskSolid
IfcCsgPrimitive3D Concrete types are IfcBlock, IfcSphere, IfcRightRectangularPyramid, IfcRightCircularCylinder and IfcRightCircularCone.
IfcBooleanResult
IfcFaceBasedSurfaceModel ModelData_Body with type equal to ModelData_BT_Sheet
IfcShellBasedSurfaceModel
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.
IfcPolygonalFaceSet ModelData_Shell

IfcTriangulatedFaceSet

IfcFace ModelData_Face
IfcPolyLoop ModelData_Wire
Subtypes of IfcProfileDef ModelData_Wire Concrete types such as IfcArbitraryClosedProfileDef, IfcLShapeProfileDef, IfcDerivedProfileDef and others.
IfcEdge ModelData_Edge

Export mapping

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

Product structure

CAD Exchager Entity IFC Entity
ModelData_Assembly IfcElementAssembly
ModelData_Part IfcBuildingElementProxy

Parameters

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.

ReadGlobalIds() false

Specifies whether the IFC Global IDs should be saved as properties of corresponding product structure elements.

Most of IFC structural entities bear the Global ID, which may be used to uniquely identify these elements. With ReadGlobalIds() enabled they are saved in ModelData_PropertyTable of corresponding product structure element and can be queried like this:

ModelData_PropertyTable aTable = aPart.Properties(); /* 'aPart' is an instance of ModelData_Part
accessed after IFC import
*/
Base_UTF16String anID;
aTable.FindProperty (IFC_Reader::GlobalIdPropertyName(), anID);
static const Base_UTF16String & GlobalIdPropertyName()
Returns a key used to query Global ID property from ModelData_PropertyTable.
Definition: IFC_Reader.cxx:174

Exporter Parameters

The IFC export parameters are controlled by IFC_WriterParameters. The following table contains a list of parameters for IFC export:

Parameter Default value Description
Version() IFC2x3 Specifies a target version of an IFC format to be used when writing.
Possible values: enum VersionType values: IFC2x3, IFC4.