#### IfcPolyLoop

Natural language names

##### Semantic definitions at the entity

Entity definition

Definition from ISO/CD 10303-42:1992: A poly loop is a loop with straight edges bounding a planar region in space. A poly loop is a loop of genus 1 where the loop is represented by an ordered coplanar collection of points forming the vertices of the loop. The loop is composed of straight line segments joining a point in the collection to the succeeding point in the collection. The closing segment is from the last to the first point in the collection.

The direction of the loop is in the direction of the line segments.

> NOTE This entity exists primarily to facilitate the efficient communication of faceted B-rep models.

A poly loop shall conform to the following topological constraints:

  - the loop has the genus of one.
  - the following equation shall be satisfied

The IfcPolyLoop is always closed and the last segment is from the last IfcCartesianPoint in the list of Polygon's to the first IfcCartesianPoint. Therefore the first point shall not be repeated at the end of the list, neither by referencing the same instance, nor by using an additional instance of IfcCartesianPoint having the coordinates as the first point.

> NOTE Corresponding STEP entity: poly_loop. Please refer to ISO/IS 10303-42:1994, p. 138 for the final definition of the formal standard. Due to the general IFC model specification rule not to use multiple inheritance, the subtype relationship to geometric_representation_item is not included. The derived attribute Dim has been added at this level.
> HISTORY New class in IFC Release 1.0

Informal propositions:

1. All the points in the polygon defining the poly loop shall be coplanar.
2. The first and the last Polygon shall be different by value.

Attribute definitions

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
1 | Polygon | IfcCartesianPoint | ~L[3:?] | List of points defining the loop. There are no repeated points in the list. | X

Formal Propositions

Rule | Description
--- | ---
WR21 | The space dimensionality of all Points shall be the same.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
IfcRepresentationItem
IfcTopologicalRepresentationItem
IfcLoop
IfcPolyLoop
1 | Polygon | IfcCartesianPoint | ~L[3:?] | List of points defining the loop. There are no repeated points in the list. | X

##### Formal representations

XSD Specification
`<xs:element name="IfcPolyLoop" type="ifc:IfcPolyLoop" substitutionGroup="ifc:IfcLoop" nillable="true"/>
<xs:complexType name="IfcPolyLoop">
<xs:complexContent>
<xs:extension base="ifc:IfcLoop">
<xs:sequence>
<xs:element name="Polygon">
<xs:complexType>
<xs:sequence>
<xs:element ref="ifc:IfcCartesianPoint" minOccurs="3" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcCartesianPoint"/>
<xs:attribute ref="ifc:cType" fixed="list-unique"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcPolyLoop
SUBTYPE OF (IfcLoop);
Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint;
WHERE
WR21 : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0;
END_ENTITY;

EXPRESS-G diagram

`

Link to this page