【要約】【完全版】ExcelとPythonで配線図/システム接続図を自動作成する ― 5エンジンの中身とClaude Code開発の全記録 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
設計者がExcelのリストから配線図を手動作成する際、図形の配置や線の重なり、コネクタの接続位置調整に多大な工数を要する問題に直面した。具体的には以下の課題が存在する。
- ・Excelのコネクタ接続サイト番号が直感と異なり、線が箱を回り込む。
- ・列幅の指定がピクセル単位で正確に制御できず、図形がセル枠からズレる。
- ・1つのコネクタから複数方向に配線すると、線が機器を貫通する。
- ・縦線が同一座標に重なり、視認性が低下する。
// Approach
開発者は、PythonとExcel COMを組み合わせ、5つの異なるルーティングエンジンを実装することで、用途に応じた作図を実現した。
- ・グラフ理論(DAG、A*、区間グラフ彩色)を用いたレイアウト計算。
- ・Excelのコネクタサイト番号を実測し、最短距離のペアを選択。
- ・コネクタを左右のポート(#L/#R)に分割し、機器の貫通を防止。
- ・アフィン変換を用いた列幅のキャリブレーション。
- ・区間グラフ彩色による縦線のトラック(X位置)分散。
// Result
本ツールにより、設計者は複雑な機器構成でも、交差や重なりを最小化した高品質な配線図を自動生成できるようになった。
- ・libavoid方式では、channel方式と比較して交差数を48(vs 78)まで低減。
- ・Excelの図形オブジェクトとして出力するため、生成後の微調整が容易。
- ・AI(Claude Code)との反復的な対話により、Excel特有の挙動を網羅的に解決。
Senior Engineer Insight
> 実用性が極めて高い。単なる自動化に留まらず、Excelの「編集しやすさ」をアウトプットに選んだ点が賢明だ。ただし、Excel COMへの依存が強く、大規模な描画ではパフォーマンスがボトルネックになる可能性がある。また、アルゴリズムの選択肢を提供することで、精度と追従性のトレードオフをユーザーに委ねている点も、現場の要件に即している。