An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices.
An IfcAdvancedFace is restricted to:
- have a face surface geometry of type IfcElementarySurface, IfcSweptSurface or IfcBSplineSurface,
- have one IfcFaceOuterBound as the bound of the face, with the exception of closed surfaces,
- have all faces to be bound by IfcEdgeLoop or IfcVertexLoop,
- have all edges to have an edge curve geometry,
- have the edge curve geometry restricted to IfcLine, IfcConic, IfcPolyline, or IfcBSplineCurve
In case of closed faces with periodic surfaces, such as cylindrical or spherical surfaces, the following applies:
- the edges of the closed surface, in case of a cylindrical surface the upper and lower cap, refer to the same instance of IfcVertexPoint twice,
- no IfcFaceOuterBound is provided, or the IfcFaceOuterBound is constructed using an IfcSeamCurve at the periodic end of the underlying closed surface, in case of a cylindrical surface at 0./360. degree.
|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.
|1||Bounds||SET [1:?] OF IfcFaceBound||
Boundaries of the face.
|HasTextureMaps||SET [0:?] OF IfcTextureMap FOR MappedTo||
No description available.
|Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes|
The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds.
This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face.
The geometry of all bounding edges of the face shall be fully defined as IfcEdgeCurve's.
ENTITY IfcAdvancedFace SUBTYPE OF (IfcFaceSurface); WHERE ApplicableEdgeCurves : SIZEOF(QUERY (ElpFbnds <* QUERY (Bnds <* SELF\IfcFace.Bounds | 'IFC4X3_DEV_64d1fa4d.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) | NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList | NOT (SIZEOF (['IFC4X3_DEV_64d1fa4d.IFCLINE', 'IFC4X3_DEV_64d1fa4d.IFCCONIC', 'IFC4X3_DEV_64d1fa4d.IFCPOLYLINE', 'IFC4X3_DEV_64d1fa4d.IFCBSPLINECURVE'] * TYPEOF(Oe\IfcOrientedEdge.EdgeElement\IfcEdgeCurve.EdgeGeometry)) = 1 ) )) = 0 ))) = 0; ApplicableSurface : SIZEOF ( ['IFC4X3_DEV_64d1fa4d.IFCELEMENTARYSURFACE', 'IFC4X3_DEV_64d1fa4d.IFCSWEPTSURFACE', 'IFC4X3_DEV_64d1fa4d.IFCBSPLINESURFACE'] * TYPEOF(SELF\IfcFaceSurface.FaceSurface)) = 1; RequiresEdgeCurve : SIZEOF(QUERY (ElpFbnds <* QUERY (Bnds <* SELF\IfcFace.Bounds | 'IFC4X3_DEV_64d1fa4d.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) | NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList | NOT('IFC4X3_DEV_64d1fa4d.IFCEDGECURVE' IN TYPEOF(Oe\IfcOrientedEdge.EdgeElement) ))) = 0 ))) = 0; END_ENTITY;