IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.12.3.29 IfcSurfaceStyle(表面样式)

RV ⓘ
AbV ⓘ

8.12.3.29.1 语义定义(Semantic definition)

IfcSurfaceStyle 是将一个或多个表面样式元素分配给由 IfcSurfaceIfcFaceBasedSurfaceModelIfcShellBasedSurfaceModel 的子类型或 IfcSolidModel 的子类型定义的表面的赋值。表面法线的正方向与正面相关。对于实体而言,实体的外部被视为正面。

8.12.3.29.2 实体继承(Entity inheritance)

8.12.3.29.3 特性(Attributes)

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

表现样式的名称。

点击显示 1 个隐藏的继承特性 点击隐藏 1 个继承特性
IfcSurfaceStyle (2)
2 Side IfcSurfaceSide

指示在表面的哪一侧应用样式。

3 Styles SET [1:5] OF IfcSurfaceStyleElementSelect

不同表面样式的集合。

表 8.12.3.29.A

8.12.3.29.4 形式化命题(Formal propositions)

名称 描述
MaxOneExtDefined

Styles 集合中,IfcExternallyDefinedSurfaceStyle 应仅使用零次或一次。

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
   TYPEOF(Style)
  )) <= 1
MaxOneLighting

Styles 集合中,IfcSurfaceStyleLighting 应仅使用零次或一次。

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLELIGHTING' IN
   TYPEOF(Style)
  )) <= 1
MaxOneRefraction

Styles 集合中,IfcSurfaceStyleRefraction 应仅使用零次或一次。

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLEREFRACTION' IN
   TYPEOF(Style)
  )) <= 1
MaxOneShading

Styles 集合中,IfcSurfaceStyleShading 应仅使用零次或一次。

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLESHADING' IN
   TYPEOF(Style)
  )) <= 1
MaxOneTextures

Styles 集合中,IfcSurfaceStyleWithTextures 应仅使用零次或一次。

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLEWITHTEXTURES' IN
   TYPEOF(Style)
  )) <= 1
表 8.12.3.29.B

8.12.3.29.5 形式化表示(Formal representation)

ENTITY IfcSurfaceStyle
 SUBTYPE OF (IfcPresentationStyle);
	Side : IfcSurfaceSide;
	Styles : SET [1:5] OF IfcSurfaceStyleElementSelect;
 WHERE
	MaxOneExtDefined : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLELIGHTING' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLEREFRACTION' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLESHADING' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_62887e3f.IFCSURFACESTYLEWITHTEXTURES' IN
   TYPEOF(Style)
  )) <= 1;
END_ENTITY;

8.12.3.29.6 参考文献