What's New
What's New

This documentation describes the ODA IFC SDK version 2021.11.

ODA IFC SDK implements the set of Industry Foundation Classes (IFC) standards, which are widely used in the building information modeling industry. IFC SDK depends on the ODA Kernel SDK library.

For more details about new features, significant changes, and fixed issues, please refer to the Release Notes.

If you are not already logged in to the member area of the ODA website, you will need to log in and then go to the link.

Click and log in to Jira to see a list of fixed issues.

For detailed information about supported platforms and configurations, please see the Supported Platforms.

For quick start with the IFC SDK, please see the Get Started with IFC SDK section.

New Features

  • Printing standard SDAI errors to the console output using the default error handler function was implemented.
  • Writing values of named aggregate types to HDF5 files was implemented.
  • The creation and visualization of the IfcCSGPrimitive3D bodies for the IfcSpaModeler modeler were implemented.
  • The new functionality of the AttributeDataBlock class that implements work with the Select data type values using the late-binding was introduced.

    Related Source Code: Ifc/include/sdai/daiAttributeDataBlock.h

  • Copy and clone operations for application instances using the copyFrom() method of the OdDAI::ApplicationInstance class were implemented.

    Related Source Code: Ifc/Include/sdai/daiApplicationInstance.h.

  • Now it is possible to select optional IFC schemas in the ODAProjectFileGenerator (for members with access to the source code only).

Improvements

  • The functionality of working with materials was improved: reduced the number of created materials, new material properties (DiffuseColour, SpecularColour, SpecularHighlight).

Public API Changes

See the list of IFC SDK public API changes below:

  • New classes were added:
    • OdDAI::ADB_Value — A class that stores a Select value.

      Related Source Code: Ifc/include/sdai/ADB_Value.h.

    • OdDAI::AttributeDataBlock — A class that is used for the Select data transfer.

      Related Source Code: Ifc/include/sdai/daiAttributeDataBlock.h.

    • OdDAI::SafePathHolder — A class that stores and handles the Select path.

      Related Source Code: Ifc/include/sdai/daiAttributeDataBlock.h.

  • Modified classes:
    • A new method Aggr* OdDAI::Aggr::clone() const; was added to the OdDAI::Aggr class:

      Related Source Code: Ifc/Include/sdai/daiAggr.h.

    • The OdDAI::ApplicationInstance class:
      • The bool putAttrCaseInsensitive(const OdAnsiString &explicitAttrName, const OdRxValue &val); method was replaced with the bool putAttrCaseInsensitive(const char * explicitAttrName, const OdRxValue &val); method.
      • The void unsetAttrCaseInsensitive(const OdAnsiString &explicitAttrName); method was replaced with the void unsetAttrCaseInsensitive(const char * explicitAttrName); method.
      • The new method void copyFrom(const OdRxObject* pSource); was added.
      • The new method virtual OdRxObject::OdRxObjectPtr clone() const; was added.

      Related Source Code: Ifc/Include/sdai/daiApplicationInstance.h.

    • The new method bool getIsWriting(); was added to the OdDAI::Model class.

      Related Source Code: Ifc/Include/sdai/daiModel.h.

    • The OdDAI::OdDAIObjectSDAI class:
      • The bool testAttrCaseInsensitive(const OdAnsiString& attrName) const; method was replaced with the bool testAttrCaseInsensitive(const char * attrName) const; method.
      • The OdRxValue getAttrCaseInsensitive(const OdAnsiString& attrName) const; method was replaced with the OdRxValue getAttrCaseInsensitive(const char * attrName) const; method.

      Related Source Code: Ifc/Include/sdai/daiObjectSDAI.h

  • New DAI functions were added within the OdDAI namespace:
    • o void oddaiPrintConsoleString(const wchar_t* fmt, ...); — This function implements printing a formatted line to the console output.

      Related Source Code: Ifc/include/sdai/daiModule.h.

    • o const char* errorCodeToStr(daiErrorId errorId); — A function that returns an error code as an ANSI string.

      Related Source Code: Ifc/include/sdai/daiError/daiErrorId.h.

New Modules

  • A new IFC2X2_FINAL module that contains the IFC2X2_FINAL schema API was added.

New Documentation

Build Notes

  • The schema-dependent modules extension is changed from .tx to .txexp (.txEXPRESS) in order to find supported schemas dynamically; these modules require a STEP Data Access Interface (SDAI) module.
  • IFC SDK depends on the Kernel SDK module and uses the following modules for the geometry visualization:
    • FacetModeler SDK.
    • Solid Modeler SDK.
    • Spatial® ACIS®.
  • The following modules use IFC SDK:
    • The Ifc2Dwg module that also requires Drawings SDK.
    • The Ifc2Visualize example that also requires Visualize SDK.
  • The HDF5IO module is based on the third-party HDF5 library that requires Perl installed to configure it.

Supported Platforms

The following platforms are added to the supported platforms list:

  • macOS 11.0

The ODA Platform has ended support for the following platforms:

  • macOS 10.12

See Also

IFC SDK Overview
Get Started with IFC SDK
Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.