板金の図面から穴数・曲げ数は自動で拾える?DXFの展開図20点で拾い出しを試した

DXFの展開図なら、見積の拾い出しのうち、外周と穴の切断長・穴数(穴径別)・曲げ線の数は、線の種類と画層から自動で数えられます。架空の板金部品20点で試すと、素直な数え方で4項目すべてが正解と合ったのは6点でした。描き方のくせ5種類に合わせて数え方を直すと、20点すべてで合いました。紙やスキャンの図面では、まず読み取って線に戻す工程と人の確認が要ります。(2026年10月時点)
全体の流れと読める項目は読み取りの進め方のページにまとめています。
要点
- DXFの展開図なら、切断長・穴径別の穴数・長穴・曲げ線の数は、線の情報から自動で数えられます。
- 架空の板金部品20点で試すと、素直な数え方で4項目すべて正解と合ったのは6点でした(2026年10月の実験)。
- 外れた原因は、0画層の破線の曲げ線、バラバラの外周、二重線など、見た目では分からない描き方のくせ5種類です。
- くせに合わせて直すと20点すべて合いましたが、新しいくせには効かないので、要確認の印を残して人が見ます。
目次
板金の展開図から、穴数・曲げ数は自動で拾えますか?
DXFの展開図なら拾えます。外周と穴は「閉じた線の輪」、曲げ線は「決まった画層か破線の直線」として図面の中に入っています。輪の長さと本数を数えれば、切断長・穴数・曲げ数になります。
図面よみが架空の板金部品20点で試した結果は次の表のとおりです。素直な数え方でも4項目とも15〜16点は合い、描き方のくせに合わせて直すと20点すべてで合いました。
| 拾う項目 | DXFで見る線 | 素直な数え方(20点中) | 直した数え方(20点中) |
|---|---|---|---|
| 切断長(外周+穴) | 外周と穴の輪の長さ | 16点 | 20点 |
| 丸穴の数(穴径別) | 円の直径 | 16点 | 20点 |
| 長穴の数 | 円弧を含む小さな輪 | 15点 | 20点 |
| 曲げ線の数 | 曲げ線の画層・破線 | 15点 | 20点 |
紙やスキャンの図面は、線の情報を持っていません。数える前に、読み取って線に戻す工程が入ります。この違いは後ろの節で書きます。
DXF20点の実験は、どんな条件で試しましたか?
外形・角R・曲げ逃げの切り欠き・穴径・長穴・曲げ線の本数を変えた、架空の展開図20点を作りました。作図にはPythonのezdxf(DXFを読み書きするMITライセンスのライブラリ、手元は1.4.4)を使っています。外周と穴はCUT、曲げ線はBEND、中心線はCENTERの画層に分けています。
20点のうち11点には、現場の図面で見かける描き方のくせを5種類入れました。正解はDXFを読まずに、作図に使った寸法表から式で計算しています。たとえば角Rのある外周は「2×(縦+横)−8R+2πR」です。数える部分の要点は次のとおりです。
msp = ezdxf.readfile(f).modelspace()
circles = {(round(e.dxf.center.x, 3), round(e.dxf.center.y, 3), round(e.dxf.radius, 3))
for e in msp.query('CIRCLE')} # 中心と半径が同じ円は1つ
holes = Counter(round(r * 2, 1) for *_, r in circles) # 穴径ごとの個数
bends = [e for e in msp.query('LINE')
if e.dxf.layer == 'BEND' or e.dxf.linetype in ('DASHED', 'HIDDEN')]
全体のコードは相談のときにお見せします。切断長は正解との差が0.1mm以内なら一致としました。
自動で数えた数は、正解と合いましたか?
素直な数え方で4項目すべてが合ったのは20点中6点でした。素直な数え方とは、CIRCLE(円)を数え、BEND画層の線を曲げ線とし、閉じたポリラインと円の周の長さを足す方法です。長穴はポリラインで描かれるので、この方法では数えられず、長穴のある5点で外れました。
直した数え方は20点すべてで合いました。ただし、入れたくせを知ってから書いた数え方なので、合うのは当然です。別の会社の図面には別のくせがあり、同じ数え方で合う保証はありません。
外周がバラバラの線で描かれたSM-06では、素直な数え方の切断長が34.6mmでした。正解は554.6mmで、外周の520mmがまるごと抜けています。数字だけ見ると明らかにおかしいので、外周の長さが展開寸法から外れたら要確認にする、といった検算を一緒に入れます。
数え間違いは、どんな描き方で起きましたか?
見た目は正しい図面でも、線の持ち方が違うと数を外します。今回入れた5種類のくせと、直し方は次のとおりです。
| 描き方のくせ | 入れた部品 | 素直な数え方の外れ | 直し方 |
|---|---|---|---|
| 曲げ線を0画層の破線で描く | 3点 | 曲げ線を0本と数える | 破線の直線も曲げ線にする(中心線は除く) |
| 外周をバラバラの線で描く | 2点 | 外周の長さが抜ける | 端点でつないで輪にする |
| 同じ穴を二重に描く | 2点 | 穴を1つ多く数える | 中心と径が同じ円は1つ |
| 丸穴をポリラインで描く | 2点 | 穴を1つ少なく数える | 円弧2つの輪を丸穴にする |
| 曲げ線が途中で切れている | 2点 | 曲げ線を1本多く数える | 一直線上の線分を1本にする |
私が仕組みを作るときは、数え方を直すのと同時に「数えなかった線」を一覧に出します。決まりにない画層の線や、輪にならない線が残ったら、その図面は要確認にして人が見ます。
紙やスキャンの板金図面でも、同じように拾えますか?
同じようには拾えません。紙をスキャンした画像やPDFの図面には、円や曲げ線という線の情報がなく、点の集まりしかないからです。
拾うには、画像から線と円を見つけて線の情報に戻す工程が入ります。かすれた線や、寸法線と重なった穴は取りこぼしやすく、自動の結果をそのまま見積に使うのは危険です。今回の実験はDXFだけで、スキャン図面での一致数は測っていません。
客先から届くのが製品の形の図面で、展開図は自社のCADで起こしている会社もあります。その場合は、自社で作った展開のDXFから数えるのが近道です。客先の紙図面を読み取るより、線の情報がそろっているからです。
形式ごとの読み方の違いは、DXF・PDF・TIFFで図面の読み取りはどう違う?にまとめています。紙の図面が多い会社は、客先にDXFをもらえるかを先に確かめると、拾い出しの手間が大きく変わります。
拾った数から、見積の金額まではどうつなげますか?
拾った数に、切断1mあたり・穴1個あたり・曲げ1回あたりの単価や時間をかければ、見積の下書きになります。図面よみの担当は数を拾うところまでで、単価やアワーレートの決め方は見積の分野で扱います。
実験の部品SM-07なら、拾った数は切断長859.9mm・丸穴8個・曲げ4回です。この3つの数に自社の単価をかけ、材料費と段取りを足すと下書きができます。数が自動で出れば、見積担当は単価の判断と注記の確認に時間を使えます。
図面からの見積の流れは図面から見積を出す手順に書きました。単価をいくらにするかは、各社の判断に残します。
線から拾えない情報もあります。材質と板厚、曲げの角度、タップや皿もみの指示は、表題欄や注記の文字にあります。見積に使える下書きは、数と文字の両方がそろってからできます。
このサイトで相談するには?
展開図から穴数や曲げ数を拾う仕組みは、図面よみの無料で相談するからご相談ください。何をどう頼むか決まっていなくても大丈夫です。準備は要りません。図面をお見せいただかなくても、御社のやり方に合わせて、進め方を一緒に考えます。
よくある質問
- DWGの図面からも数えられますか?
- そのままでは数えられません。今回使った ezdxf はDWGを読めないので、CADからDXFで書き出すか、変換ソフトでDXFにしてから数えます。
- 曲げの角度や、山折り・谷折りも分かりますか?
- 線だけでは分かりません。山と谷を画層か線種で描き分けていれば数えられます。角度は注記の文字から読み、線と結びつけます。
- タップ穴と下穴は区別できますか?
- 円の直径だけでは区別できません。「M4」などのタップの注記を文字として読み、どの円に付いた注記かを結びつける処理が要ります。
- 自社の画層の決まりが図面ごとに違っても使えますか?
- はい。画層名と線種の対応表を客先ごとに持てば数えられます。表にない画層の線が出たら、数えずに要確認として人に回します。
出典
- 図面よみの実験(2026年10月16日)。架空の板金部品20点の展開図を ezdxf 1.4.4 で作図し、切断長・丸穴(径別)・長穴・曲げ線を2通りの数え方で数えて、寸法表から式で出した正解と比べた。コードは相談のときにお見せします(2026年10月16日確認)
- ezdxf 公式ドキュメント「Introduction」(DXFの読み書き、MITライセンス、DWGへの変換はしない)(2026年10月16日確認)
- ezdxf 公式ドキュメント「LWPolyline」(bulge の定義、virtual_entities で LINE・ARC に分ける)(2026年10月16日確認)


