1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Revit API での干渉判定アドイン作成の試みとその限界

1
Posted at

Revit API を使用して、建設業界での干渉チェック(例えば、梁と配管の干渉)を自動的に検出するアドインを作成しようとしましたが、最終的には Revit API の制約干渉判定の難しさ により、実現が難しいという結論に至りました。本記事では、その経緯と得られた教訓を共有します。

目的

Revit の 3D モデル内で、梁と配管などの要素が干渉しているかを検出するアドインを作成することが目的でした。干渉検出は、建設プロジェクトにおいて非常に重要であり、手動での確認を省略し、効率的な作業を目指していました。

進めたアプローチ

  1. Solid オブジェクトの取得
    Revit API を使用して、梁や配管などの要素から Solid を取得し、3D ジオメトリとして表現しました。これにより、ジオメトリ間の干渉を判定できると考えました。

  2. BoundingBox を用いた干渉チェック
    Revit の Solid クラスには直接的な干渉判定を行うメソッドがなかったため、各 SolidBoundingBox を比較して、干渉があるかを判定する方法を採用しました。BoundingBox 同士が交差している場合に干渉があると判断しました。

  3. 問題発生
    Solid クラスにおいて、干渉判定を行うためのメソッド(例えば、IntersectWithSolidBooleanOperation)が存在しないため、代替方法として BoundingBox を使用しました。しかし、BoundingBox を用いた方法はあくまで近似であり、実際のジオメトリが交差しているかどうかを正確に判定することができませんでした。

Revit API の制約

  • Solid クラスに交差判定メソッドが存在しない
    Revit API では、Solid クラスには IntersectWithSolidBooleanOperation といった干渉判定を行うメソッドは提供されていません。このため、Solid 同士の干渉チェックを直接行うことは不可能です。

  • BoundingBox 比較の限界
    BoundingBox 比較による干渉チェックは簡易的であり、ジオメトリが実際に交差しているかを正確に確認することはできません。例えば、BoundingBox が交差していても、実際には形状が交差していない場合もあります。

  • Revit の目的に合ったツールでない
    Revit は主にビルディング情報モデル(BIM)の作成や管理を目的としたツールであり、細かいジオメトリの干渉判定を行うために設計されていません。そのため、Revit単体での干渉チェックは難しいと言えます。

代替アプローチ

1. 外部ツールの利用

高精度な干渉判定が必要な場合、Revit の外部ツールを使用することが現実的です。例えば、NavisworksSolibri などの専用の干渉検出ツールを利用することで、Revit モデル間での干渉を正確に検出できます。これらのツールは、Revit モデルをインポートして干渉を検出する機能を提供しています。

2. Dynamo での視覚的な干渉チェック

Dynamo を使用して、Revit モデル内のジオメトリを視覚的にチェックする方法もあります。Dynamo には、ジオメトリ操作や干渉判定のためのノードがあり、簡単なスクリプトを作成することで干渉の可能性を確認できます。

3. 手動でのチェック

完全な自動化は難しい場合、Revit の「干渉検出」ツールを手動で使用することが有効です。このツールでは、複数のビューやモデル間での干渉を簡単に確認できます。

結論

Revit API では、Solid クラス同士の干渉判定は実現不可能であり、代替方法として BoundingBox 比較を行いましたが、精度が低く、実際の干渉チェックには限界がありました。精度の高い干渉判定を行うためには、Revit 単体ではなく、外部ツールとの連携が必要です。

干渉チェックに関しては、NavisworksSolibri など、専用のツールを活用することを強くおすすめします。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?