STEP-file

Introduction

Let's take a look at our Window example.

#13067= IFCWINDOW('2cXV28XOjE6f6irgi0CO$D',#42,'M_Fixed:0915 x 1830mm:353953',$,'M_Fixed:0915 x 1830mm',#35337,#13061,'353953',1830.,914.999999999999);

This lines follows this encoding template:

  1. Instance Name

  2. Entity Name

  3. Attributes

We can express this template in two different ways:

1. Instance Name = 2. Entity name(3. Attributes)

We have, in this example:

Name

Value

Instance Name

#13067

Entity Name

IFCWINDOW

Attributes

'2cXV28XOjE6f6irgi0CO$D', #42,'M_Fixed:0915 x 1830mm:353953',

$,

'M_Fixed:0915 x 1830mm',

#35337,

#13061,

'353953',

1830.,

914.999999999999

STEP-file Encoding

Here are some basic encoding rules

Name

Description

Instance Name

The instance name must consist of a positive integer. The instance name is only valid locally within the STEP-file.

  • If the same content is exported again, the instance names may be different.

The instance name is also used to reference other entity instances through attribute values or aggregate members.

  • The referenced instance may be defined before or after the current instance.

Entity Name

Instances are represented by writing the name of the entity in capital letters and then followed by the attribute values in the defined order within parentheses.

Attributes

  • Only explicit attributes get mapped

    • Inverse, Derived and re-declared attributes are not listed since their values can be deduced from the other ones.

  • Unset attribute values are given as "$".

  • Multuple values are comma separated

Again, this can be visualized as:

#Instance Name = Entity name(Attributes)

Or, as our example:

#13067 = IFCWINDOW('2cXV28X...)

Or, as a single line:

#13067= IFCWINDOW('2cXV28...);

Additional Notes

Mapping of other data types

Example

Enumeration, boolean and logical values are given in capital letters with a leading and trailing do

.TRUE.

Integers and real values are used identical to typical programming languages

123

String values are given in quotes.

"My string"

For characters with a code greater than 126 a special encoding is used. The character sets as defined in ISO 8859 and 10646 are supported.

N/A

The elements of aggregates (SET, BAG, LIST, ARRAY) are given in parentheses, separated by ",".

(1,2,3)

Each entity instance is ended with a semi-colon

;

Editor's note:

I know that this can hard to understand. Please, take a good look at this article. Read it agian, think and reflect about the content.

Work in progress...

Last updated