IFC SDK provides a set of classes that provide high-level functionality for your IFC applications. Such classes are essential in any ODA-based IFC application. Below you can see the illustration that demonstrates hierarchy of the most common objects that are used in any IFC ODA-based applications.
Most of the elements of IfcCore
module that are shown on the illustration
interact with other elements from other modules, primarily with IfcGeom
and sdai
modules.
Overview of main IfcCore
elements:
Host Application Services
— Object that performs platform-specific operations within IFC SDK.
With this element you can create a database that represents a file or read such file, initialize B-Rep builder, etc.
Host application services are represented by the OdIfcHostAppServices
class.
IFC File
— Database that is applicable for an IFC file.
With this element you can manage active view, unit converter, and entity resolver. This element also access a model that stores entities,
model context with settings for composing entities and associated geometry modeler.
The IFC file is represented by the OdIfcFile
class.
An IFC file acts as a wrapper for a low-level sdai
model and provides IFC-specific behavior for this model.
Model
— Contains a set of application instances (or entity records in other words) that compose the data section of a file.
See IFC File Formats for more information.
Model is represented by the OdDAI::Model
class.
IFC Application Instance
— IFC application instance consists of attributes and provides access to entity data records of a file.
See IFC File Formats for more information.
The OdIfcEntity
class inherits OdDAI::ApplicationInstance
functionality and implements some
additional IFC-specific behavior.
Entities are objects of classes derived from OdIfcEntity
and belong to specific schemas.
For more information about IFC schemas, see IFC Schemas.
Entity-generated classes provide early-binding
API for working with IFC data.
Compound Object
— Object that is connected to an IFC instance and provides high-level IFC-specific behavior using the late binding data access mechanism.
To get more information about data access mechanisms in IFC SDK, see Data Access Mechanisms.
Thus, using late-binding mechanism, compound objects provide behavior for application instances of all supported schemas.
For example, majority of compound objects can be visualized using ODA-based visualization functionality.
Some objects are visualized directly such as various geometry objects and IFC styles used by these objects,
and some objects can be used as helpers to calculate geometry, for example with profile definitions ODA can calculate profile-based geometry for extrusions, sweeps, etc.
IFC application instances (or entities) are resolved into compound objects using the entity resolver.
However, compound objects are created not for all application instances, many application instances can be resolved as other objects, for example Ge
vectors, points, etc.
Compound objects are inherited from the OdIfcCompound
class and belong to the IfcGeom
module.
Additional elements on the picture:
Associated Geometry Module
— Geometry module that is used to produce geometry.Model Context
— Contains properties specifying deviation parameters used during geometry generation,
default entity color and geometry types used for the compose.
Unit Converter
— Element that converts the provided units into SI (International System of Units) units.
Entity Resolver
— Resolves the underlying application instance data into the corresponding compound object (in most cases)
that can later be used and vectorized.
The resolution process uses the late-binding data access mechanism to determine which data of the application instance to associate with a compound object.
Also, the result of instance resolution may not be a compound object. For example, it can be point, vector, matrix, etc.
See OdIfc::IfcOpResult
enumeration for more information about instance resolution types.
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.
|