ベクターPDF×AIのハイブリッドで図面積算はどう変わる?いいとこ取りの仕組みを解説

「図面の積算、AIに任せたら一発でできるんじゃない?」——そう思って試してみたら、数字がビミョーにズレていた……なんて経験、ありませんか?逆に、プログラムだけで自動化しようとすると、図面ごとのクセに対応しきれなかったりします。そこで注目したいのが、ベクターPDFとAIのハイブリッドという考え方。この記事では、PythonとAIのいいとこ取りで図面の積算をラクにする仕組みを、カジュアルに紹介します。

AIだけ、プログラムだけだとツラい理由

AIだけの場合:数字が苦手

最近の生成AIは図面の画像を見て「ここに梁がある」「これは凡例だ」といった判断がかなりできるようになっています。でも、線の長さを正確に測ったり、何十本もの線の長さを足し合わせたりするのは苦手。もっともらしい数字を出してくるぶん、間違いに気づきにくいのがやっかいです。

プログラムだけの場合:意味がわからない

一方、Pythonなどのプログラムは、ベクターPDFから線の座標を正確に取り出して、長さや面積をきっちり計算できます。ただし、「この線が何の部材なのか」はわかりません。レイヤーや色のルールが図面ごとにバラバラだと、判定ルールがどんどん複雑になってしまいます。

ハイブリッド方式ってどんな流れ?

そこで、得意なことをそれぞれに任せるのがハイブリッド方式です。流れはこんな感じになります。

  1. Pythonが読む:ベクターPDFから線の座標・色・文字を取り出す
  2. AIが判断する:凡例や注記を読み、「どの線が何の部材か」を分類する
  3. Pythonが計算する:分類された線の長さや面積を正確に集計する
  4. 人が確認する:色分けした結果を図面に重ねて、おかしなところがないかチェックする

ポイントは、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を使った積算・見積の自動化まで、順を追って読めるシリーズです。

  1. 紙図面のデータ化:紙図面が探せない…そのお悩み、図面デジタル化で解決しませんか?
  2. PDFの種類を知る:ベクターPDFとラスターPDFの違いとは?図面をAIで読む前に知っておきたい基本
  3. Pythonで図面を読む:CAD 図面は Python で読める!AI と組み合わせて積算をラクにする方法
  4. AIと組み合わせる:ベクターPDF×AIのハイブリッドで図面積算はどう変わる?いいとこ取りの仕組みを解説(この記事)
  5. 見積自動化の注意点:AIで見積自動化する注意点とは?図面DXのロジックと運用のコツ