IFC 4.3.2.20250905 (IFC4X3_ADD2) under development

  • Help suggest improvements
  • Get user or developer support

8.12.3.29 IfcSurfaceStyle

RV ⓘ
AbV ⓘ

8.12.3.29.1 Semantic definition

IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side.

The surface style is often referred to as material definition in rendering applications. Corresponding ISO 10303 entity: surface_style_usage and surface_side_style. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. The surface style definition in regard to support of rendering has been greatly expanded beyond the scope of ISO/IS 10303-46. New entity in IFC2x.

8.12.3.29.2 Entity inheritance

8.12.3.29.3 Attributes

# Attribute Type Description
IfcPresentationStyle (1)
1 Name OPTIONAL IfcLabel

Name of the presentation style.

Click to show 1 hidden inherited attributes Click to hide 1 inherited attributes
IfcSurfaceStyle (2)
2 Side IfcSurfaceSide

An indication of which side of the surface to apply the style.

3 Styles SET [1:5] OF IfcSurfaceStyleElementSelect

A collection of different surface styles.

Table 8.12.3.29.E

8.12.3.29.4 Formal propositions

Name Description
MaxOneExtDefined

The IfcExternallyDefinedSurfaceStyle shall only be used zero or one time within the set of Styles.

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

The IfcSurfaceStyleLighting shall only be used zero or one time within the set of Styles.

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

The IfcSurfaceStyleRefraction shall only be used zero or one time within the set of Styles.

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

The IfcSurfaceStyleShading shall only be used zero or one time within the set of Styles.

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

The IfcSurfaceStyleWithTextures shall only be used zero or one time within the set of Styles.

SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3_DEV_bc7847cd.IFCSURFACESTYLEWITHTEXTURES' IN
   TYPEOF(Style)
  )) <= 1
Table 8.12.3.29.F

8.12.3.29.5 Examples

8.12.3.29.6 Formal representation

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

8.12.3.29.7 References

Edit on Github


Is this page difficult to understand? Let us know!

8.12.3.29.8 Changelog

8.12.3.29.8.1 IFC4

  • where rule, MaxOneExtDefined
  • where rule, MaxOneLighting
  • where rule, MaxOneRefraction
  • where rule, MaxOneShading
  • where rule, MaxOneTextures
  • where rule, WR11
  • where rule, WR12
  • where rule, WR13
  • where rule, WR14
  • where rule, WR15