Industry Foundation Classes (IFC) Reader
The IFC data model provides access to data used in the building and construction industry, and so some of the concepts like Assembly, B-rep and PMI are not exactly the same concepts as they are with our other formats. A file does not need to have a particular extension to be read correctly by HOOPS Exchange; however, the file extensions of IFC files that you can expect to be loaded by HOOPS Exchange are:
.IFC
.IFCZIP
Our readers are updated to the latest released version within 90 days of the release of the authoring software. You can see the exact version supported in the current release here.
Assembly
The full assembly tree definition is supported. This includes maintaining any hidden attributes which may be set. Incremental load is not supported by our IFC reader.
B-Rep
The B-rep definition within IFC is based upon STEP. HOOPS Exchange supports specific IFC B-rep definitions by creating a tessellated solid.
IFC-Specific B-Rep
HOOPS Exchange can create primitives by performing simple geometric operations on 2D entities.
The list of geometric objects available in IFC is:
IFCBOOLEANCLIPPINGRESULT
IFCEXTRUDEDAREASOLID
IFCOPENINGELEMENT
IFCSURFACECURVESWEPTAREASOLID
IFCSWEPTDISKSOLID
The list of surface types available in IFC is:
IFCSURFACEOFLINEAREXTRUSION
IFCSURFACEOFREVOLUTION
The list of curve types available in IFC is:
IFCBEZIERCURVE
IFCBSPLINECURVE
IFCCIRCLE
IFCCOMPOSITECURVE
IFCELLIPSE
IFCPOLYLINE
Please note that for performance reasons, the level of detail of the generated tessellation is limited to a low setting.
Support for IFC 4 Types
By the version 2019, IFC reader supports the following B-Rep and Tessellation types:
IFCADVANCEDBREPWITHVOIDS
IFCADVANCEDBREP
IFCINDEXEDPOLYCURVE (from IFC 4 Addendum 2)
IFCPOLYGONALFACE (from IFC 4 Addendum 2)
IFCTESSELLATEDFACESET
PMI
IFC has a concept which is close to PMI called Notes and these are supported by HOOPS Exchange. The names of the Notes in IFC are:
IFCCANNOTATIONTEXTOCCURENCE
IFCTEXTLITERALWITHEXTENT
IFCTEXTLITERAL
IFC Relationship
IFC relationship can be read from an input file. Our support of this feature is currently limited to reading the related and relating elements for the following relations:
IFCRELAGGREGATES
IFCRELCONNECTSPATHELEMENTS
IFCRELCONTAINEDINSPATIALSTRUCTURE
IFCRELFILLSELEMENT
IFCRELSPACEBOUNDARY
IFCRELVOIDSELEMENT
IFCRELASSIGNSTOGROUP
See the Building Information Modeling in the programming guide for more information.
IFCXML
BIM Data can be exported to IFCXML using A3DAsmModelFileExportToIfcXMLFile() from the A3DSDKBim.h header.
Visualization
This visualization data for this format is generated by the HOOPS Exchange tessellation engine.
Views
Views are not a concept supported by IFC.
Limitations
Our IFC reader doesn’t support double precision. However it is still possible to improve it by declaring a “TF_IFC_REPOSITION” environment variable for relocating models near the origin.