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
#AttributeTypeCardinalityDescription G
2SideIfcSurfaceSide An indication of which side of the surface to apply the style. X
3StylesIfcSurfaceStyleElementSelectS[1:5] A collection of different surface styles. X
Formal Propositions
RuleDescription
MaxOneShadingThe IfcSurfaceStyleShading shall only be used zero or one time within the set of Styles.
MaxOneLightingThe IfcSurfaceStyleLighting shall only be used zero or one time within the set of Styles.
MaxOneRefractionThe IfcSurfaceStyleRefraction shall only be used zero or one time within the set of Styles.
MaxOneTexturesThe IfcSurfaceStyleWithTextures shall only be used zero or one time within the set of Styles.
MaxOneExtDefinedThe IfcExternallyDefinedSurfaceStyle shall only be used zero or one time within the set of Styles.
Inherited definitions from supertypes
Entity inheritance IfcPresentationStyle
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcPresentationStyle
1NameIfcLabel? Name of the presentation style. X
IfcSurfaceStyle
2SideIfcSurfaceSide An indication of which side of the surface to apply the style. X
3StylesIfcSurfaceStyleElementSelectS[1:5] A collection of different surface styles. 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;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page