Item | SPF | XML | Change | Description | IFC4x2 to IFC4x3_RC1 |
---|---|---|---|---|
IfcOpenCrossProfileDef | ADDED | IFC4x3_RC3 to IFC4x3_RC4 | ||
IfcOpenCrossProfileDef | MOVED | Schema changed from IfcRoad to IfcProfileResource. | IFC4x3_RC4 Update | |
IfcOpenCrossProfileDef | ||||
OffsetPoint | ADDED |
A two-dimensional open profile defined by widths and slopes for the use within the swept surface geometry, in SectionedSurface in particular. The underlying coordinate system is defined by the swept surface that uses the profile definition; when used in SectionedSurface it is the XY plane of each list member of SectionedSurface.CrossSectionPositions where the profile X axis is oriented perpendicularly to the left of the Directrix (same direction as positive LateralOffset at IfcPointByDistanceExpression) as facing forward along the directrix, and the profile Y axis is oriented upwards or vertically perpendicular to the Directrix depending on the usage in the SectionedSurface. The behaviour of OpenCrossProfileDef in sweeping operation can be controlled by attribute Tags. Tags allow two consecutive cross sections to have different number of break points: points with the same tag value are connected either by assuming linear longitudinal breakline between them, or by a guide curve identified by the same Tag value as the cross section points. ***Formal propositions: The profile type shall be CURVE.
Figure 571 — Open cross profile |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
3 | HorizontalWidths | IfcBoolean | Indicates if the widths shall be measured horizontally or along the slopes. | X | |
4 | Widths | IfcNonNegativeLengthMeasure | L[1:?] | The horizontal widths (when HorizontalWidths=.T.) or distances along the Slope (when HorizontalWidths=.F.) for the segments in the profile. And if Horizontal=.T. the Slopes shall not be = +/- 90 deg. | X |
5 | Slopes | IfcPlaneAngleMeasure | L[1:?] | The slope measure. | X |
6 | Tags | IfcLabel | ? L[2:?] | X | |
7 | OffsetPoint | IfcCartesianPoint | ? | Optional Cartesian point to nominate the profile curve start. The provided slopes and widths emerge from this point. If no value is given, the profile initiates at the alignment intersection with the profile plane. | X |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcProfileDef | |||||
1 | ProfileType | IfcProfileTypeEnum | Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. | X | |
2 | ProfileName | IfcLabel | ? | Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. | X |
HasExternalReference | IfcExternalReferenceRelationship @RelatedResourceObjects | S[0:?] | Reference to external information, e.g. library, classification, or document information, which is associated with the profile.
IFC4 CHANGE New inverse attribute | X | |
HasProperties | IfcProfileProperties @ProfileDefinition | S[0:?] | Additional properties of the profile, for example mechanical properties.
IFC4 CHANGE New inverse attribute | X | |
IfcOpenCrossProfileDef | |||||
3 | HorizontalWidths | IfcBoolean | Indicates if the widths shall be measured horizontally or along the slopes. | X | |
4 | Widths | IfcNonNegativeLengthMeasure | L[1:?] | The horizontal widths (when HorizontalWidths=.T.) or distances along the Slope (when HorizontalWidths=.F.) for the segments in the profile. And if Horizontal=.T. the Slopes shall not be = +/- 90 deg. | X |
5 | Slopes | IfcPlaneAngleMeasure | L[1:?] | The slope measure. | X |
6 | Tags | IfcLabel | ? L[2:?] | X | |
7 | OffsetPoint | IfcCartesianPoint | ? | Optional Cartesian point to nominate the profile curve start. The provided slopes and widths emerge from this point. If no value is given, the profile initiates at the alignment intersection with the profile plane. | X |
# | Concept | Template | Model View |
---|---|---|---|
IfcProfileDef | |||
Property Sets for Objects | Property Sets for Objects | General Usage |
<xs:element name="IfcOpenCrossProfileDef" type="ifc:IfcOpenCrossProfileDef" substitutionGroup="ifc:IfcProfileDef" nillable="true"/>
<xs:complexType name="IfcOpenCrossProfileDef">
<xs:complexContent>
<xs:extension base="ifc:IfcProfileDef">
<xs:sequence>
<xs:element name="OffsetPoint" type="ifc:IfcCartesianPoint" nillable="true" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="HorizontalWidths" type="ifc:IfcBoolean" use="optional"/>
<xs:attribute name="Widths" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcNonNegativeLengthMeasure"/>
</xs:simpleType>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Slopes" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcPlaneAngleMeasure"/>
</xs:simpleType>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Tags" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="ifc:IfcLabel"/>
</xs:simpleType>
<xs:minLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcOpenCrossProfileDef
SUBTYPE OF (IfcProfileDef);
HorizontalWidths : IfcBoolean;
Widths : LIST [1:?] OF IfcNonNegativeLengthMeasure;
Slopes : LIST [1:?] OF IfcPlaneAngleMeasure;
Tags : OPTIONAL LIST [2:?] OF IfcLabel;
OffsetPoint : OPTIONAL IfcCartesianPoint;
WHERE
CorrectProfileType : SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE;
CorrespondingSlopeWidths : SIZEOF(Slopes) = SIZEOF(Widths);
CorrespondingTags : (NOT EXISTS (Tags)) OR (SIZEOF(Tags) = (SIZEOF(Slopes) + 1));
END_ENTITY;