IfcGeometricRepresentationSubContext

BACnet MVD

#### IfcGeometricRepresentationSubContext

Natural language names

| Geometrische Repräsentation - Unterkontext
| Geometric Representation Sub Context

Change log

Item | SPF | XML | Change | Description
--- | --- | --- | --- | ---
IFC4 Addendum 1
IfcGeometricRepresentationSubContext |  |  |  |
Precision |  |  | MODIFIED | Type changed from REAL to IfcReal.
HasCoordinateOperation |  |  | ADDED |
Precision |  |  | MODIFIED | Type changed from REAL to IfcReal.

##### Semantic definitions at the entity

Entity definition

IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext.

The IfcGeometricRepresentationSubContext is used to define semantically distinguished representation types for different information content, dependent on the representation view and the target scale. It can be used to control the level of detail of the shape representation that is most applicable to this geometric representation context. In addition the sub context is used to control the later appearance of the IfcShapeRepresentation within a plot view.

> NOTE If the IfcShapeRepresentation using this sub context has IfcStyledItem's assigned to the Items, the presentation style information (e.g. IfcCurveStyle, IfcTextStyle) associated with the IfcStyledItem is given in target plot dimensions. For example, a line thickness (IfcCurveStyle.CurveWidth) is given by a thickness measure relating to the thickness for a plot within the (range of) target scale.

Each IfcProduct can then have several instances of subtypes of IfcRepresentation, each being assigned to a different IfcGeometricRepresentationSubContext). The applicable values for the inherited ContextIdentifier attribute shall be identical to the RepresentationIdentifier attrubute defined at IfcShapeRepresentation.

> NOTE The provision of a model view (IfcGeometricRepresentationContext.ContextType = 'Model') is mandatory. Instances of IfcGeometricRepresentationSubContext relate to it as its ParentContext.

> EXAMPLE Instances of IfcGeometricRepresentationSubContext can be used to handle the multi-view blocks or macros, which are used in CAD programs to store several scale and/or view dependent geometric representations of the same object. The application can then choose the most appropriate representation for showing the geometric shape of the product, depending on the target view and scale.

> HISTORY New entity in IFC2x2.

Attribute definitions

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
7 | ParentContext | IfcGeometricRepresentationContext |  | Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. |  | X

8

TargetScale

IfcPositiveRatioMeasure

?

The target plot scale of the representation to which this representation context applies.

> NOTE Scale indicates the target plot scale for the representation sub context, all annotation styles are given in plot dimensions according to this target plot scale.
> If multiple instances of IfcGeometricRepresentationSubContext are given having the same TargetView value, the target plot scale applies up to the next smaller scale, or up to unlimited small scale.

> NOTE Scale 1:100 (given as 0.01 within TargetScale) is bigger then 1:200 (given as 0.005 within TargetScale).

X

9 | TargetView | IfcGeometricProjectionEnum |  | Target view of the representation to which this representation context applies. |  | X
10 | UserDefinedTargetView | IfcLabel | ? | User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. |  | X
| WorldCoordinateSystem :=ParentContext.WorldCoordinateSystem | IfcAxis2Placement |  |  |  | X
| CoordinateSpaceDimension :=ParentContext.CoordinateSpaceDimension | IfcDimensionCount |  |  |  | X
| TrueNorth :=NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2])) | IfcDirection |  |  |  | X
| Precision :=NVL(ParentContext.Precision,1.E-5) | IfcReal |  |  |  | X

Formal Propositions

Rule | Description
--- | ---
ParentNoSub | The parent context shall not be another geometric representation sub context.
UserTargetProvided | The attribute UserDefinedTargetView shall be given, if the attribute TargetView is set to USERDEFINED.

NoCoordOperation

An IfcCoordinateOperation shall not be provided to a geometric representation sub context, only to the parent geometric representation context.

> NOTE The coordinate operation is used to define the coordinate transformation of the project engineering coordinate system to a geographic coordinate reference system.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | B
--- | --- | --- | --- | --- | ---
IfcRepresentationContext
1 | ContextIdentifier | IfcLabel | ? | The optional identifier of the representation context as used within a project. |  | X
2 | ContextType | IfcLabel | ? | The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. |  | X
| RepresentationsInContext | IfcRepresentation @ContextOfItems | S[0:?] | All shape representations that are defined in the same representation context. |  | X
IfcGeometricRepresentationContext
| HasSubContexts | IfcGeometricRepresentationSubContext @ParentContext | S[0:?] | The set of IfcGeometricRepresentationSubContexts that refer to this IfcGeometricRepresentationContext. |  | X
| HasCoordinateOperation | IfcCoordinateOperation @SourceCRS | S[0:1] | Indicates conversion between coordinate systems. In particular it refers to an IfcCoordinateOperation between a Geographic map coordinate reference system, and the engineering coordinate system of this construction project. If there is more then one IfcGeometricRepresentationContext provided to the IfcProject then all contexts shall have an identical instance of IfcCoordinateOperation as HasCoordinateOperation refering to the same instance of IfcCoordinateReferenceSystem. |  | X
IfcGeometricRepresentationSubContext
7 | ParentContext | IfcGeometricRepresentationContext |  | Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. |  | X

8

TargetScale

IfcPositiveRatioMeasure

?

The target plot scale of the representation to which this representation context applies.

> NOTE Scale indicates the target plot scale for the representation sub context, all annotation styles are given in plot dimensions according to this target plot scale.
> If multiple instances of IfcGeometricRepresentationSubContext are given having the same TargetView value, the target plot scale applies up to the next smaller scale, or up to unlimited small scale.

> NOTE Scale 1:100 (given as 0.01 within TargetScale) is bigger then 1:200 (given as 0.005 within TargetScale).

X

9 | TargetView | IfcGeometricProjectionEnum |  | Target view of the representation to which this representation context applies. |  | X
10 | UserDefinedTargetView | IfcLabel | ? | User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. |  | X
| WorldCoordinateSystem :=ParentContext.WorldCoordinateSystem | IfcAxis2Placement |  |  |  | X
| CoordinateSpaceDimension :=ParentContext.CoordinateSpaceDimension | IfcDimensionCount |  |  |  | X
| TrueNorth :=NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2])) | IfcDirection |  |  |  | X
| Precision :=NVL(ParentContext.Precision,1.E-5) | IfcReal |  |  |  | X

##### Formal representations

XML Specification
`<xs:complexType name="IfcGeometricRepresentationSubContext-temp" abstract="true">
<xs:complexContent>
<xs:restriction base="ifc:IfcGeometricRepresentationContext">
<xs:sequence/>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:element name="IfcGeometricRepresentationSubContext" type="ifc:IfcGeometricRepresentationSubContext" substitutionGroup="ifc:IfcGeometricRepresentationContext" nillable="true"/>
<xs:complexType name="IfcGeometricRepresentationSubContext">
<xs:complexContent>
<xs:extension base="ifc:IfcGeometricRepresentationSubContext-temp">
<xs:attribute name="TargetScale" type="ifc:IfcPositiveRatioMeasure" use="optional"/>
<xs:attribute name="TargetView" type="ifc:IfcGeometricProjectionEnum" use="optional"/>
<xs:attribute name="UserDefinedTargetView" type="ifc:IfcLabel" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcGeometricRepresentationSubContext
SUBTYPE OF (IfcGeometricRepresentationContext);
ParentContext : IfcGeometricRepresentationContext;
TargetScale : OPTIONAL IfcPositiveRatioMeasure;
TargetView : IfcGeometricProjectionEnum;
UserDefinedTargetView : OPTIONAL IfcLabel;
DERIVE
SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem;
SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension;
SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2]));
SELF\IfcGeometricRepresentationContext.Precision : IfcReal := NVL(ParentContext.Precision,1.E-5);
WHERE
ParentNoSub : NOT('IFCREPRESENTATIONRESOURCE.IfcGeometricRepresentationSubContext' IN TYPEOF(ParentContext));
UserTargetProvided : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR
((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND EXISTS(UserDefinedTargetView)) ;
NoCoordOperation : SIZEOF(SELF\IfcGeometricRepresentationContext.HasCoordinateOperation) = 0;
END_ENTITY;

EXPRESS-G diagram

`

References: IfcGeometricRepresentationContext

Link to this page