IFC 4.3.0.0 (IFC4X3) final

8.12.3.29 IfcSurfaceStyle

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.

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.B

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.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.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.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.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.IFCSURFACESTYLEWITHTEXTURES' IN
   TYPEOF(Style)
  )) <= 1
Table 8.12.3.29.C

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.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3.IFCSURFACESTYLELIGHTING' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3.IFCSURFACESTYLEREFRACTION' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3.IFCSURFACESTYLESHADING' IN
   TYPEOF(Style)
  )) <= 1;
	MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles |
  'IFC4X3.IFCSURFACESTYLEWITHTEXTURES' IN
   TYPEOF(Style)
  )) <= 1;
END_ENTITY;

8.12.3.29.7 References

8.12.3.29.8 Changelog

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