IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.20.3.6 IfcEdgeLoop

8.20.3.6.1 Semantic definition

{ .extDef}

Informal Propositions

  1. The genus of the IfcEdgeLoop shall be 1 or greater.
  2. The Euler formula shall be satisfied: (number of vertices) + genus - (number of edges) = 1;
  3. No edge may be referenced more than once by the same IfcEdgeLoop with the same sense. For this purpose, an edge which is not an oriented edge is considered to be referenced with the sense TRUE.

8.20.3.6.2 Entity inheritance

8.20.3.6.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items.

StyledByItem SET [0:1] OF IfcStyledItem FOR Item

Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.

Click to show 2 hidden inherited attributes Click to hide 2 inherited attributes
IfcEdgeLoop (2)
1 EdgeList LIST [1:?] OF IfcOrientedEdge

A list of oriented edge entities which are concatenated together to form this path.

* Ne IfcInteger

This attribute is formally derived.

 SIZEOF(EdgeList)

The number of elements in the edge list.

Table A

8.20.3.6.4 Formal propositions

Name Description
IsClosed

The start vertex of the first edge shall be the same as the end vertex of the last edge. This ensures that the path is closed to form a loop.

(EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd)
IsContinuous

The end vertex of each edge shall be the same as the start vertex of its successor.

IfcLoopHeadToTail(SELF)
Table B

8.20.3.6.5 Formal representation

ENTITY IfcEdgeLoop
SUBTYPE OF (IfcLoop);
EdgeList : LIST [1:?] OF IfcOrientedEdge;
DERIVE
Ne : IfcInteger := SIZEOF(EdgeList);
WHERE
IsClosed : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd);
IsContinuous : IfcLoopHeadToTail(SELF);
END_ENTITY;

8.20.3.6.6 References

Edit on Github

4 contributor(s): ArturTomczakThomas KrijnenDion MoultbSI-Bot
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!

8.20.3.6.7 Changelog

8.20.3.6.7.1 IFC4

  • where rule, IsClosed
  • where rule, IsContinuous
  • where rule, WR1
  • where rule, WR2