Initialization of IfcTable

Hi everyone,
The IfcTable is defined as below:

I’m a little confused about the definition of Rows and Columns.
I think the data of rows will be overlapped with columns.
A lot of information will be repeated.
Is there a problem with my understanding?

I will really appreciate your concerns.
Thank You!

Best regard.

Hi Shihang

First of all I must say that we have experienced that IfcTable handling varies (heavily) from viewer to viewer. That could be because (if I recall it right) IfcTable usage is not part of certification.

Our export produces IfcTable according this definition (well, at least try):
Please see attached MyTableTest-1.ifc file. You can see how values are set when you find IfcPropertyTableValue from file.

Picture below tells how four commonly used viewers interprets IfcTable values.

Only one viewer (lower left corner) shows values as we expect but saying that we both (exporter/receiver) can be wrong in similar way.

Shishang, do you have specific need for table? Maybe you can show table properties in some other way (single values) since IfcTable handling is in ‘early stage’.

MyTableTest-1.ifc (44.0 KB)

Kind regards,

IfcTable is not the same as IfcPropertyTableValue. The first is a general table structure more suitable for presentation. The second is a specific “lookup table”, i.e exactly two column that map one value to the other.

For IfcTable specifically keep in mind that the Columns are optional. They only provide additional data. You can also just have Rows with the first IsHeading=TRUE

Right, thanks for sorting this out. My mistake.

Hi, if I want to preset the first table row as “A,B,C,D”.
Could you give me an example to express it using Express, like below:

ENTITY IfcTableRow;
RowCells : OPTIONAL LIST [1:?] OF IfcValue;
IsHeading : OPTIONAL IfcBoolean;

Thank You!

Best regard.