- 2x3
- 4
- 4.3
Since not every software can export external classifications as IfcClassification and IfcClassificationReference, this tool shall help to improve IFC files. The catalog and classification attributes can be added as IfcPropertySingleValues to an IfcPropertySet, which is attached to entities. This tool reads the IfcPropertySets and converts them to IfcClassification and IfcClassificationReference, which are also attached to the entities. Then the IfcPropertySet and IfcPropertySingleValues are deleted. This conversion can also be done in the other direction, if some software could not read IfcClassification.
The IfcPropertySet should look like this:
The IfcClassification with IfcClassificationReference then looks like this:
The PropertySet names can be chosen from a list of all IfcPropertySets in the file or entered as a string. From the IfcClassificationReference, a IfcPropertySet name can be generated from the buildingSMART URI of the element, if set. The schema is 'bSD_catalogCode_catalogVersion'. Otherwise it is generated as 'bSD_className' or the user enters a name. A new file is created as result of the conversion.
The following attributes are allowed and supported:
attribute | description | required | IFC 2x3 | IFC 4 and 4.3 | comments |
---|---|---|---|---|---|
CatalogSource | Source (or publisher) for this classification. | x | x | ||
CatalogEdition | The edition or version of the classification system from which the classification notation is derived. | x | x | ||
CatalogEditionDate | The date on which the edition of the classification used became valid. | x | x | ||
CatalogName | The name or label by which the classification used is normally known. | x | x | x | |
CatalogDescription | Additional description provided for the classification. | x | |||
CatalogLocation | Resource identifier or locator, provided as URI, URN or URL, of the classification. | x | in IFC 4.3 used by Specification | ||
CatalogReferenceTokens | The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference. | x | |||
ClassLocation | Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. | x | x | ||
ClassIdentification | The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as * a key, e.g. a classification notation, like NF2.3 * a handle * a uuid or guid. ... | x | x | in IFC 2x3 used by ItemReference | |
ClassName | Name to further specify the reference. It can provide a human readable identifier. ... | x | x | x | |
ClassReferencedSource | The classification system or source that is referenced. | x | x | has to be the exact name of the catalog for a correct assignment | |
ClassDescription | Description of the classification reference for informational purposes. | x | |||
ClassSort | Optional identifier to sort the set of classification references within the referenced source (either a classification facet of higher level, or the classification system itself). | x |
Evolution of elements IfcClassification, IfcClassificationReference and IfcRelAssociatesClassification in different versions
CHANGES to older version are marked in bold
IfcClassification(
Source: IfcLabel,
Edition: IfcLabel,
EditionDate: OPTIONAL IfcCalendarDate,
Name: IfcLabel
)
IfcClassificationReference(
Location: OPTIONAL IfcLabel,
ItemReference: OPTIONAL IfcIdentifier,
Name: OPTIONAL IfcLabel,
ReferencedSource: OPTIONAL IfcClassification
)
IfcRelAssociatesClassification(
IfcRoot ...,
RelatedObjects: Set of IfcRoot,
RelatingClassification: IfcClassificationNotationSelect -> relevant: IfcClassificationReference
)
IfcClassification(
Source: OPTIONAL IfcLabel,
Edition: OPTIONAL IfcLabel,
EditionDate: OPTIONAL IfcDate,
Name: IfcLabel,
Description: OPTIONAL IfcText,
Location: OPTIONAL IfcURIReference,
ReferenceTokens: OPTIONAL List of IfcIdentifier
)
IfcClassificationReference(
Location: OPTIONAL IfcURIReference,
Identification: OPTIONAL IfcIdentifier,
Name: OPTIONAL IfcLabel,
ReferencedSource: OPTIONAL, IfcClassificationReferenceSelect,
Description: OPTIONAL IfcText,
Sort: OPTIONAL IfcIdentifier
)
IfcRelAssociatesClassification(
IfcRoot ...,
RelatedObjects: Set of IfcDefinitionSelect,
RelatingClassification: IfcClassificationSelect -> IfcClassificationReference, IfcClassification
)
IfcClassification(
Source: OPTIONAL IfcLabel,
Edition: OPTIONAL IfcLabel,
EditionDate: OPTIONAL IfcDate,
Name: IfcLabel,
Description: OPTIONAL IfcText,
Specification: OPTIONAL IfcURIReference,
ReferenceTokens: OPTIONAL List of IfcIdentifier
)
IfcClassificationReference(
Location: OPTIONAL IfcURIReference,
Identification: OPTIONAL IfcIdentifier,
Name: OPTIONAL IfcLabel,
ReferencedSource: OPTIONAL IfcClassificationReferenceSelect,
Description: OPTIONAL IfcText,
Sort: OPTIONAL IfcIdentifier
)