テクノロジー 注目度 68

STEPファイルからの部品表抽出:確認用と発注用では機能が異なる

※本記事の要約および解説はAIが自動生成しており、誤りが含まれる可能性があります。事実確認は元ニュースをご参照ください。

本記事は、3D CADの標準中間ファイル形式であるSTEPデータから「部品表」を抽出するツールの開発過程と課題について詳細に述べています。筆者は当初、「STEPがあれば部品表は全て自動化できる」と考えていましたが、現場での検証を通じて、部品表の利用目的によって必要な機能が根本的に異なることを発見しました。

まず、**パターン1:部品表の確認(レビュー・設計チェック)**の場合、組立品に含まれる部品名や種類を「ざっと知りたい」というニーズが主であり、数量が不正確でも問題ありません。この用途であれば、CadQueryのようなライブラリを用いて簡単な部品名の抽出を行うだけで十分な実用性が得られます。

一方、**パターン2:発注用の部品表(客先提出・在庫管理)**は、正確な数量(例:「10個」など)が必須であり、手作業による補正が避けられません。このため、単なる抽出以上の複雑な階層構造の解析が必要となります。

開発においては、実装コストと実用性のバランスを重視し、「完璧な部品表」を目指すよりも、まず現場で「今すぐ使いたい」(確認)というニーズを満たすMVP(Minimum Viable Product)版を優先的にリリースする方針が決定されました。具体的には、Streamlitを用いたWebアプリとして、STEPファイルをアップロードするだけで部品名の一覧を確認できる機能を開発し、オープンソースのデータで動作検証を行いました。

また、仕様書比較機能については、顧客ごとに形式が異なるため汎用化は困難であり、「目視での確認」を推奨するという結論に至っています。今後は、オープンソースでの検証結果に基づき、実際の設計現場の部品表データを使い、ユーザーからのフィードバックを受けながら段階的に機能を改善していく計画です。


背景

CADデータ(3Dモデル)から関連情報(部品リストや数量など)を自動抽出する技術は、製造業の設計・調達プロセスにおける長年の課題でした。従来のシステムでは、データの形式が複雑であったり、用途によって必要な精度が異なったりすることがボトルネックとなっていました。

重要用語解説

  • STEP: Standard for the Exchange of Product data, Inc. の略で、異なるCADソフトウェア間で3Dモデルデータを交換するための国際標準ファイル形式です。データ互換性を高めるために広く利用されています。
  • CadQuery: Python言語を用いて3D形状を扱うためのライブラリの一つです。複雑なジオメトリ処理を比較的容易に行うことができ、本記事では部品名の簡単な抽出に活用されています。
  • MVP(Minimum Viable Product): 最小限の機能を持つ製品版のこと。市場やユーザーからのフィードバックを得ることを目的とし、完璧を目指すよりも早く動くものをリリースする開発手法です。

今後の影響

このアプローチは、製造業におけるデータ処理の効率化を示すものです。単なる自動化に固執せず、「利用シーン」と「必要な精度」を切り分けて段階的にツールを改善することで、現場が真に求める実用的なソリューション提供が可能となり、開発サイクルを加速させることが期待されます。