4.1.8.1.2.1 Type Body AdvancedBrep Geometry
The following diagram shows the generic classes and relationships used when applying this concept.
In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.
G
IfcTypeProduct
IfcTypeProduct
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
HasAssignments
[0:?]
Nests
[0:1]
IsNestedBy
[0:?]
HasContext
[0:1]
IsDecomposedBy
[0:?]
Decomposes
[0:1]
HasAssociations
[0:?]
5. ApplicableOccurrence
[0:1]
6. HasPropertySets
[1:?]
Types
[0:1]
7. RepresentationMaps
[1:?]
8. Tag
[0:1]
ReferencedBy
[0:?]
IfcRepresentationMap
IfcRepresentationMap
1. MappingOrigin
[1:1]
2. MappedRepresentation
[1:1]
HasShapeAspects
[0:?]
MapUsage
[0:?]
IfcTypeProduct :RepresentationMaps1->IfcRepresentationMap :IfcRepresentationMap0
IfcShapeRepresentation
IfcShapeRepresentation
1. ContextOfItems
[1:1]
2. RepresentationIdentifier
[0:1]
RepresentationType
3. RepresentationType
[0:1]
Geometry
4. Items
[1:?]
RepresentationMap
[0:1]
LayerAssignments
[0:?]
OfProductRepresentation
[0:?]
OfShapeAspect
[0:1]
IfcRepresentationMap :MappedRepresentation1->IfcShapeRepresentation :IfcShapeRepresentation0
IfcAxis2Placement3D
IfcAxis2Placement3D
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Location
[1:1]
2. Axis
[0:1]
3. RefDirection
[0:1]
IfcRepresentationMap :MappingOrigin1->IfcAxis2Placement3D :IfcAxis2Placement3D0
IfcAxis2Placement2D
IfcAxis2Placement2D
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Location
[1:1]
2. RefDirection
[0:1]
IfcRepresentationMap :MappingOrigin1->IfcAxis2Placement2D :IfcAxis2Placement2D0
IfcGeometricRepresentationContext
IfcGeometricRepresentationContext
1. ContextIdentifier
[0:1]
2. ContextType
[0:1]
RepresentationsInContext
[0:?]
3. CoordinateSpaceDimension
[1:1]
4. Precision
[0:1]
5. WorldCoordinateSystem
[1:1]
6. TrueNorth
[0:1]
HasSubContexts
[0:?]
HasCoordinateOperation
[0:1]
IfcShapeRepresentation :ContextOfItems1->IfcGeometricRepresentationContext :IfcGeometricRepresentationContext0
IfcLabel_0
IfcLabel
IfcShapeRepresentation :RepresentationIdentifier1->IfcLabel_0:IfcLabel0
IfcLabel_1
IfcLabel
IfcShapeRepresentation :RepresentationType1->IfcLabel_1:IfcLabel0
IfcAdvancedBrep
IfcAdvancedBrep
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Outer
[1:1]
IfcShapeRepresentation :Items1->IfcAdvancedBrep :IfcAdvancedBrep0
IfcClosedShell
IfcClosedShell
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. CfsFaces
[1:?]
IfcAdvancedBrep :Outer1->IfcClosedShell :IfcClosedShell0
IfcAdvancedFace
IfcAdvancedFace
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Bounds
[1:?]
HasTextureMaps
[0:?]
2. FaceSurface
[1:1]
3. SameSense
[1:1]
IfcClosedShell :CfsFaces1->IfcAdvancedFace :IfcAdvancedFace0
IfcFaceOuterBound
IfcFaceOuterBound
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Bound
[1:1]
2. Orientation
[1:1]
IfcAdvancedFace :Bounds1->IfcFaceOuterBound :IfcFaceOuterBound0
IfcBSplineSurfaceWithKnots
IfcBSplineSurfaceWithKnots
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. UDegree
[1:1]
2. VDegree
[1:1]
3. ControlPointsList
[2:?]
4. SurfaceForm
[1:1]
5. UClosed
[1:1]
6. VClosed
[1:1]
7. SelfIntersect
[1:1]
8. UMultiplicities
[2:?]
9. VMultiplicities
[2:?]
10. UKnots
[2:?]
11. VKnots
[2:?]
12. KnotSpec
[1:1]
IfcAdvancedFace :FaceSurface1->IfcBSplineSurfaceWithKnots :IfcBSplineSurfaceWithKnots0
IfcEdgeLoop
IfcEdgeLoop
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. EdgeList
[1:?]
IfcFaceOuterBound :Bound1->IfcEdgeLoop :IfcEdgeLoop0
IfcBoolean_2
IfcBoolean
IfcFaceOuterBound :Orientation1->IfcBoolean_2:IfcBoolean0
IfcCartesianPoint_3
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
IfcBSplineSurfaceWithKnots :ControlPointsList1->IfcCartesianPoint_3:IfcCartesianPoint0
IfcInteger_2
IfcInteger
IfcBSplineSurfaceWithKnots :UDegree1->IfcInteger_2:IfcInteger0
IfcInteger_3
IfcInteger
IfcBSplineSurfaceWithKnots :VDegree1->IfcInteger_3:IfcInteger0
IfcBSplineSurfaceForm
IfcBSplineSurfaceForm
IfcBSplineSurfaceWithKnots :SurfaceForm1->IfcBSplineSurfaceForm :IfcBSplineSurfaceForm0
IfcLogical_2
IfcLogical
IfcBSplineSurfaceWithKnots :UClosed1->IfcLogical_2:IfcLogical0
IfcLogical_3
IfcLogical
IfcBSplineSurfaceWithKnots :VClosed1->IfcLogical_3:IfcLogical0
IfcLogical_4
IfcLogical
IfcBSplineSurfaceWithKnots :SelfIntersect1->IfcLogical_4:IfcLogical0
IfcInteger_4
IfcInteger
IfcBSplineSurfaceWithKnots :UMultiplicities1->IfcInteger_4:IfcInteger0
IfcInteger_5
IfcInteger
IfcBSplineSurfaceWithKnots :VMultiplicities1->IfcInteger_5:IfcInteger0
IfcParameterValue_1
IfcParameterValue
IfcBSplineSurfaceWithKnots :UKnots1->IfcParameterValue_1:IfcParameterValue0
IfcParameterValue_2
IfcParameterValue
IfcBSplineSurfaceWithKnots :VKnots1->IfcParameterValue_2:IfcParameterValue0
IfcKnotType_1
IfcKnotType
IfcBSplineSurfaceWithKnots :KnotSpec1->IfcKnotType_1:IfcKnotType0
IfcOrientedEdge
IfcOrientedEdge
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. EdgeStart
[1:1]
2. EdgeEnd
[1:1]
3. EdgeElement
[1:1]
4. Orientation
[1:1]
IfcEdgeLoop :EdgeList1->IfcOrientedEdge :IfcOrientedEdge0
IfcEdgeCurve
IfcEdgeCurve
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. EdgeStart
[1:1]
2. EdgeEnd
[1:1]
3. EdgeGeometry
[1:1]
4. SameSense
[1:1]
IfcOrientedEdge :EdgeElement1->IfcEdgeCurve :IfcEdgeCurve0
IfcBoolean_1
IfcBoolean
IfcOrientedEdge :Orientation1->IfcBoolean_1:IfcBoolean0
IfcBSplineCurveWithKnots
IfcBSplineCurveWithKnots
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Degree
[1:1]
2. ControlPointsList
[2:?]
3. CurveForm
[1:1]
4. ClosedCurve
[1:1]
5. SelfIntersect
[1:1]
6. KnotMultiplicities
[2:?]
7. Knots
[2:?]
8. KnotSpec
[1:1]
IfcEdgeCurve :EdgeGeometry1->IfcBSplineCurveWithKnots :IfcBSplineCurveWithKnots0
IfcVertexPoint_0
IfcVertexPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. VertexGeometry
[1:1]
IfcEdgeCurve :EdgeStart1->IfcVertexPoint_0:IfcVertexPoint0
IfcVertexPoint_1
IfcVertexPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. VertexGeometry
[1:1]
IfcEdgeCurve :EdgeEnd1->IfcVertexPoint_1:IfcVertexPoint0
IfcBoolean_0
IfcBoolean
IfcEdgeCurve :SameSense1->IfcBoolean_0:IfcBoolean0
IfcInteger_0
IfcInteger
IfcBSplineCurveWithKnots :Degree1->IfcInteger_0:IfcInteger0
IfcCartesianPoint_0
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
IfcBSplineCurveWithKnots :ControlPointsList1->IfcCartesianPoint_0:IfcCartesianPoint0
IfcBSplineCurveForm
IfcBSplineCurveForm
IfcBSplineCurveWithKnots :CurveForm1->IfcBSplineCurveForm :IfcBSplineCurveForm0
IfcLogical_0
IfcLogical
IfcBSplineCurveWithKnots :ClosedCurve1->IfcLogical_0:IfcLogical0
IfcLogical_1
IfcLogical
IfcBSplineCurveWithKnots :SelfIntersect1->IfcLogical_1:IfcLogical0
IfcInteger_1
IfcInteger
IfcBSplineCurveWithKnots :KnotMultiplicities1->IfcInteger_1:IfcInteger0
IfcParameterValue_0
IfcParameterValue
IfcBSplineCurveWithKnots :Knots1->IfcParameterValue_0:IfcParameterValue0
IfcKnotType_0
IfcKnotType
IfcBSplineCurveWithKnots :KnotSpec1->IfcKnotType_0:IfcKnotType0
IfcCartesianPoint_1
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
IfcVertexPoint_0:VertexGeometry1->IfcCartesianPoint_1:IfcCartesianPoint0
IfcCartesianPoint_2
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
IfcVertexPoint_1:VertexGeometry1->IfcCartesianPoint_2:IfcCartesianPoint0
Figure 4.1.8.1.2.1.A
General UsageTable 4.1.8.1.2.1.B