ベクターPDF×AIのハイブリッドで図面積算はどう変わる?いいとこ取りの仕組みを解説
「図面の積算、AIに任せたら一発でできるんじゃない?」——そう思って試してみたら、数字がビミョーにズレていた……なんて経験、ありませんか?逆に、プログラムだけで自動化しようとすると、図面ごとのクセに対応しきれなかったりします。そこで注目したいのが、ベクターPDFとAIのハイブリッドという考え方。この記事では、PythonとAIのいいとこ取りで図面の積算をラクにする仕組みを、カジュアルに紹介します。
AIだけ、プログラムだけだとツラい理由
AIだけの場合:数字が苦手
最近の生成AIは図面の画像を見て「ここに梁がある」「これは凡例だ」といった判断がかなりできるようになっています。でも、線の長さを正確に測ったり、何十本もの線の長さを足し合わせたりするのは苦手。もっともらしい数字を出してくるぶん、間違いに気づきにくいのがやっかいです。
プログラムだけの場合:意味がわからない
一方、Pythonなどのプログラムは、ベクターPDFから線の座標を正確に取り出して、長さや面積をきっちり計算できます。ただし、「この線が何の部材なのか」はわかりません。レイヤーや色のルールが図面ごとにバラバラだと、判定ルールがどんどん複雑になってしまいます。
ハイブリッド方式ってどんな流れ?
そこで、得意なことをそれぞれに任せるのがハイブリッド方式です。流れはこんな感じになります。
- Pythonが読む:ベクターPDFから線の座標・色・文字を取り出す
- AIが判断する:凡例や注記を読み、「どの線が何の部材か」を分類する
- Pythonが計算する:分類された線の長さや面積を正確に集計する
- 人が確認する:色分けした結果を図面に重ねて、おかしなところがないかチェックする
ポイントは、AIには「判断」だけをしてもらい、数字はすべてPythonで出すところ。こうすると、AIの読み間違いがあっても「分類のミス」として目で見つけやすくなります。
Pythonで線を取り出すとこんな感じ
たとえば「PyMuPDF」という無料のライブラリを使うと、ベクターPDFの直線をこんなふうに取り出せます。
import pymupdf
page = pymupdf.open("drawing.pdf")[0]
segments = []
for path in page.get_drawings():
for item in path["items"]:
if item[0] == "l": # 直線
p1, p2 = item[1], item[2]
segments.append({
"start": (round(p1.x), round(p1.y)),
"end": (round(p2.x), round(p2.y)),
"color": path.get("color"),
})
print(len(segments), "本の線を取り出しました")
この座標のリストと凡例の情報をAIに渡して分類してもらい、結果をまたPythonで集計する、というイメージです。なお、PDFの座標は図面上の実寸ではないので、縮尺に合わせて換算するのを忘れずに。
役割分担をまとめると
| 担当 | 得意なこと | 任せる作業 |
|---|---|---|
| Python | 正確な処理・計算 | 座標の取り出し、長さ・面積の集計 |
| AI | 意味の理解・判断 | 凡例や注記の解釈、部材の分類 |
| 人 | 最終的な責任 | 結果のチェック、例外への対応 |
精度を上げるためのコツ
- AIに計算させない:足し算や面積計算は必ずPython側で行う
- 凡例や注記をセットで渡す:線の情報だけでなく、判断の手がかりになる文字情報もAIに渡す
- 結果を「見える化」する:分類結果を色付きで図面に重ねると、人のチェックが一気にラクになる
- 小さく始める:まずは図面の種類を絞って試し、うまくいくパターンを増やしていく
ラスターPDFの図面はどうする?
スキャンした図面のようなラスターPDFは、線の座標データを持っていないので、このハイブリッド方式はそのままでは使えません。その場合は、AIに画像を見てもらって拾い出しの下書きをしてもらい、人が寸法を確認する、という進め方が現実的です。可能であれば、取引先にCADから直接書き出したベクターPDFをお願いするのがいちばんの近道ですね。
まとめ
ベクターPDFとAIのハイブリッドは、「正確な計算はPython、意味の判断はAI、最終確認は人」という役割分担で、図面積算の効率と精度を両立させる考え方です。AIだけ、プログラムだけで行き詰まっていたなら、一度この組み合わせを検討してみてください。「うちの図面でもハイブリッド方式でいけそう?」と気になったら、hello-opensky までお気軽にご相談ください。
「紙図面からAI活用まで」図面DXシリーズ
紙図面のデータ化から、AIを使った積算・見積の自動化まで、順を追って読めるシリーズです。
- 紙図面のデータ化:紙図面が探せない…そのお悩み、図面デジタル化で解決しませんか?
- PDFの種類を知る:ベクターPDFとラスターPDFの違いとは?図面をAIで読む前に知っておきたい基本
- Pythonで図面を読む:CAD 図面は Python で読める!AI と組み合わせて積算をラクにする方法
- AIと組み合わせる:ベクターPDF×AIのハイブリッドで図面積算はどう変わる?いいとこ取りの仕組みを解説(この記事)
- 見積自動化の注意点:AIで見積自動化する注意点とは?図面DXのロジックと運用のコツ

