8.7.3.14 IfcLocalPlacement(局部定位)
8.7.3.14.1 语义定义
IfcLocalPlacement 定义了产品相对于另一产品定位的相对位置关系,或产品在项目几何表示上下文中的绝对位置。
IfcLocalPlacement 允许通过 PlacementRelTo 引用另一 IfcProduct 的对象定位,使当前 IfcProduct(通过属性 ObjectPlacement)能够在该对象定位的局部坐标系中进行定位。防止循环相对定位的规则需在应用层面进行定义。
若未指定 PlacementRelTo,则 IfcProduct 将在世界坐标系中进行绝对定位。
当使用相对定位时,应遵循以下默认相对位置约定。这些约定适用于 IfcProduct 的五个直接子类型:IfcSpatialStructureElement、IfcElement、IfcAnnotation、IfcGrid、IfcPort。更详细的定位信息将在这些类型的子类型层级给出。
- 对于 IfcSpatialStructureElement 的子类型,适用以下约定:
- IfcSite 应在 IfcProject 几何表示上下文建立的世界坐标系中进行绝对定位
- IfcFacility 应相对于 IfcSite 的局部定位进行定位
- IfcFacilityPart 应相对于 IfcFacility 的局部定位进行定位
- 对于 IfcGrid 和 IfcAnnotation,约定应相对于其容器(IfcSite、IfcFacility 或 IfcFacilityPart)的局部定位进行定位
- 该容器构件应与 IfcRelContainedInSpatialStructure 包容关系所引用的容器构件保持一致
- 对于 IfcAlignment,应相对于 IfcProject 的世界坐标系进行定位
- 对于 IfcPort,约定应相对于其所属于的 IfcElement 的局部定位进行定位
- 该构件应与 IfcRelConnectsPortToElement 连接关系所引用的构件保持一致
- 对于 IfcElement,约定应相对于以下对象进行定位:
- 其容器(IfcSite、IfcFacility 或 IfcFacilityPart)的局部定位
- 该容器构件应与 IfcRelContainedInSpatialStructure 包容关系所引用的容器构件保持一致
- 通过构件组成关系与之关联的 IfcElement 的局部定位
- 对于相对于主组件定位的特征(如开口),通过 IfcRelVoidsElement、IfcRelProjectsElement 和 IfcRelAdheresToElement 表达;
- 对于填充开口的构件(如门或窗),通过 IfcRelFillsElement 表达;
- 对于覆盖构件的覆盖物,通过 IfcRelCoversBldgElements 表达;
- 对于聚合到主组件的子组件,通过 IfcRelAggregates 和 IfcRelNests 表达。
沿革 IFC1.0 新增实体。
8.7.3.14.2 实体继承
8.7.3.14.3 特性
| # | 特性 | 类型 | 描述 |
|---|---|---|---|
| IfcObjectPlacement (3) | |||
| 1 | PlacementRelTo | OPTIONAL IfcObjectPlacement |
引用提供相对定位的对象定位,其定位可在轴网、局部坐标系或线性参照定位中。如果省略,在线性定位情况下,将由引用的 IfcAlignment 轴的平面线形原点确定;在局部定位情况下,将由几何表示上下文确定。 |
| PlacesObject | SET [0:?] OF IfcProduct FOR ObjectPlacement |
IfcObjectPlacement 应用于为 IfcProduct 实例提供定位和对象坐标系。
|
|
| ReferencedByPlacements | SET [0:?] OF IfcObjectPlacement FOR PlacementRelTo |
无可用描述 |
|
| 点击显示 3 个隐藏的继承特性 点击隐藏 3 个继承特性 | |||
| IfcLocalPlacement (1) | |||
| 2 | RelativePlacement | IfcAxis2Placement |
定义从相关坐标系到参照坐标系变换的几何定位。根据坐标系的维度数量,该定位可以是二维或三维的。 |
8.7.3.14.4 形式化命题
| 名称 | 描述 |
|---|---|
| WR21 |
确保三维局部定位只能相对于三维父级局部定位(而不能相对于二维父级局部定位)。 |
|
|
8.7.3.14.5 形式化表示
ENTITY IfcLocalPlacement
SUBTYPE OF (IfcObjectPlacement);
RelativePlacement : IfcAxis2Placement;
WHERE
WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo);
END_ENTITY;