設計の現場では、同じ処理を大量のファイルに繰り返し適用することがよくあります。毎回 GUI を操作するのは時間の無駄です。Zone MeshLab の Python API を使えば、リメッシュ・ノイズ除去・書き出しの一連の処理をスクリプトで自動化できます。

環境の準備

Python API は Zone MeshLab プロフェッショナルライセンス以上に含まれています。Python 3.9 以上が必要で、pip install zonemeshlab でインストールできます。ライセンスキーは環境変数 ZML_LICENSE_KEY に設定するか、スクリプト内で直接渡すことができます。Windows・macOS・Linux(Ubuntu 22.04 以上)で動作確認しています。

基本的なスクリプト構成

Import zonemeshlab as zml を読み込んだ後、zml.load() でファイルを読み込み、zml.remesh() でリメッシュ、zml.export() で書き出します。フォルダ内の全 STL ファイルを処理する場合は、pathlib.Path でファイルリストを取得してループを回すのが最もシンプルです。処理結果のログは zml.get_log() で取得でき、エラーが発生したファイルを後から確認できます。

夜間バッチの実際の構成

実際の運用では、処理対象フォルダの監視・ログの保存・エラー時の通知を組み合わせることが多いです。Zone MeshLab の Python API には、処理完了時にメールまたは Webhook で通知を送る機能が含まれています(バージョン 3.3 以降)。夜間に cron(Linux)またはタスクスケジューラー(Windows)でスクリプトを起動し、翌朝に結果を確認するという運用が、製造業のユーザーの間で定着しています。

処理速度の目安

参考として、社内テスト環境(8コア CPU、32GB RAM)での処理速度を示します。STL ファイル(約50万ポリゴン)の曲率適応リメッシュは1ファイルあたり約8秒です。100ファイルのバッチ処理は並列処理なしで約14分、4並列で約4分です。並列処理は zml.remesh(parallel=4) のように指定します。実際の速度はファイルの複雑さとマシンスペックによって変わります。

Python API の詳細なリファレンスはオンラインドキュメントに掲載しています。スクリプトの書き方で迷ったときは、support@zone-meshlab.com にご連絡ください。実際のユースケースをもとに一緒に考えます。