Product

Product

All physical objects (e.g. wall, floor, window) and spatial objects (e.g. space, building, building storey) in a IFC data model are represented as IfcProduct. IfcProduct is represented as Product in Catenda. A Product contains most of the explicit attributes of IfcProduct and the most commonly used related entities; such as property sets, quantity sets and types. Other product relations (e.g. group, layer) can be requested separately. Attributes for owner history, product representation (e.g. 3D geometry) and product placement are ommitted from the Product JSON object.

The following sections describe the structure of the Product JSON object. A full example of how a Product may be presented is provided at the end of this page.

Overview

Below is an overview of the Product JSON object that includes all the top level keys. Each key is described in detail in their respective sections.

Example

JSON


Parameters

Name

Type

Description

objectId

Number

The object id of the product

revisionId

String

The id of the model revision

ifcType

String

The entity type of the product (e.g. IFCWall)

ifcSchema

String

The IFC schema used by the revision (e.g. IFC2X3)

attributes

Object

The attributes of the product

propertySets

Object

The property sets specific to this product ocurrence

quantitySets

Object

The quantity sets specific to this product ocurrence

materials

Array

The materials specific to this product ocurrence

type

Object

Information common to all ocurrences of this type

Attributes

Map of attributes of the product. The key is the name of the attribute.

Example

JSON


Parameters

Name

Type

Description

ifcType

String

The entity type of the attribute (e.g. IFCLabel)

type

String

The type of the attribute

value

String

The value of the attribute

unit

String

The unit of the attribute if applicable

Property Sets

Map of property sets of the product. The key is the name of the property set.

Example

JSON


Parameters

Name

Type

Description

objectId

Number

The object id of the property set

revisionId

String

The id of the model revision

ifcSchema

String

The IFC schema used by the revision (e.g. IFC2X3)

ifcType

String

The entity type of the property set

attributes

Object

The attributes of the property set

properties

Object

The properties of the property set

Properties

Map of properties of the property set. The key is the name of the property.

Example

JSON


Property Parameters

Name

Type

Description

ifcType

String

The entity type of the property

value

Object

The value for the specific ifcType, see below

The key and shape of the value object depends on the ifcType of the property.

IfcType

Key

Type

IfcPropertySingleValue

nominalValue

Value

IfcPropertyEnumeratedValue

enumerationValues

Array

IfcPropertyListValue

listValues

Array

IfcPropertyBoundedValue

lowerBoundValue & upperBoundValue

Value

IfcPropertyReferenceValue

propertyReference

Value

IfcComplexProperty

properties

Map[Value]

Value

The value of the property.

Name

Type

Description

ifcType

String

The entity type of the value

type

String

The type of the value

value

String

The value of the value

IfcPropertyBoundedValue example

JSON


IfcComplexProperty example

JSON


Quantity Sets

Map of quantity sets of the product. The key is the name of the quantity set.

Example

JSON


Parameters

Name

Type

Description

objectId

Number

The object id of the quantity set

revisionId

String

The id of the model revision

ifcSchema

String

The IFC schema used by the revision (e.g. IFC2X3)

ifcType

String

The entity type of the quantity set

attributes

Object

The attributes of the quantity set

quantities

Object

The quantities of the quantity set

Quantities

Map of quantities of the quantity set. The key is the name of the quantity.

Example

JSON


Quantity Parameters

Name

Type

Description

ifcType

String

The entity type of the property

value

Object

The value for the specific ifcType, see below

Value is one of the following.

  • The key will be value and the value will be a single value object.

Materials

The materials of the product. The IFC data model has a wide range of material entities and it is not possible to cover all of them here. The materials are represented as an array of material objects.

Example

JSON


Material Parameters

Name

Type

Description

objectId

Number

The object id of the material

ifcSchema

String

The IFC schema used by the revision (e.g. IFC2X3)

ifcType

String

The entity type of the material

attributes

Object

The attributes of the material

Type

The type defines a list of commonly shared property sets, quantity sets and materials for all occurrences of the type.

Example

JSON


Parameters

Name

Type

Description

objectId

Number

The object id of the type

revisionId

String

The id of the model revision

ifcSchema

String

The IFC schema used by the revision (e.g. IFC2X3)

ifcType

String

The entity type of the type (e.g. IFCWallType)

attributes

Object

The attributes of the type

propertySets

Object

The property sets common to all ocurrences of this type

quantitySets

Object

The quantity sets common to all ocurrences of this type

materials

Array

The materials common to all ocurrences of this type

The shape of attributes, propertySets, quantitySets and materials is the same as described in the previous sections.

Usage Example

Below is an example of how a product is provided through the Catenda APIs and then how it could be presented after combining the base type data with the product instance data.

Product technical sheet

Product