はじめに
IFCファイルのモデルを表示して閲覧するのって、ちょっと手間ですよね?
表示するには、Open IFC Viewer や BIMvision のような専用のソフトウェアをPCにインストールする必要があります。
他の人にIFCのモデルだけ見せたいんだけど...というときにわざわざソフトウェアをインストールしてもらうのもちょっとためらいますよね。
IFCのモデルを特に環境を設定しないでも閲覧できる形式に変換したいときがあると思います。
そこでIFCのモデルをPythonを使って、3Dモデルのファイル形式の一つであるglTF
に変換したいと思います。
glTFに変換できました
できたよ!やったね?
Babylon.js Sandbox で表示させれば、treeも表示できるよ!
選択して非表示にしたり、移動したりもできるよ!(Xの投稿は階層構造ついてない)
経緯
最初は IfcOpenShell
を使えば直接変換できるのではないかと思って調べたのですが、公式ドキュメントを見ると BlenderBIM Add-on
を使う必要があり、直接変換することはできないようでした。
そういうわけで、IfcOpenShell
とpygltflib
を使用して、自力で実装しています。
まとめ
IFCのモデルを階層構造付きでglTFに変換しました。
glTF形式にしておけば、Windowsのデフォルトでインストールされている3Dビューアーなどでも表示することができるので、ちょっとモデルを見るだけの用途であれば便利です。
え?解説?ほとんどglTFのフォーマットの話になってしまうので、ここではしません。
もしかしたら、別記事でPythonによるglTF出力方法の解説を書くかも?
参考
- glTF
- Web glTF ビューアー
Babylon.js Sandbox
が一番使い勝手が良かった。Three.js
実装のgltf-viewer
はglTFファイルのフォーマットが誤ってるとどこがエラーか表示してくれるのでglTFフォーマットの確認に便利。