1

IFC (Industry Foundation Class) オブジェクトを操作する小さな Java API を開発しています。そのために、BIMserverなどの外部ツールを使用しています。

現在、 IfcProductのインスタンスである各オブジェクトの座標を取得しようとしています。ただし、オブジェクトの絶対座標ではなく、別の IfcProduct への相対座標を取得しているだけです。IfcLocalPlacementしたがって、各オブジェクトの参照は、それが含まれているエンティティです。

私の目標は、IFC オブジェクト間の距離を計算することです (ユーザーに情報を表示するだけで、オブジェクトをレンダリングしようとしているわけではありません)。たとえば、IfcSpaceとの間の距離IfcDistributionControlElementです。

各IFCオブジェクトの絶対座標(相対座標ではない)を取得する方法を知っている人はいますか? 私に役立つ可能性のある API やライブラリを知っている場合は、それらも送信できます。

4

1 に答える 1

3

コンテナIfcLocalPlacementに到達するまで、ツリー内のすべての異なるものを適用/スタックする必要があります。IFC2X3 のドキュメントの説明とIFC4 のドキュメントの説明IfcProjectも参照できます (私が見る限り、仕様は変更されていません) 。 IfcLocalPlacement

相対配置が使用される場合、次の規則がデフォルトの相対位置として適用されます。規則は、IfcProduct の 5 つの直接サブタイプ、IfcSpatialStructureElement、IfcElement、IfcAnnotation、IfcGrid、IfcPort のすべてに適用されます。上記の 5 つのタイプのサブタイプのレベルで、より詳細な配置情報が提供されます。

  • IfcSpatialStructureElement次の規則 のサブタイプに適用されます
    • IfcSiteの幾何学的表現コンテキストによって確立されたワールド座標系内に絶対に配置されるものとします。IfcProject
    • IfcBuildingのローカル配置に対して相対的に配置されます。IfcSite
    • IfcBuildingStoreyのローカル配置に対して相対的に配置されます。IfcBuilding
  • そしてIfcGridIfcAnnotationそれが相対的に配置されるという慣習が適用されます
    • そのコンテナーのローカル配置 ( IfcSiteIfcBuildingIfcBuildingStorey)
      • IfcRelContainedInSpatialStructure包含関係によって参照されるのと同じコンテナー要素である必要があります。
  • IfcPort慣例が適用される ため、相対的に配置する必要があります
    • 所属する要素のローカル配置 ( IfcElement)
      • IfcRelConnectsPortToElement接続関係によって参照されるのと同じ要素である必要があります。
  • IfcElement規則が適用される ため、相対的に配置する必要があります。
    • そのコンテナーのローカル配置 ( IfcSiteIfcBuildingIfcBuildingStorey)
      • IfcRelContainedInSpatialStructure包含関係によって参照されるのと同じコンテナー要素である必要があります。
    • IfcElement要素構成関係によって関連付けられている のローカル配置に
      • IfcRelVoidsElementおよびで表されるように、メイン コンポーネント (開口部など) に対して配置されるフィーチャの場合IfcRelProjectsElement
      • で表されるように、開口部 (ドアや窓など) を埋める要素の場合IfcRelFillsElement
      • で表されるように、要素を覆うカバーの場合IfcRelCoversBldgElements
      • IfcRelAggregatesおよびで表されるように、メイン コンポーネントに集約されるサブ コンポーネントの場合IfcRelNests)
于 2016-08-23T08:36:41.233 に答える