8.9.3.68 IfcSurfaceCurve
8.9.3.68.1 Semantic definition
An IfcSurfaceCurve is a 3-dimensional curve that has additional representations provided by one or two pcurves.
Informal Propositions
- Where Curve3D and one or two pcurves exist they shall represent the same mathematical point set. (i.e., they shall coincide geometrically but may differ in parametrisation.)
- The Curve3D and any associated pcurves shall agree with respect to their senses.
8.9.3.68.2 Entity inheritance
-
- IfcCurve
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.68.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. |
|
IfcCurve (1) | |||
* | Dim | IfcDimensionCount |
This attribute is formally derived.
The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. |
Click to show 3 hidden inherited attributes Click to hide 3 inherited attributes | |||
IfcSurfaceCurve (4) | |||
1 | Curve3D | IfcCurve |
The curve which is the three-dimensional representation of the surface curve. |
2 | AssociatedGeometry | LIST [1:2] OF IfcPcurve |
A list of one or two pcurves which define the surface or surfaces associated with the surface curve. Two elements in this list indicate that the curve has two surface associations which need not be two distinct surfaces. Being a pcurve, it also associates a basis curve in the parameter space of this surface as an alternative representation of the surface curve. |
3 | MasterRepresentation | IfcPreferredSurfaceCurveRepresentation |
The <em<MasterRepresentation defines the curve used to determine the unique parametrisation of the IfcSurfaceCurve. The master_representation takes one of the values Curve3D, PCurve_S1 or PCurve_S2 to indicate a preference for the 3D curve, or the first or second pcurve, in the associated geometry list, respectively. Multiple representations provide the ability to communicate data in more than one form, even though the data is expected to be geometrically identical. |
* | BasisSurface | SET [1:2] OF IfcSurface |
This attribute is formally derived.
The surface, or surfaces on which the IfcSurfaceCurve lies. This is determined from the AssociatedGeometry list. |
8.9.3.68.4 Formal propositions
Name | Description |
---|---|
CurveIs3D |
The Curve2D shall be defined in three-dimensional space. |
|
|
CurveIsNotPcurve |
The Curve3D shall not be a pcurve. |
|
8.9.3.68.5 Formal representation
ENTITY IfcSurfaceCurve
SUPERTYPE OF (ONEOF
(IfcIntersectionCurve
,IfcSeamCurve))
SUBTYPE OF (IfcCurve);
Curve3D : IfcCurve;
AssociatedGeometry : LIST [1:2] OF IfcPcurve;
MasterRepresentation : IfcPreferredSurfaceCurveRepresentation;
DERIVE
BasisSurface : SET [1:2] OF IfcSurface := IfcGetBasisSurface(SELF);
WHERE
CurveIs3D : Curve3D.Dim = 3;
CurveIsNotPcurve : NOT ('IFC4X3_DEV_20bdb3d.IFCPCURVE' IN TYPEOF(Curve3D));
END_ENTITY;