“フォルダ内の複数のSTLファイルをOBJ形式に効率よく変換する”
執筆: “K.S”
はじめに
初めまして。プログラマーのK.Sです。
3Dモデリングや3Dプリンティングを扱っていると、異なるファイル形式間の変換が必要になる場面がよくあります。特に、STL形式は広く使われていますが、テクスチャ情報などを含められないため、OBJ形式に変換したいというニーズは少なくありません。
今回は、PythonとOpen3Dライブラリを使って、指定したフォルダ内にある全てのSTLファイルをOBJファイルに一括で変換する簡単なスクリプトをご紹介します。手作業で一つずつ変換する手間を省き、作業効率を向上させましょう。
この記事の内容
1. 必要なライブラリ (Open3D) の紹介とインストール
2. STLファイルをOBJファイルに変換するPythonスクリプトの解説
3. スクリプトの実行方法
ファイルを用意しよう
今回必要なものは以下の通りです。
- Python実行環境: Pythonスクリプトを実行するために必要です。
- Open3Dライブラリ: Pythonで3Dデータを扱うためのライブラリです。
- 変換したいSTLファイル: `.stl` 形式の3Dモデルファイル。
- Pythonスクリプトファイル: これから作成する `toStl.py` ファイル。
Python環境構築
Pythonファイルを実行するにはPythonをインストールする必要があります。
インストールの方法に関しましては、下記のURLで紹介されているので試してみてください
Pythonのインストール方法(Windows編)
Open3Dライブラリのインストール
Open3Dは、3Dデータの処理と可視化のためのオープンソースライブラリです。ターミナル(またはコマンドプロンプト)で以下のコマンドを実行してインストールします。
※注意点
Open3Dはpython3.6 3.7 3.8でのみ対応していますので、バージョンの違いには注意をしてください。すでにpythonをインストール済みで、実行時のみ別バージョンを選択したい場合は下記のコマンドを実行してください(筆者はPython3.8を使用しています)
実装してみよう
それでは、実際にSTLファイルをOBJファイルに変換するPythonスクリプトを見ていきましょう。
toStl.py
上記のコードでは、PythonとOpen3Dライブラリを使用して、指定されたディレクトリ内の全てのSTLファイルをOBJファイルに一括変換を行います。
流れをまとめると
- 必要なライブラリをインポート。
- スクリプトが置かれているディレクトリ内のSTLファイルをリストアップ。
- 各STLファイルに対して、Open3Dライブラリを使って読み込み、OBJファイルとして書き出し。
- 変換の進捗状況やエラーメッセージをコンソールに出力。
という形となります。
実行方法は、
- 上記のPythonコードを toStl.py という名前で保存します。
- 変換したい .stl ファイルが置いてあるフォルダに、この toStl.py ファイルを移動(またはコピー)します。
- ターミナル(またはコマンドプロンプト、PowerShellなど)を開き、cd コマンドなどを使って、toStl.py とSTLファイルがあるフォルダに移動します。
- 次のコマンドを実行します。
Pythonのバージョンを指定したい場合は下記のように

上記のような実行結果となります。
まとめ
所感やどんな事に応用できるとかそれぞれの感想や発展性について言及
今回は、PythonとOpen3Dライブラリを使用して、フォルダ内の複数のSTLファイルをOBJファイルに一括変換するスクリプトを紹介しました。 このスクリプトを使えば、繰り返し発生するファイル変換作業を自動化し、大幅に時間を節約できます。3Dデータの準備や、異なるソフトウェア間でのデータ連携など、様々な場面で応用できるでしょう。 Open3Dには、他にもメッシュの修復、点群処理、可視化など、多くの便利な機能がありますので、興味のある方はぜひ公式ドキュメントなども参照してみてください。
関連記事
- Open3D 公式サイト: http://www.open3d.org/
- Python os モジュール ドキュメント: https://docs.python.org/ja/3/library/os.html