Close

Relief for ODA Team in Ukraine

Learn more
ODA IFC SDK
IFC Data Types

According to the ISO 10303-11 Standard, the following data types are used to represent product data:

Simple Data Types

Simple data types are represented with the following types:

  • BINARY — Represents a sequence of bits with constant or variable length.
  • BOOLEAN — Refines the LOGICAL type and represents two values:
    • TRUE
    • FALSE
  • INTEGER — Defines all integer numbers and refines the REAL data type.
  • LOGICAL — Defines a set of logical values:
    • TRUE
    • FALSE
    • UNKNOWN
  • NUMBER — Represents all numeric values. This data type is recommended to use in cases when more precise representation is not necessary.
  • REAL — Includes rational, irrational, and real scientific numbers and refines the NUMERIC data type.
  • STRING — Represents a sequence of characters with constant or variable length.

Aggregate Data Types

Aggregate data types are used to represent different types of sets that contain values of one main type. THe IFC format assumes the following aggregates:

  • ARRAY — A container of a fixed number of elements. Each element can be accessed using its index.
  • LIST — A sequence of elements that can be accessed using its position. The size of the list can be changed.
  • BAG — An unordered set that can contain duplicates.
  • SET — An unordered set that cannot contain duplicates.

Named Data Types

Named data types are defined within a formalized specification:

  • ENTITY — Represents a complicated object that may contain attributes of different types.
  • TYPE — A data type that has been previously defined or a simple type. This allows defining a data type with a concrete purpose. For example, you can define a data type for a car speed by using the definition of a SPEED data type that is defined through the REAL type.

Constructed Data Types

  • ENUMERATION — A set of values for enumerations is defined through a list of acceptable values.
  • SELECT — Values are provided as a result of choosing one of the available objects or data types. For example, you can define data types of MECHANICAL_GEAR and AUTOMATIC_GEAR and then define an attribute with data type KIND_OF_GEAR for a car entity. Values of the KIND_OF_GEAR data type are selected between instances of MECHANICAL_GEAR and AUTOMATIC_GEAR types.

Generalized Data Types

Generalized data types are used to establish the generalization of other data types and are used within very specific contexts.

  • GENERIC — A generalization of all other data types.
  • AGGREGATE — A generalization data type for aggregate data types.

See Also

IFC SDK Overview
API Reference
Copyright © 2002 – 2022. Open Design Alliance. All rights reserved.