IfcGeometricRepresentationContext

Natural language names
Geometrische Repräsentation - Kontext
Geometric Representation Context
Change log
ItemSPFXMLChangeDescription
IFC4 Addendum 1 4.0.1.0
    IfcGeometricRepresentationContext
      PrecisionMODIFIEDType changed from REAL to IfcReal.
      HasCoordinateOperationADDED
IFC4 Addendum 1 4.0.1.0
    IfcGeometricRepresentationContext
      PrecisionMODIFIEDType changed from REAL to IfcReal.
      HasCoordinateOperationADDED
Semantic definitions at the entity
Entity definition

The IfcGeometricRepresentationContext defines the context that applies to several shape representations of products within a project. It defines the type of the context in which the shape representation is defined, and the numeric precision applicable to the geometric representation items defined in this context. In addition it can be used to offset the project coordinate system from a global point of origin, using the WorldCoordinateSystem attribute. The main representation context may also provide the true north direction, see Figure 426.

TrueNorth

The TrueNorth attribute should be provided, if the y axis of the WorldCoordinateSystem does not point to the global northing. Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system as established by the attribute WorldCoordinateSystem. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to [0.,1.] - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. The direction is provided within project coordinate system and identifies the true north direction.

The "true North as seen in CAD" within the figure on the left shows the correct interpretation of the TrueNorth direction

If a conversion to a geographic coordinate system is included by virtue of the HasCoordinateOperation attribute, then the TrueNorth attribute shall be omitted or included only for informational purposes. It shall not be added to any transformation already applied by an IfcCoordinateOperation.

Figure 426 — Definition of the true north direction

 

The use of one instance of IfcGeometricRepresentationContext to represent the model (3D) view is mandatory, the use of a second instance of IfcGeometricRepresentationContext to represent the plan (2D) view is optional (but needs to be given, if there are scale dependent plan views), the additional scale or view dependent contexts need to be handled by using the subtype IfcGeometricRepresentationSubContext pointing to the model view (or the plan view) as the ParentContext. See Figure 427 for an example using geometric representation contexts for 3D and 2D with assigned sub contexts.

NOTE  The inherited attribute ContextType shall have one of the following recognized values: 'Model', 'Plan', 'NotDefined'.

 

representation context

Use of representation contexts defined at IfcProject for 3D model and 2D plan context, including sub context definitions for different target scales. There shall always be a maximum of one geometric representation context for 2D and for 3D coordinate space.

Figure 427 — Example of using geometric representation contexts

 

NOTE  Definition according to ISO/CD 10303-42:1992
A geometric representation context is a representation context in which the geometric representation items are geometrically founded.

NOTE  Entity adapted from geometric_representation_context defined in ISO 10303-42.

HISTORY  New entity in IFC2.0.

IFC2x3 CHANGE  Applicable values for ContextType are only 'Model', 'Plan', and 'NotDefined'. All other contexts are now handled by IfcGeometricRepresentationSubContext.

IFC4 CHANGE  Mapping to Geographic coordinate system added by inverse attribute HasCoordinateOperation.

Attribute definitions
#AttributeTypeCardinalityDescription G
3CoordinateSpaceDimensionIfcDimensionCount The integer dimension count of the coordinate space modeled in a geometric representation context. X
4PrecisionIfcReal? Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. X
5WorldCoordinateSystemIfcAxis2Placement Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project.
NOTE  It can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.).
If an geographic placement is provided using IfcMapConversion then the WorldCoordinateSystem atttibute is used to define the offset between the zero point of the local engineering coordinate system and the geographic reference point to which the IfcMapConversion offset relates. In preferred practise both points (also called "project base point" and "survey point") should be coincidental. However it is possible to offset the geographic reference point from the local zero point.
X
6TrueNorthIfcDirection? Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not present, it defaults to 0. 1., meaning that the positive Y axis of the project coordinate system equals the geographic northing direction.
NOTE  If a geographic placement is provided using IfcMapConversion then the true north is for information only. In case of inconsistency, the value provided with IfcMapConversion shall take precedence.
X
HasSubContextsIfcGeometricRepresentationSubContext
@ParentContext
S[0:?]The set of IfcGeometricRepresentationSubContexts that refer to this IfcGeometricRepresentationContext. X
HasCoordinateOperationIfcCoordinateOperation
@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
Formal Propositions
RuleDescription
North2DThe TrueNorth direction, if provided, shall be a two-dimensional direction.
Inherited definitions from supertypes
Entity inheritance IfcGeometricRepresentationSubContext IfcRepresentationContext
Attribute inheritance
#AttributeTypeCardinalityDescriptionG
IfcRepresentationContext
1ContextIdentifierIfcLabel? The optional identifier of the representation context as used within a project. X
2ContextTypeIfcLabel? The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. X
RepresentationsInContextIfcRepresentation
@ContextOfItems
S[0:?]All shape representations that are defined in the same representation context. X
IfcGeometricRepresentationContext
3CoordinateSpaceDimensionIfcDimensionCount The integer dimension count of the coordinate space modeled in a geometric representation context. X
4PrecisionIfcReal? Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. X
5WorldCoordinateSystemIfcAxis2Placement Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project.
NOTE  It can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.).
If an geographic placement is provided using IfcMapConversion then the WorldCoordinateSystem atttibute is used to define the offset between the zero point of the local engineering coordinate system and the geographic reference point to which the IfcMapConversion offset relates. In preferred practise both points (also called "project base point" and "survey point") should be coincidental. However it is possible to offset the geographic reference point from the local zero point.
X
6TrueNorthIfcDirection? Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not present, it defaults to 0. 1., meaning that the positive Y axis of the project coordinate system equals the geographic northing direction.
NOTE  If a geographic placement is provided using IfcMapConversion then the true north is for information only. In case of inconsistency, the value provided with IfcMapConversion shall take precedence.
X
HasSubContextsIfcGeometricRepresentationSubContext
@ParentContext
S[0:?]The set of IfcGeometricRepresentationSubContexts that refer to this IfcGeometricRepresentationContext. X
HasCoordinateOperationIfcCoordinateOperation
@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
Formal representations
XML Specification
 <xs:element name="IfcGeometricRepresentationContext" type="ifc:IfcGeometricRepresentationContext" substitutionGroup="ifc:IfcRepresentationContext" nillable="true"/>
 <xs:complexType name="IfcGeometricRepresentationContext">
  <xs:complexContent>
   <xs:extension base="ifc:IfcRepresentationContext">
    <xs:sequence>
     <xs:element name="WorldCoordinateSystem" minOccurs="0">
      <xs:complexType>
       <xs:group ref="ifc:IfcAxis2Placement"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="TrueNorth" type="ifc:IfcDirection" nillable="true" minOccurs="0"/>
     <xs:element name="HasSubContexts" nillable="true" minOccurs="0">
      <xs:complexType>
       <xs:sequence>
        <xs:element ref="ifc:IfcGeometricRepresentationSubContext" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute ref="ifc:itemType" fixed="ifc:IfcGeometricRepresentationSubContext"/>
       <xs:attribute ref="ifc:cType" fixed="set"/>
       <xs:attribute ref="ifc:arraySize" use="optional"/>
      </xs:complexType>
     </xs:element>
     <xs:element name="HasCoordinateOperation" type="ifc:IfcCoordinateOperation" nillable="true" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="CoordinateSpaceDimension" type="ifc:IfcDimensionCount" use="optional"/>
    <xs:attribute name="Precision" type="ifc:IfcReal" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
ENTITY IfcGeometricRepresentationContext
 SUPERTYPE OF(IfcGeometricRepresentationSubContext)
 SUBTYPE OF (IfcRepresentationContext);
  CoordinateSpaceDimension : IfcDimensionCount;
  Precision : OPTIONAL IfcReal;
  WorldCoordinateSystem : IfcAxis2Placement;
  TrueNorth : OPTIONAL IfcDirection;
 INVERSE
  HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext;
  HasCoordinateOperation : SET [0:1] OF IfcCoordinateOperation FOR SourceCRS;
 WHERE
  North2D : NOT(EXISTS(TrueNorth)) OR (HIINDEX(TrueNorth.DirectionRatios) = 2);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

References  References: IfcGeometricRepresentationSubContext IfcCoordinateReferenceSystemSelect

Link to this page  Link to this page