Oberflächenstil | |
Surface Style | |
Style de surface |
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 | Type | Cardinality | Description | G |
---|---|---|---|---|---|
2 | Side | IfcSurfaceSide | An indication of which side of the surface to apply the style. | X | |
3 | Styles | IfcSurfaceStyleElementSelect | S[1:5] | A collection of different surface styles. | X |
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. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcPresentationStyle | |||||
1 | Name | IfcLabel | ? | Name of the presentation style. | X |
IfcSurfaceStyle | |||||
2 | Side | IfcSurfaceSide | An indication of which side of the surface to apply the style. | X | |
3 | Styles | IfcSurfaceStyleElementSelect | S[1:5] | A collection of different surface styles. | X |
<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>
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;
References: IfcPresentationStyleSelect