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. |
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. |
|
|
MaxOneLighting |
The IfcSurfaceStyleLighting shall only be used zero or one time within the set of Styles. |
|
|
MaxOneRefraction |
The IfcSurfaceStyleRefraction shall only be used zero or one time within the set of Styles. |
|
|
MaxOneShading |
The IfcSurfaceStyleShading shall only be used zero or one time within the set of Styles. |
|
|
MaxOneTextures |
The IfcSurfaceStyleWithTextures shall only be used zero or one time within the set of Styles. |
|
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_20bdb3d.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN
TYPEOF(Style)
)) <= 1;
MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles |
'IFC4X3_DEV_20bdb3d.IFCSURFACESTYLELIGHTING' IN
TYPEOF(Style)
)) <= 1;
MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles |
'IFC4X3_DEV_20bdb3d.IFCSURFACESTYLEREFRACTION' IN
TYPEOF(Style)
)) <= 1;
MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles |
'IFC4X3_DEV_20bdb3d.IFCSURFACESTYLESHADING' IN
TYPEOF(Style)
)) <= 1;
MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles |
'IFC4X3_DEV_20bdb3d.IFCSURFACESTYLEWITHTEXTURES' IN
TYPEOF(Style)
)) <= 1;
END_ENTITY;