【要約】STEPから部品リストを自動で抜くスクリプトを書いてみた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
機械設計者は、設計変更のたびにCADから部品リストを手動でExcelへ転記する、非効率な作業に直面している。
- ・CAD画面のスクリーンショットや手入力による膨大な工数。
- ・部品数が増加することによる作業時間の増大。
- ・手入力に伴う転記ミスや、部品数の不一致といったヒューマンエラーの発生。
// Approach
開発者は、Pythonを用いてSTEPファイルからBOMを自動生成する手法を構築した。
- ・正規表現による部品名抽出:
reモジュールを用い、PRODUCTタグから部品名を取得する。 - ・CadQueryによる幾何情報取得:
cadqueryで形状を読み、寸法(BoundingBox)と体積を算出する。 - ・PandasによるExcel出力:データをDataFrameに格納し、
.xlsx形式で出力する。 - ・Counterによる数量集計:
collections.Counterを用いて、同一部品の数量を算出する。
// Result
設計者は、このスクリプトを導入することで、BOM更新作業の劇的な効率化を実現した。
- ・作業時間の短縮:100部品を超えるアセンブリも数秒で処理が可能。
- ・精度の向上:手入力による転記ミスや計算ミスを完全に排除。
- ・運用の効率化:設計変更時もスクリプトの再実行のみで最新のBOMが得られる。
Senior Engineer Insight
> 設計業務の自動化において、極めて実用的なアプローチである。正規表現とCadQueryを組み合わせ、軽量かつ高速な処理を実現している。ただし、STEPの記述仕様に依存するため、フォーマットの揺らぎに弱い懸念がある。実運用では、部品名の命名規則の標準化や、エラーハンドリングの強化が不可欠である。