Lokale Positionierung | |
Local Placement | |
Positionnement local |
An IfcLocalPlacement defines the relative placement of a product in relation to the placement of another product or the absolute placement of a product within the geometric representation context of the project.
The IfcLocalPlacement allows that an IfcProduct can be placed by this IfcLocalPlacement (through the attributeObjectPlacement) within the local coordinate system of the object placement of another IfcProduct, which is referenced by the PlacementRelTo. Rules to prevent cyclic relative placements have to be introduced on the application level.
If the PlacementRelTo is not given, then the IfcProduct is placed absolutely within the world coordinate system.
The following conventions shall apply as default relative positions if the relative placement is used. The conventions are given for all five direct subtypes of IfcProduct, the IfcSpatialStructureElement, IfcElement, IfcAnnotation, IfcGrid, IfcPort. More detailed placement information is given at the level of subtypes of those five types mentioned.
HISTORY New entity in IFC1.0.
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
1 | PlacementRelTo | IfcObjectPlacement | ? | Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. | X |
2 | RelativePlacement | IfcAxis2Placement | Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. | X |
Rule | Description |
---|---|
WR21 | Ensures that a 3D local placement can only be relative (if exists) to a 3D parent local placement (and not to a 2D parent local placement). |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcObjectPlacement | |||||
PlacesObject | IfcProduct @ObjectPlacement | S[0:?] | The IfcObjectPlacement shall be used to provide a placement and
an object coordinate system for instances of IfcProduct.
If an IfcObjectPlacement is shared by many instances of IfcProduct it does not apply a semantic meaning of being a shared placement that needs to be maintained. The same instance of IfcObjectPlacement could simply be used to reduce exchange file size. IFC2x3 CHANGE New inverse attribute. IFC4 CHANGE The cardinality has changed to 0..n to allow reuse of instances of IfcObjectPlacement as placement object in one to many products. It takes also into account that it can act as a placement for IfcStructuralAnalysisModel. | X | |
ReferencedByPlacements | IfcLocalPlacement @PlacementRelTo | S[0:?] | Placements that are given relative to this placement of an object. | X | |
IfcLocalPlacement | |||||
1 | PlacementRelTo | IfcObjectPlacement | ? | Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. | X |
2 | RelativePlacement | IfcAxis2Placement | Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. | X |
<xs:element name="IfcLocalPlacement" type="ifc:IfcLocalPlacement" substitutionGroup="ifc:IfcObjectPlacement" nillable="true"/>
<xs:complexType name="IfcLocalPlacement">
<xs:complexContent>
<xs:extension base="ifc:IfcObjectPlacement">
<xs:sequence>
<xs:element name="PlacementRelTo" type="ifc:IfcObjectPlacement" nillable="true" minOccurs="0"/>
<xs:element name="RelativePlacement">
<xs:complexType>
<xs:group ref="ifc:IfcAxis2Placement"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcLocalPlacement
SUBTYPE OF (IfcObjectPlacement);
PlacementRelTo : OPTIONAL IfcObjectPlacement;
RelativePlacement : IfcAxis2Placement;
WHERE
WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo);
END_ENTITY;
References: IfcObjectPlacement