Füllfläche - Schraffurstil | |
Fill Area Style Hatching |
The IfcFillAreaStyleHatching is used to define simple, vector-based hatching patterns, based on styled straight lines. The curve font, color and thickness is given by the HatchLineAppearance, the angle by the HatchLineAngle and the distance to the next hatch line by StartOfNextHatchLine, being either an offset distance or a vector.
NOTE Definition according to ISO 10303-46:
The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface.
NOTE If the hatch pattern involves two (potentially crossing) rows of hatch lines, then two instances of IfcFillAreaStyleHatching should be assigned to the IfcFillAreaStyle. Both share the same (virtual) point of origin of the hatching that is used by the reference hatch line (or the PointOfReferenceHatchLine if there is an offset).
For better control of the hatching appearance, when using hatch lines with other fonts then continuous, the PatternStart allows to offset the start of the curve font pattern along the reference hatch line (if not given, the PatternStart is at zero distance from the virtual point of origin). If the reference hatch line does not go through the origin (of the virtual hatching coordinate system), it can be offset by using the PatternStart .
NOTE The coordinates of the PatternStart are given relative to the origin of the object coordinate of IfcAnnotationFillArea, or if present, the FillAreaTarget attribute of IfcAnnotationFillArea. The measure values are given in global drawing length units, representing a model hatching, and can be translated into drawing units by the TargetScale for a scale depended IfcGeometricRepresentationSubcontext, if provided.
DEPRECATION The use of PointOfReferenceHatchLine is deprecated.
Figure 360 illustrates hatch attributes.
|
||||||||||||
Figure 360 — Fill area style hatching |
NOTE Entity adapted from fill_area_style_hatching defined in ISO10303-46
HISTORY New entity in IFC2x2.
IFC2x3 CHANGE The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed.
IFC4 CHANGE The attribute data type for StartOfNextHatchLine has been changed to be a select of IfcPositiveLengthMeasure and IfcVector.
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
1 | HatchLineAppearance | IfcCurveStyle | [1:1] | The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. | X |
2 | StartOfNextHatchLine | IfcHatchLineDistanceSelect | [1:1] | A repetition factor that determines the distance between adjacent hatch lines. The factor can either be defined by a parallel offset, or by a repeat factor provided by IfcVector. | X |
3 | PointOfReferenceHatchLine | IfcCartesianPoint | [0:1] |
A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. | X |
4 | PatternStart | IfcCartesianPoint | [0:1] |
A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system. | X |
5 | HatchLineAngle | IfcPlaneAngleMeasure | [1:1] | A plane angle measure determining the direction of the parallel hatching lines. | X |
Rule | Description |
---|---|
PatternStart2D | The IfcCartesianPoint, if given as value to PatternStart shall have the dimensionality of 2. |
RefHatchLine2D | The IfcCartesianPoint, if given as value to PointOfReferenceHatchLine shall have the dimensionality of 2. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | 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. | X | |
StyledByItem | IfcStyledItem @Item | S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. | X | |
IfcGeometricRepresentationItem | |||||
IfcFillAreaStyleHatching | |||||
1 | HatchLineAppearance | IfcCurveStyle | [1:1] | The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. | X |
2 | StartOfNextHatchLine | IfcHatchLineDistanceSelect | [1:1] | A repetition factor that determines the distance between adjacent hatch lines. The factor can either be defined by a parallel offset, or by a repeat factor provided by IfcVector. | X |
3 | PointOfReferenceHatchLine | IfcCartesianPoint | [0:1] |
A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. | X |
4 | PatternStart | IfcCartesianPoint | [0:1] |
A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system. | X |
5 | HatchLineAngle | IfcPlaneAngleMeasure | [1:1] | A plane angle measure determining the direction of the parallel hatching lines. | X |
<xs:element name="IfcFillAreaStyleHatching" type="ifc:IfcFillAreaStyleHatching" substitutionGroup="ifc:IfcGeometricRepresentationItem" nillable="true"/>
<xs:complexType name="IfcFillAreaStyleHatching">
<xs:complexContent>
<xs:extension base="ifc:IfcGeometricRepresentationItem">
<xs:sequence>
<xs:element name="HatchLineAppearance" type="ifc:IfcCurveStyle" nillable="true"/>
<xs:element name="StartOfNextHatchLine">
<xs:complexType>
<xs:group ref="ifc:IfcHatchLineDistanceSelect"/>
</xs:complexType>
</xs:element>
<xs:element name="PointOfReferenceHatchLine" type="ifc:IfcCartesianPoint" nillable="true" minOccurs="0"/>
<xs:element name="PatternStart" type="ifc:IfcCartesianPoint" nillable="true" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="HatchLineAngle" type="ifc:IfcPlaneAngleMeasure" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcFillAreaStyleHatching
SUBTYPE OF (IfcGeometricRepresentationItem);
HatchLineAppearance : IfcCurveStyle;
StartOfNextHatchLine : IfcHatchLineDistanceSelect;
PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint;
PatternStart : OPTIONAL IfcCartesianPoint;
HatchLineAngle : IfcPlaneAngleMeasure;
WHERE
PatternStart2D : NOT(EXISTS(PatternStart)) OR (PatternStart.Dim = 2)
;
RefHatchLine2D : NOT(EXISTS(PointOfReferenceHatchLine)) OR (PointOfReferenceHatchLine.Dim = 2);
END_ENTITY;