IfcSurfaceStyle

BACnet MVD

#### IfcSurfaceStyle

Natural language names

| Oberflächenstil
| Surface Style
| Style de surface

##### Semantic definitions at the entity

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

> NOTE The surface style is often referred to as material definition in rendering applications.

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

> HISTORY New entity in IFC2x.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
2 | Side | IfcSurfaceSide |  | An indication of which side of the surface to apply the style. | X | X
3 | Styles | IfcSurfaceStyleElementSelect | S[1:5] | A collection of different surface styles. | X | X

Formal Propositions

Rule | Description
--- | ---
MaxOneShading | The IfcSurfaceStyleShading 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.
MaxOneTextures | The IfcSurfaceStyleWithTextures shall only be used zero or one time within the set of Styles.
MaxOneExtDefined | The IfcExternallyDefinedSurfaceStyle shall only be used zero or one time within the set of Styles.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcPresentationStyle
1 | Name | IfcLabel | ? | Name of the presentation style. | X | X
IfcSurfaceStyle
2 | Side | IfcSurfaceSide |  | An indication of which side of the surface to apply the style. | X | X
3 | Styles | IfcSurfaceStyleElementSelect | S[1:5] | A collection of different surface styles. | X | X

##### Formal representations

XML Specification
`<xs:element name="IfcSurfaceStyle" type="ifc:IfcSurfaceStyle" substitutionGroup="ifc:IfcPresentationStyle" nillable="true"/>
<xs:complexType name="IfcSurfaceStyle">
<xs:complexContent>
<xs:extension base="ifc:IfcPresentationStyle">
<xs:sequence>
<xs:element name="Styles">
<xs:complexType>
<xs:group ref="ifc:IfcSurfaceStyleElementSelect" maxOccurs="5"/>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcSurfaceStyleElementSelect"/>
<xs:attribute ref="ifc:cType" fixed="set"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Side" type="ifc:IfcSurfaceSide" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcSurfaceStyle
SUBTYPE OF (IfcPresentationStyle);
Side : IfcSurfaceSide;
Styles : SET [1:5] OF IfcSurfaceStyleElementSelect;
WHERE
MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IfcSurfaceStyleShading' IN
TYPEOF(Style)
)) <= 1;
MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IfcSurfaceStyleLighting' IN
TYPEOF(Style)
)) <= 1;
MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IfcSurfaceStyleRefraction' IN
TYPEOF(Style)
)) <= 1;
MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IfcSurfaceStyleWithTextures' IN
TYPEOF(Style)
)) <= 1;
MaxOneExtDefined : SIZEOF(QUERY(Style <* SELF.Styles |
'IFCPRESENTATIONAPPEARANCERESOURCE.IfcExternallyDefinedSurfaceStyle' IN
TYPEOF(Style)
)) <= 1;
END_ENTITY;

EXPRESS-G diagram

`

References: IfcPresentationStyleSelect

Link to this page