This topic describes the library requirements for the functionality you want to use with IFC SDK.
For static configurations, link all the listed libraries according to the functionality you want. Also for static configurations, use the Linking Required column in the tables and its legend to find out whether you need to link the corresponding library to your application project.
Support of BIM Collaboration Format (BCF) files requires one library according to your platform.
Library Name | Linking Required | CMake Variable | Product | Description |
---|---|---|---|---|
|
+ |
${BCF_LIB}
|
IFC SDK | Functionality for working with BIM Collaboration Format files. |
Working with geometry requires specific libraries according to how you want to visualize geometry. You can choose from one or more modelers: ACIS, B-Rep, Facet Modeler, Advanced B-Rep, and Advanced Geometry.
Library Name | Linking Required | CMake Variable | Product | Description |
---|---|---|---|---|
ACIS Requirements | ||||
IfcSpaModeler.tx
|
-
no public |
${IFCSPAMODELER_LIB}
|
IFC SDK | 3D Spatial® ACIS® modeler operations for IFC SDK. |
SpaACIS:
|
+ |
${SPATIAL_DIR}
|
Spatial® ACIS® | Commercial third-party library that supports creating and rendering 3D ACIS entities, Boolean operations between two entities, and other related functionality. A separate license from Spatial Corporation is required. |
B-Rep Requirements | ||||
IfcBrepModeler.tx
|
-
no public |
${IFCBREPMODELER_LIB}
|
IFC SDK | B-Rep functionality for IFC SDK. Based on ODA Solid Modeler. |
OdBrepModeler:
|
+ |
${TCOMPONENTS_BREPMODELER_LIB}
|
ODA SDK | Native support of 3D solid operations: extrude, sweep, and Boolean operations. |
TD_BrepRenderer :
|
+ |
${TD_BREPRENDERER_LIB}
|
Kernel SDK | Rendering functionality for B-Reps. |
Facet Modeler Requirements | ||||
IfcFacetModeler.tx
|
-
no public |
${IFCFACETMODELER_LIB}
|
IFC SDK | Facet modeler functionality for IFC SDK. Based on ODA Facet Modeler. |
FacetModeler :
|
+ |
${FACET_MODELER_LIB}
|
Facet Modeler SDK | ODA Facet Modeler that works with B-Rep data. |
Advanced B-Rep Requirement | ||||
IfcBrepBuilder.tx
|
-
no public |
${IFCBREPBUILDER_LIB}
|
IFC SDK | B-Rep builder for IFC advanced B-Reps. |
Advanced Geometry Requirement | ||||
IfcGeom :
|
+/-
for public |
${IFCGEOM_LIB}
|
IFC SDK | Geometry and geometry-related high-level functionality. |
The table below lists the minimum set of libraries required for working with IFC data without geometry generation.
Library Name | Linking Required | CMake Variable | Product | Description |
---|---|---|---|---|
IFC*.txexp
|
+
for early |
${IFC*_LIB}
|
IFC SDK | Schema-dependent modules (schema name + .txexp). |
IfcCore :
|
+ |
${IFCCORE_LIB}
|
IFC SDK | Base infrastructure classes for IFC and high-level functionality. |
zipIO.tx
|
+ |
${ZIPIO_LIB}
|
IFC SDK | Zipped format support (*.ifczip). |
hdf5io.tx
|
-
no public |
${HDF5IO_LIB}
|
IFC SDK | HDF5 binary format support. |
sdai.tx
|
+ |
${SDAI_LIB}
|
IFC SDK | C++ API and Standard Data Access Interface (SDAI). |
TD_Gi :
|
+ |
${TD_GI_LIB}
|
Kernel SDK | Interface for information exchange between a database to be drawn and specific graphics modules inside the graphics system that vectorize graphics (vectorizers). |
TD_Ge :
|
+ |
${TD_GE_LIB}
|
Kernel SDK | Functionality for the implementation of the graphics system, including vectorizers, graphic devices, views, etc. |
TD_Root:
|
+ |
${TD_ROOT_LIB}
|
Kernel SDK | Root ODA Software functionality. |
TD_DbRoot :
|
+ |
${TD_DBROOT_LIB}
|
Kernel SDK | Root ODA Software functionality for database operation support. |
TD_SpatialIndex :
|
+ |
${TD_SPATIALINDEX_LIB}
|
Kernel SDK | Spatial indexing support (OdSi*). |
TD_Alloc :
|
+ |
${TD_ALLOC_LIB}
|
Kernel SDK | Custom memory allocation for ODA products. |
For dynamic configurations, the symbols in the Is Linking Needed column are described in the following table.
Symbol | Description |
---|---|
+ | The library requires direct linking to your project. |
+ for early | The library should be linked to your project only if you are going to use it in early binding mode. |
- | The library should not be linked to your project if you are not going to use the class public interfaces directly in your application. Such a library uses the late binding mechanism and is linked to your application after loading. |
no public | There is no public class interface in the library that can be directly used. Therefore it is not necessary to directly link the library to get access to its functionality in your applications. |
+/- for public | The library can be used in late binding mode and you should not link it to your project. However, if you are going to use class interfaces from the library directly, you need to link it to your project. |
The following table describes optional third-party libraries for IFC SDK.
Library | Description | Version | License |
---|---|---|---|
HDF5 | This library is used to store an IFC model in HDF5 binary format. | 1.12.0 | HDF Group® |
libzip | This library is used for unpacking IFCZIP files. | 1.7.3 | BSD license |
Create Your First IFC SDK Application
Basic Concepts of IFC SDK Usage
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.
|