IfcFace

Natural language names
Semantic definitions at the entity
Entity definition

Definition from ISO/CD 10303-42:1992: A face is a topological entity of dimensionality 2 corresponding to the intuitive notion of a piece of surface bounded by loops. Its domain, if present, is an oriented, connected, finite 2-manifold in Rm. A face domain shall not have handles but it may have holes, each hole bounded by a loop. The domain of the underlying geometry of the face, if present, does not contain its bounds, and 0 < Ξ < ∞.

A face is represented by its bounding loops, which are defined as face bounds. A face has a topological normal n and the tangent to a loop is t. For a loop bounding a face with defined geometry, the cross product n x t points toward the interior of the face. That is, each loop runs counter-clockwise around the face when viewed from above, if we consider the normal n to point up. With each loop is associated a BOOLEAN flag to signify whether the loop direction is oriented with respect to the face normal (TRUE) or should be reversed (FALSE).

A face shall have at least one bound, and the loops shall not intersect. One loop is optionally distinguished as the outer loop of the face. If so, it establishes a preferred way of embedding the face domain in the plane, in which the other bounding loops of the face are inside the outer bound. Because the face domain is arcwise connected, no inner loop will contain any other loop. This is true regardless of which embedding in the plane is chosen.

The edges and vertices referenced by the loops of a face form a graph, of which the individual loops are the connected components. The Euler equation (1) for this graph becomes:

where Gli is the graph genus of the i th loop.

NOTE Corresponding STEP entity: face. No subtypes of face have been incorporated into this IFC Release. Please refer to ISO/IS 10303-42:1994, p. 140 for the final definition of the formal standard. The WR1 has not been incorporated, since it is always satisfied, due to the fact that only poly loops exist for face bounds.

HISTORY New class in IFC Release 1.0

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.
Attribute definitions
#AttributeTypeCardinalityDescription A
1BoundsIfcFaceBoundS[1:?] Boundaries of the face. X
Formal Propositions
RuleDescription
WR1At most one of the bounds shall be of the type IfcFaceOuterBound
Inherited definitions from supertypes
Entity inheritance IfcFaceSurface IfcTopologicalRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionA
IfcRepresentationItem
IfcTopologicalRepresentationItem
IfcFace
1BoundsIfcFaceBoundS[1:?] Boundaries of the face. X
Formal representations
XSD Specification
 <xs:element name="IfcFace" type="ifc:IfcFace" substitutionGroup="ifc:IfcTopologicalRepresentationItem" nillable="true"/>
 <xs:complexType name="IfcFace">
  <xs:complexContent>
   <xs:extension base="ifc:IfcTopologicalRepresentationItem">
    <xs:sequence>
     <xs:element name="Bounds">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcFaceBound" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcFaceBound"/>
       <xs:attribute ref="ifc:cType" fixed="set"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcFace
 SUPERTYPE OF(IfcFaceSurface)
 SUBTYPE OF (IfcTopologicalRepresentationItem);
  Bounds : SET [1:?] OF IfcFaceBound;
 WHERE
  WR1 : SIZEOF(QUERY(temp <* Bounds | 'IFCGEOMETRYRESOURCE.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page