首页 > 其他分享 >IfcTable

IfcTable

时间:2022-12-31 18:12:29浏览次数:47  
标签:rows IfcTable number Rows IfcInteger table

IfcTable

实体定义

IfcTable是用于以行和列的形式提供信息的数据结构。每个实例可以有IfcTableColumn实例,用于定义每个列的名称、描述和单位。信息行存储为IfcTableRow对象列表。

 

限制:为了向后兼容,IfcTable对象的行被约束为具有相同数量的单元格。表格的第一行提供了单元格的数量。所有其他行都必须包含相同数量的单元格。这由WR2执行。

 

下图说明了表格的使用。

 

 

下图描述了IFC4之前表格的结构。

 

 

 

IFC1.5中的新实体。

IFC4 添加了列属性。

 

Formal Propositions

RuleDescription
WR1 Ensures that each row defines the same number of cells. The rule compares whether all other rows of the IfcTable have the same number of cells as the first row.
WR2 The rule restricts the allowed number of heading rows to no more than one.
 

 

 

 

Attribute inheritance

#AttributeTypeCardinalityDescriptionC
IfcTable
1 Name IfcLabel [0:1]   X
2 Rows IfcTableRow L[1:?] Reference to information content of rows. X
3 Columns IfcTableColumn L[1:?] The column information associated with this table. X
  NumberOfCellsInRow
:=HIINDEX(Rows[1].RowCells)
IfcInteger [1:1] The number of cells in each row, this complies to the number of columns in a table. See WR2 that ensures that each row has the same number of cells. The actual value is derived from the first member of the Rows list. X
  NumberOfHeadings
:=SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading))
IfcInteger [1:1] The number of headings in a table. This is restricted by WR3 to max. one. X
  NumberOfDataRows
:=SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading)))
IfcInteger [1:1] The number of rows in a table that contains data, i.e. total number of rows minus number of heading rows in table. X
 

EXPRESS Specification

ENTITY IfcTable;
  Name : OPTIONAL IfcLabel;
  Rows : OPTIONAL LIST [1:?] OF IfcTableRow;
  Columns : OPTIONAL LIST [1:?] OF IfcTableColumn;
 DERIVE
  NumberOfCellsInRow : IfcInteger := HIINDEX(Rows[1].RowCells);
  NumberOfHeadings : IfcInteger := SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading));
  NumberOfDataRows : IfcInteger := SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading)));
 WHERE
  WR1 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0;
  WR2 : { 0 <=

 

 

###############

标签:rows,IfcTable,number,Rows,IfcInteger,table
From: https://www.cnblogs.com/herd/p/16990657.html

相关文章

  • IfcTableColumn
    IfcTableColumn实体定义IfcTableColumn是一种数据结构,用于捕获IfcTable中使用的列信息。每个实例都定义了标识符、名称、描述和度量单位,它们适用于与IfcTableRow对象关联......
  • IfcTableRow
    IfcTableRow实体定义IfcTableRow包含IfcTable中单行的数据。 限制:为了向后兼容,IfcTable引用的所有IfcTableRow对象应具有相同数量的行单元格。实际单元格数应取自该表......