IFC 4.3.0.0 (IFC4X3) final

8.20.3.7 IfcFace

8.20.3.7.1 Semantic definition

An IfcFace is topological entity used to define surface, bounded by loops, of a shell.

Informal Propositions:

  1. No edge shall be referenced by the face more than twice.
  2. Distinct face bounds of the face shall have no common vertices.
  3. If geometry is present, distinct loops of the same face shall not intersect.
  4. The face shall satisfy the Euler Equation: (number of vertices) - (number of edges) - (number of loops) + (sum of genus for loops) = 0.

8.20.3.7.2 Entity inheritance

8.20.3.7.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
IfcFace (2)
1 Bounds SET [1:?] OF IfcFaceBound

Boundaries of the face.

HasTextureMaps SET [0:?] OF IfcTextureMap FOR MappedTo

No description available.

Table 8.20.3.7.B

8.20.3.7.4 Formal propositions

Name Description
HasOuterBound

At most one of the bounds shall be of the type IfcFaceOuterBound.

SIZEOF(QUERY(temp <* Bounds | 'IFC4X3.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1
Table 8.20.3.7.C

8.20.3.7.5 Examples

8.20.3.7.6 Formal representation

ENTITY IfcFace
 SUPERTYPE OF (ONEOF
	(IfcFaceSurface))
 SUBTYPE OF (IfcTopologicalRepresentationItem);
	Bounds : SET [1:?] OF IfcFaceBound;
 INVERSE
	HasTextureMaps : SET [0:?] OF IfcTextureMap FOR MappedTo;
 WHERE
	HasOuterBound : SIZEOF(QUERY(temp <* Bounds | 'IFC4X3.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1;
END_ENTITY;

8.20.3.7.7 References

8.20.3.7.8 Changelog

  • inverses, HasTextureMaps
  • where_rules, HasOuterBound
  • where_rules, WR1