IfcCurveStyle

Natural language names
Linienstil
Curve Style
Style de courbe
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcCurveStyle
      ModelOrDraughtingADDED
IFC4 Addendum 1
    IfcCurveStyle
      ModelOrDraughtingMODIFIEDType changed from BOOLEAN to IfcBoolean.
Semantic definitions at the entity
Entity definition

An IfcCurveStyle provides the style table for presentation information assigned to geometric curves. The style is defined by a color, a font and a width. The IfcCurveStyle defines curve patterns as model patterns, that is, the distance between visible and invisible segments of curve patterns are given in model space dimensions (that have to be scaled using the target plot scale).

Styles are intended to be shared by multiple IfcStyledItem's, assigning the style to occurrences of (subtypes of) IfcGeometricRepresentationItem's. Measures given to a font pattern or a curve width are given in global drawing length units.

NOTE  global units are defined at the single IfcProject instance, given by UnitsInContext:IfcUnitAssignment, the same units are used for the geometric representation items and for the style definitions.

The measure values for font pattern and curve width apply to the model space with a target plot scale provided for the correct appearance in the default plot scale.. For different scale and projection dependent curve styles a different instance of IfcCurveStyle needs to be used by IfcPresentationStyleAssignment for different IfcGeometricRepresentationSubContext dependent representations.

NOTE  the target plot scale is given by IfcGeometricRepresentationSubContext.TargetScale.

An IfcCurveStyle can be assigned to IfcGeometricRepresentationItem's via the IfcPresentationStyleAssignment through an intermediate IfcStyledItem or IfcAnnotationCurveOccurrence.

NOTE  Definition according to ISO/CD 10303-46:1992
A curve style specifies the visual appearance of curves.
NOTE  Corresponding ISO 10303 name: curve_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard.
HISTORY  New entity in IFC2x2.
Attribute definitions
#AttributeTypeCardinalityDescription G
2CurveFontIfcCurveFontOrScaledCurveFontSelect? A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies.X
3CurveWidthIfcSizeSelect? A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies.X
4CurveColourIfcColour? The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies.X
5ModelOrDraughtingIfcBoolean? Indication whether the length measures provided for the presentation style are model based, or draughting based.
IFC4 CHANGE  New attribute.
X
Formal Propositions
RuleDescription
MeasureOfWidthThe curve width, if provided, shall be given by an IfcPositiveLengthMeasure representing the curve width in the default measure unit, or by an IfcDescriptiveMeasure with the value 'by layer' representing the curve width by the default curve width at the associated layer.
IdentifiableCurveStyleAt minimum one of the three attribute values have to be provided, CurveFont, CurveWidth, CurveColour.
Inherited definitions from supertypes
Entity inheritance IfcPresentationStyle
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcPresentationStyle
1NameIfcLabel? Name of the presentation style.X
IfcCurveStyle
2CurveFontIfcCurveFontOrScaledCurveFontSelect? A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies.X
3CurveWidthIfcSizeSelect? A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies.X
4CurveColourIfcColour? The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies.X
5ModelOrDraughtingIfcBoolean? Indication whether the length measures provided for the presentation style are model based, or draughting based.
IFC4 CHANGE  New attribute.
X
Formal representations
XML Specification
 <xs:element name="IfcCurveStyle" type="ifc:IfcCurveStyle" substitutionGroup="ifc:IfcPresentationStyle" nillable="true"/>
 <xs:complexType name="IfcCurveStyle">
  <xs:complexContent>
   <xs:extension base="ifc:IfcPresentationStyle">
    <xs:sequence>
     <xs:element name="CurveFont" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcCurveFontOrScaledCurveFontSelect"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="CurveWidth" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcSizeSelect"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="CurveColour" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcColour"/>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="ModelOrDraughting" type="ifc:IfcBoolean" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcCurveStyle
 SUBTYPE OF (IfcPresentationStyle);
  CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect;
  CurveWidth : OPTIONAL IfcSizeSelect;
  CurveColour : OPTIONAL IfcColour;
  ModelOrDraughting : OPTIONAL IfcBoolean;
 WHERE
  MeasureOfWidth : (NOT(EXISTS(CurveWidth))) OR
('IFCMEASURERESOURCE.IfcPositiveLengthMeasure' IN TYPEOF(CurveWidth)) OR
(('IFCMEASURERESOURCE.IfcDescriptiveMeasure' IN TYPEOF(CurveWidth)) AND
(CurveWidth = 'by layer'));
  IdentifiableCurveStyle : EXISTS(CurveFont) OR EXISTS(CurveWidth) OR EXISTS(CurveColour);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcFillAreaStyleHatching IfcPresentationStyleSelect

Link to this page  Link to this page