IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.12.3.5 IfcCurveStyle(曲线样式)

RV ⓘ
AbV ⓘ

8.12.3.5.1 语义定义(Semantic definition)

IfcCurveStyle 为分配给几何曲线的呈现信息提供样式表。该样式通过颜色、线型和宽度定义。IfcCurveStyle 将曲线模式定义为模型模式,即曲线模式中可见和不可见线段之间的距离以模型空间尺寸给出(需要使用目标出图比例进行缩放)。

样式旨在被多个 IfcStyledItem 共享,将样式分配给 IfcGeometricRepresentationItem(及其子类型)的实例。赋予线型模式或曲线宽度的度量以全局绘图长度单位给出。

线型模式和曲线宽度的度量值适用于模型空间,并提供了目标出图比例以确保在默认出图比例下的正确外观。

IfcCurveStyle 可以通过 IfcStyledItem 分配给 IfcGeometricRepresentationItem

8.12.3.5.2 实体继承(Entity inheritance)

8.12.3.5.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcPresentationStyle (1)
1 Name OPTIONAL IfcLabel

表现样式的名称。

点击显示 1 个隐藏的继承特性 点击隐藏 1 个继承特性
IfcCurveStyle (4)
2 CurveFont OPTIONAL IfcCurveFontOrScaledCurveFontSelect

用于呈现曲线的曲线样式线型。它可以是预定义的曲线线型,也可以是显式定义的曲线线型。两者都可以缩放。如果未给出,则应从带样式的图层分配中获取曲线线型,如果也未给出,则应用默认曲线线型。

3 CurveWidth OPTIONAL IfcSizeSelect

以呈现区域单位表示呈现曲线宽度的正长度度量。如果未给出,则应从带样式的图层分配中获取样式,如果也未给出,则应用默认样式。

4 CurveColour OPTIONAL IfcColour

曲线可见部分的颜色。如果未给出,则应从带样式的图层分配中获取颜色,如果也未给出,则应用默认颜色。

5 ModelOrDraughting OPTIONAL IfcBoolean

指示为呈现样式提供的长度度量是基于模型还是基于制图。

表 8.12.3.5.A

8.12.3.5.4 形式化命题(Formal propositions)

名称 描述
IdentifiableCurveStyle

至少必须提供三个属性值中的一个:CurveFontCurveWidthCurveColour

EXISTS(CurveFont) OR EXISTS(CurveWidth) OR EXISTS(CurveColour)
MeasureOfWidth

如果提供了曲线宽度,则应通过表示默认度量单位中曲线宽度的 IfcPositiveLengthMeasure,或通过值为 'by layer' 的 IfcDescriptiveMeasure(表示通过关联图层处的默认曲线宽度)来给出。

(NOT(EXISTS(CurveWidth))) OR
('IFC4X3_DEV_62887e3f.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR 
 (('IFC4X3_DEV_62887e3f.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND
 (CurveWidth = 'by layer'))
表 8.12.3.5.B

8.12.3.5.5 形式化表示(Formal representation)

ENTITY IfcCurveStyle
 SUBTYPE OF (IfcPresentationStyle);
	CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect;
	CurveWidth : OPTIONAL IfcSizeSelect;
	CurveColour : OPTIONAL IfcColour;
	ModelOrDraughting : OPTIONAL IfcBoolean;
 WHERE
	IdentifiableCurveStyle : EXISTS(CurveFont) OR EXISTS(CurveWidth) OR EXISTS(CurveColour);
	MeasureOfWidth : (NOT(EXISTS(CurveWidth))) OR
('IFC4X3_DEV_62887e3f.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR 
 (('IFC4X3_DEV_62887e3f.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND
 (CurveWidth = 'by layer'));
END_ENTITY;

8.12.3.5.6 参考文献