Updated schema to IFC 4x3 ADD2, which is ISO 16739-1:2024.
Suppress missing attribute warnings for TagList attribute on
CartesianPointList2D/3D in IFC4 data prior to 4x1.
Changes in release 20.0 (2023-03-10)
Version 20 release.
Updated schema to IFC 4x3 ADD1.
The following simple subtypes (no extra attributes) were deleted by
IFC4x3. We have added aliases so that we can read files that use old
subtype as the still supported supertype. IfcWallStandardCase is
still present.
IfcBeamStandardCase -> IfcBeam
IfcColumnStandardCase -> IfcColumn
IfcDoorStandardCase -> IfcDoor
IfcMemberStandardCase -> IfcMember
IfcOpeningStandardCase -> IfcOpening
IfcPlateStandardCase -> IfcPlate
IfcSlabElementedCase -> IfcSlab
IfcSlabStandardCase -> IfcSlab
IfcWallElementedCase -> IfcWall
IfcWindowStandardCase -> IfcWindow
Added compatibility fixes for the IfcDerivedUnit.Name, and the
predefined type enums added to IfcAnnotation and IfcVirtualElement
introduced by IFC4x3 when reading or writing older IFC versions.
Added compatibility fixes for the IFC2x3 center of gravity
attributes which were later removed by IFC4 in the profile
definitions for C, L, T, U, I and Asymmetric I shapes.
Retained IfcDoorStyle, IfcProxy, IfcWindowStyle for compatibility
with previous editions. These were were removed by IFC4x3. Also
relaxed IfcCountMeasure back to REAL for P21 compatibility with all
existing IFC data sets. Retained the original enum definition of
RelatedObjectsType for RelAssigns for compatibility with existing
IFC data sets.
Changes in release 19.1 (2022-02-01)
Version 19 Service Pack One release.
Changes in release 19.0 (2021-07-19)
Version 19 release.
Updated with support for IFC 4x3 RC4 with the latest entities for
bridge and rail design.
Reads and writes IfcDistributionControlElement.ControlElementId for
IFC2x3 but supresses it in IFC4 for both root and subtypes.
Changes in release 18.1 (2019-10-28)
Version 18 Service Pack One release.
Added support for IFC 4x2 with new bridge design entities and
modifications to the grid and linear placement entities.
IfclibSchemaType values now sorted into ascending IFC version
release date. The ifclib_schema_other value is above the newest
recognized IFC version.
Relax type of IfcRelConnectsPortToElement.RelatedElement attribute
from IfcDistributionElement back to the IfcElement supertype used by
IFC2x3. Some systems create data with BuildingProxy elements, which
are not of the subtype.
Changes in release 18.0 (2018-10-01)
Version 18 release.
The C++ class for IfcTriangulatedFaceSet now has both the current
PnIndex (list of ints) field and the older NormalIndex field (list
of list of ints). Only the PhIndex field will be written. When
reading, the NormalIndex field will be set if the file uses a list
of list of integers, otherwise the PhIndex field will be set.
Added the following #defines for testing with the preprocessor.
IFCLIB_SCHEMA_MERGED
IFCLIB_SCHEMA_HAS_IFC2X2
IFCLIB_SCHEMA_HAS_IFC2X3
IFCLIB_SCHEMA_HAS_IFC4
IFCLIB_SCHEMA_HAS_IFC4X1
Changes in release 17.3 (2018-05-18)
Update schema to IFC4x1 final version, which adds the following new
entities for infrastructure alignment.
IfcAlignment
IfcAlignment2DHorizontal
IfcAlignment2DHorizontalSegment
IfcAlignment2DSegment
IfcAlignment2DVerSegCircularArc
IfcAlignment2DVerSegLine
IfcAlignment2DVerSegParabolicArc
IfcAlignment2DVertical
IfcAlignment2DVerticalSegment
IfcAlignmentCurve
IfcCircularArcSegment2D
IfcCurveSegment2D
IfcDistanceExpression
IfcLineSegment2D
IfcLinearPlacement
IfcLinearPositioningElement
IfcOffsetCurve
IfcOffsetCurveByDistances
IfcOrientationExpression
IfcPositioningElement
IfcReferent
IfcSectionedSolid
IfcSectionedSolidHorizontal
IfcTransitionCurveSegment2D
IfcTriangulatedIrregularNetwork
Added IfcElectricalElement to support older 2x3 files.
Changes in release 17.2 (2018-04-12)
Add back IfcElectricDistributionPoint entity and supporting enum,
which was the only flow controller subtype in IFC2x3 before being
replaced by many subtypes in IFC4.
Changes in release 17.1 (2017-12-29)
IFC schema update to Addendum 2 TC1, which corrects some EXPRESS
rules and adds IfcSurfaceCurve to the IfcCurveOnSurface select type.
Update for roselib ABI changes, and retirement of custom all-atts
ctors. Use the default ctor and individual attribute set functions
to populate objects.
Changes in release 17.0 (2017-04-07)
Updated schema for IFC4 Addendum 2
Changes in release 16.7 (2016-07-19)
Updated schema for IFC4 Addendum 2
Changes in release 16.6 (2016-06-01)
Update for ST-Developer v16 SP4
Changes in release 16.5 (2016-04-18)
IfcSurfaceStyleShading gained an optional attribute moved from a
subtyle in ifc4_add1. Supressing warnings about the extra attribute
when reading or writing IFC 2x3 data.
Changes in release 16.4 (2015-09-21)
Update for ST-Developer v16 SP3
Changes in release 16.3 (2015-07-24)
Update the IFC schema to Addendum 1. Most changes are minor
clarifications such as descriptive WHERE names or changing a
primitive value to an IFC typedef, such as REAL -> IfcReal.
The IfcCartesianPointList2D and IfcIndexedPolyCurve entities are
new, and to pull in some supporting TYPES and FUNCTIONS.
Changes in release 16.2 (2015-04-29)
Rebuild for ST-Developer Service Pack #2
Changes in release 16.1 (2015-04-01)
Corrected case-sensitive comparison issue that caused schema
initialization issues on Linux, AIX, Solaris, and HPUX.
Add aliases for reading old types that were removed in IFC4. These
are simple subtypes with no extra fields, so just handle them as
instances of the supertype.
IfcBezierCurve => IfcBsplineCurve
IfcRationalBezierCurve => IfcBsplineCurve
Ifc2DCompositeCurve => IfcCompositeCurve
Added automatic migration support for types that have extra
attributes in IFC4 but no other significant structural changes. The
extra fields are present when writing IFC4 but not used when writing
the file as IFC2x3 or IFC2x2. There are no longer warnings about
missing fields when reading these types in IFC2x3 data.
IfcBeam
IfcBuildingElementPart
IfcClassification
IfcClassificationReference
IfcColumn
IfcCurtainWall
IfcCurveStyle
IfcDiscreteAccessory
IfcDiscreteAccessoryType
IfcDistributionChamberElement
IfcDistributionPort
IfcDocumentReference
IfcDoor
IfcDoorLiningProperties
IfcFastener
IfcFastenerType
IfcFillAreaStyle
IfcFurnitureType
IfcGrid
IfcIShapeProfileDef
IfcLibraryReference
IfcMaterial
IfcMaterialLayer
IfcMaterialLayerSet
IfcMaterialLayerSetUsage
IfcMechanicalFastener
IfcMechanicalFastenerType
IfcMember
IfcMetric
IfcOpeningElement
IfcPlate
IfcProjectOrder
IfcProjectionElement
IfcPropertyBoundedValue
IfcPropertyTableValue
IfcQuantityArea
IfcQuantityCount
IfcQuantityLength
IfcQuantityTime
IfcQuantityVolume
IfcQuantityWeight
IfcRampFlight
IfcReinforcingMesh
IfcStairFlight
IfcStructuralCurveConnection
IfcStructuralCurveMember
IfcStructuralPointConnection
IfcSystemFurnitureElementType
IfcTable
IfcTelecomAddress
IfcTendonAnchor
IfcTextStyle
IfcWall
IfcWallStandardCase
IfcWindow
IfcWindowLiningProperties
IfcZone
Changes in release 16.0 (2014-03-26)
Changes in release 15.6 (2014-01-30)
Updated builtin schema initialization to work with multiple copies.
Rebuild for ROSE library updates in Beta 6
Changes in release 15.5 (2013-09-09)
Rebuild for ROSE library updates in Beta 5
Changes in release 15.4 (2013-05-20)
Rebuild for ROSE library updates in Beta 4
Changes in release 15.3 (2013-04-11)
Updated to the final production release of the IFC4 schema.
Changed name of library and package to ifcbim, following the naming
style used with the stpcad and stpman libraries.
Changes in release 15.2 (2012-10-17)
Added DLL versions of the library to the release.
Updated documentation with ported sample programs from ifc2x3. The
IFC4 schema adds some new intermediate select types in some fields
and many entities have new attributes at the end.
Changes in release 15.1 (2012-10-16)
Internal release
Changes in release 15.0 (2012-10-16)
Initial version, built from IFC4 RC4 for use with ST-Developer 15
Added additional ifclib_* functions to handle file reading from
other versions of the IFC schema. This will be needed for working
with the many IFC 2x3 implementations.