IfcFillAreaStyleHatching

Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface.

Definition from IAI: 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 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 PointOfReferenceHatchLine.

> NOTE The coordinates of the PatternStart and the PointOfReferenceHatchLine are given relative to the assumed 0., 0. virtual point of origin at which the hatch pattern is later positioned by the FillStyleTarget point at IfcAnnotationFillAreaOccurrence. The measure values are given in global drawing length units and apply to the target plot scale for the scale depended representation subcontext.

> NOTE The use of PointOfReferenceHatchLine is deprecated.

Illustration

| Fig.1 simple hatching given by using a curve font "continuous" at HatchLineAppearance. The distance of hatch lines is given by a positive length measure. The angle (here 45' if measures in degree) is provided by HatchLineAngle. The PatternStart is set to NIL ($) in this example. |  | Fig. 2 hatching from figure 1 with using a different curve font at HatchLineAppearance. The distance of hatch lines is given by a positive length measure, therefore the font pattern start is at a point at the next hatch line given by a vector being perpendicular to the point of origin at the reference hatch line. The PatternStart is set to NIL ($) in this example.
| Fig. 3 hatching from figure 2 with using a vector to determine the pattern start of the next hatch lines. The pattern start is the beginning of the first visual curve font pattern segment at IfcCurveFont. CurveFont. The PatternStart is set to NIL ($) in this example. |  | Fig. 4 hatching from figure 3 where the pattern start is offset from the point of origin at the reference hatch line. I.e. the first visible curve font pattern segment now does not start at the point of origin at the reference hatch line.
| Fig. 5 hatching from figure 4 where the hatch pattern is shifted against the underlying coordinate system. The point that is mapped to the insertion point of the IfcAnnotationFillAreaOccurrence now has an x and y offset from the start of the reference hatch line. I.e. the reference hatch line now does not go through the insertion point of the hatching. |  | Fig. 6 use of IfcFillAreaStyleHatching attributes for two IfcFillAreaStyleHatching's within one IfcFillAreaStyle. NOTE: The PatternStart now displaces both the reference hatch line from the point of origin and the start of the curve pattern. This can be used e.g. when more then one IfcFillAreaStyleHatching is used in an IfcFillAreaStyle in order to place rows of hatch lines with an offset from each other.

> NOTE Corresponding STEP name: fill_area_style_hatching. Please refer to ISO/IS 10303-46:1994, p. 108 for the final definition of the formal standard.

> HISTORY New entity in Release IFC2x Edition 2.
> IFC2x Edition 3 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.

EXPRESS specification:

ENTITY IfcFillAreaStyleHatching
SUBTYPE OF ( | IfcGeometricRepresentationItem);
HatchLineAppearance | : | IfcCurveStyle;
StartOfNextHatchLine | : | IfcHatchLineDistanceSelect;
PointOfReferenceHatchLine | : | OPTIONAL IfcCartesianPoint;
PatternStart | : | OPTIONAL IfcCartesianPoint;
HatchLineAngle | : | IfcPlaneAngleMeasure;
WHERE
WR21 | : | NOT( 'IFCPRESENTATIONAPPEARANCERESOURCE.IFCTWODIRECTIONREPEATFACTOR' IN TYPEOF(StartOfNextHatchLine) );
WR22 | : | NOT(EXISTS(PatternStart)) OR (PatternStart.Dim = 2) ;
WR23 | : | NOT(EXISTS(PointOfReferenceHatchLine)) OR (PointOfReferenceHatchLine.Dim = 2);
END_ENTITY;

Attribute definitions:

HatchLineAppearance | : | The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line.
StartOfNextHatchLine | : | A repetition factor that determines the distance between adjacent hatch lines. IFC2x Edition 3 CHANGE The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor.
PointOfReferenceHatchLine | : | 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. IFC2x Edition 3 CHANGE The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL.
PatternStart | : | 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. IFC2x Edition 2 Addendum 2 CHANGE The attribute PatternStart has been made OPTIONAL.
HatchLineAngle | : | A plane angle measure determining the direction of the parallel hatching lines.

Formal Propositions:

WR21 | : | The subtype IfcTwoDirectionRepeatFactor should not be used to define the start of the next hatch line.
WR22 | : | The IfcCartesianPoint, if given as value to PatternStart shall have the dimensionality of 2.
WR23 | : | The IfcCartesianPoint, if given as value to PointOfReferenceHatchLine shall have the dimensionality of 2.

Inheritance graph

ENTITY IfcFillAreaStyleHatching;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments | : | SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem | : | SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcGeometricRepresentationItem;
ENTITY IfcFillAreaStyleHatching;
HatchLineAppearance | : | IfcCurveStyle;
StartOfNextHatchLine | : | IfcHatchLineDistanceSelect;
PointOfReferenceHatchLine | : | OPTIONAL IfcCartesianPoint;
PatternStart | : | OPTIONAL IfcCartesianPoint;
HatchLineAngle | : | IfcPlaneAngleMeasure;
END_ENTITY;