0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PDFからベクタ線を取り出してJWWにするところまではできた。
ところが、図面に「2,590」と書いてある寸法をJw_cadで測ると、約2,587 mm。
そこで調べ始めたのは、PDFを作った側の「座標の丸め方」でした。
出力過程のクセと、論文で出会った幾何拘束。その両方から考え直し、最後はJw_cad上で2,590.000 mmに一致しました。
その先に見えてきたのが、公共工事の公告と一緒に、積算に使えるJWWを届ける構想です。

この記事は、前回の「老舗国産CAD、AIで再起動。Rust×iOS×C ABIでiPhoneへ」の続編です。

開発しているアプリはこちらです。

👉 JZ Draft AI(App Store)

今回は、PDF→CAD変換で残った「数mmのズレ」を追い込み、最後にピッタリ合わせるまでの話です。そして、この変換技術を弊社の公共工事情報サービス Newsatsu と組み合わせると、積算の準備作業をどこまで減らせるのか。その構想まで書きます。

※対象寸法の一致は今回の確認結果です。出力特性の自動推定・図面間での再利用と、Newsatsu連携・JWW配布・数量プレビューは、今後の検証・サービス構想として記載しています。


「変換できた」と思った

PDFの線を取り出し、JWWの線分へ変換する。

最初は、ここまでできれば完成だと思っていました。

実際、画面で見る限りは重なっています。壁も、寸法線も、文字もある。拡大しても、それらしい図面になっています。

ところが、Jw_cadの測定コマンドで寸法を測った瞬間、問題が出ました。

PDFの記載寸法      2,590.00 mm
変換後の測定値      約2,586.57 mm
差                  約3.43 mm

見た目では分からない。でもCADで測れば違う。

建築図面を編集・再利用する立場では、この3 mmを見過ごせない場面があります。

  • 通り芯に壁が乗らない
  • 柱と壁の端点が一致しない
  • 910 mmモジュールの連鎖が崩れる
  • 求積や寸法の合計に端数が出る
  • 後工程の編集でズレが増幅する

閲覧だけでは気づかなくても、端点を合わせて編集する段階では、このズレが手直しの原因になります。


最初に疑ったのは、pt→mmの丸め誤差

PDFの標準ユーザー空間では、1単位は原則として1/72 inchです。Adobeの資料にも、デフォルトのユーザー空間では1 unit = 1/72 inchと説明されています。

参考:Adobe PDF coordinate systems — User space

したがって、縮尺1/100の図面なら実寸への換算係数は次の通りです。

1 pt = 25.4 / 72 mm

縮尺 1/100 の実寸換算係数
= 25.4 / 72 × 100
= 35.277777... mm/pt

「35.28くらいに丸めたからズレたのでは?」

最初はそう考えました。しかし、倍精度浮動小数点で計算しても説明がつきません。

問題のPDF内部には、対象付近で次の座標が入っていました。

始点:X = 433.5601 pt、Y = 200.8800 pt
終点:X = 434.5201 pt、Y = 274.2000 pt

ΔX = 0.9600 pt
ΔY = 73.3200 pt
斜距離 = 約73.3263 pt

垂直寸法なので、正式に比較すべきなのは斜距離ではなく、寸法軸への投影距離です。

垂直方向の投影距離
= 73.3200 × 35.277777...
= 約2,586.57 mm

記載寸法との差
= 2,590.00 - 2,586.57
= 約3.43 mm

つまり、変換処理が座標を間違えたのではありません。

PDF内部の座標を正しく読んでも、2,590 mmにはならない。

ここが最初の突破口でした。


PDFは「設計データ」ではなく「描画命令」だった

PDFは、紙面を同じように見せることに強い形式です。

一方、CADが必要とするのは、線の意味と設計上の正確な位置です。

この違いは大きいです。

PDFの中では、見た目が一本の線でも、実体はさまざまです。

  • 中心線を持つStroke
  • 細い長方形として塗られたFill
  • 複数の短い線分に分割された点線
  • Bézier曲線の制御点
  • Form XObject内で変換された座標
  • CTM(Current Transformation Matrix)で拡大・回転・移動された図形
  • Excel罫線のように、線ではなく塗り潰し矩形として出力されたもの

ここで疑ったのが、PDFを作る途中で座標が一定の間隔へ丸められる「量子化」です。

たとえばGhostscriptの公式資料では、ベクタ出力も入力の描画命令を処理し、描画要素から出力を再構成する仕組みが説明されています。この仕組みを踏まえると、元CADの数値がそのまま保存されると決めつけず、出力後の座標を確かめる必要があると考えました。[Ghostscript公式資料「High Level Devices」冒頭の処理説明/公開日表示なし、2026年9月10日参照


座標を直す前に、その座標が生まれた過程を調べる

「小数点以下を何桁にすれば合うのか」と考えていたときは、変換器の出口を見ていました。

しかし、元PDFの時点で座標が丸められていたら、出口の桁数を増やしても、失われた値は戻りません。

そこで、問いを一つ手前へ戻しました。

このPDFを作ったソフトやプリンタードライバーは、どんな規則で座標を出力したのだろう。

手掛かりは、0.12 ptという刻み

今回の解析資料では、複数の座標に約0.12 pt単位の刻みが見られました。

縮尺1/100の図面なら、この1刻みは実寸で次の大きさになります。

紙面上の刻み
= 0.12 × 25.4 / 72
= 約0.0423 mm

縮尺1/100での実寸の刻み
= 0.12 × 25.4 / 72 × 100
= 約4.23 mm

紙では約0.04 mm。それがCADの実寸では約4.23 mmになる。

今回の3.43 mmという差が、この大きさの中に入ります。

さらに、0.12 ptを1インチ当たりの刻み数へ換算すると、こうなります。

72 pt/inch ÷ 0.12 pt
= 600 回/inch

600 dpi相当の格子間隔です。

これは数値上の対応であり、今回のPDFが600 dpi設定のプリンタードライバーで作られたと特定できたわけではありません。それでも、出力時の座標格子を調べる具体的な手掛かりになります。

ベクタPDFでも、出力された座標が格子状に並ぶ可能性はある。ベクタであることと、元CADの座標精度を保っていることは、分けて考える必要がありました。

出力された数値から、生成規則を推定する

この先に考えているのは、ページ内の座標分布から、出力過程の特性を推定する処理です。

単純化すると、仮説となる量子化モデルは次のように書けます。

出力座標 q = b + h × round((u - b) / h)

u:丸め前の座標
h:座標の刻み幅
b:格子の原点のずれ

これは最近傍丸めを仮定した説明用のモデルです。実際には切捨て等の規則も候補になり、回転・拡大縮小・座標の平行移動がどの段階で入ったかも確認が必要です。

調べる対象は、単に「0.12で割り切れるか」だけではありません。

  • 多数の端点が、同じ刻み幅と原点のずれで説明できるか。
  • X方向とY方向で、その規則は共通か。
  • 座標変換を考慮しても規則が残るか。
  • 通り芯など、元の設計上の規則的な配置を拾っているだけではないか。
  • 推定に使わなかった端点や寸法でも、その仮説が成り立つか。

プログラムのソースを見ず、出力されたデータから処理の特性を調べる。ここには、ブラックボックスをリバースエンジニアリングする面白さがあります。

ただし、ソフトウェアそのものを逆コンパイルしたわけではありません。特定のCADやPDF作成ソフトの内部アルゴリズムを解明したとも、まだ言えません。目指しているのは、そのPDFの座標を説明できる出力モデルをつくることです。

クセが分かっても、失われた座標は一意に戻らない

ここが、この話のもう一つの重要なところです。

仮に0.12 pt刻みの最近傍丸めだったとしても、出力された1座標に対応する元の値には幅があります。変換前後の座標系が同じなら、丸め誤差は1座標当たり最大で半刻みです。

1座標当たりの誤差上限(この丸めモデルの仮定内)
= 0.12 / 2 × 25.4 / 72 × 100
= 約2.12 mm

同じ軸上の2端点の差に含まれる誤差上限
= 0.12 × 25.4 / 72 × 100
= 約4.23 mm

量子化の規則を推定できれば、「元の点があり得る範囲」を絞れます。しかし、その範囲のどこが設計上の正解だったかは、座標だけでは決まりません。

そこで効いてくるのが、図面に残っている「2,590」という寸法、直交、平行、端点一致です。

出力のクセから誤差の範囲を知り、図面の寸法と関係から、その範囲内の幾何を決める。

この二つがつながったことで、単位換算の問題が、設計意図を復元する問題へ変わりました。


論文を読んで、問題の名前が変わった

ここまで来て、検索語を変えました。

それまでは、PDF coordinate accuracypt mm rounding errorPDF to CAD conversionと検索していました。

しかし、PDFの座標自体を正確に読んでも2,590 mmにならないのなら、これは「単位変換」の問題ではありません。

探すべきは、不完全な観測から、編集可能なCADと設計意図をどう復元するかでした。

そこで読んだ論文の中で、特に考え方を変えたのが次の3本です。

論文 着目した点 今回の実装への示唆
Raster-To-Vector: Revisiting Floorplan Transformation(ICCV 2017) 画像を単になぞらず、壁接合部などの構造を検出してベクタ平面図を組み立てる 画素・描画命令の忠実な複写と、建築図面としての復元は別問題
Vitruvion: A Generative Model of Parametric CAD Sketches(ICLR 2022/初稿2021年) CADを線の集合ではなく、primitiveとconstraintから成るプログラムとして扱う 寸法、直交、平行、端点一致を拘束グラフとして持たせる
DAVINCI: A Single-Stage Architecture for Constrained CAD Sketch Inference(2024) ラスタ画像から幾何primitiveとconstraintを同時に推定し、誤差の連鎖を抑える 線を起こした後に場当たり的に丸めるのではなく、幾何と拘束を同じ問題として評価する

特にVitruvionの説明は刺さりました。

CADの本質は、線がどこに見えるかだけではない。線、円、点などのprimitiveと、「直交」「平行」「一致」「寸法」といったconstraintによって設計意図を表す——という考え方です。

Vitruvionでは、生成した幾何と拘束を、CAD側で解いて編集できる表現として扱います。ここから着想したのが、「座標の誤差を、寸法などの拘束と一緒に評価する」という方針でした。

これを今回のPDFへ置き換えると、こうなります。

PDF座標 = 観測値
寸法文字 = 設計意図の候補
直交・平行・端点一致 = 幾何拘束
JWW座標 = ソルバーで確定した結果

ここで、問題の名前が変わりました。

変更前:「PDF座標を何桁で丸めればよいか」
変更後:「PDFに失われた設計意図を、どの拘束から復元するか」

この瞬間、「3 mmの誤差を丸める」のではなく、「2,590 mmという設計意図を満たす幾何を解く」方へ進めました。

これらは、プリンタードライバーの丸め規則を特定する論文ではありません。参考にしたのは、幾何要素と拘束を組み合わせ、整合する図形を求める考え方です。論文のモデルをそのまま搭載するのではなく、PDFのベクタ、寸法文字、JWWの縮尺、建築図面の寸法配置へ応用しています。


寸法文字を、ただの文字から「拘束条件」へ

図面には「2,590」と書かれています。

人間はこれを見れば、「この二点間は2,590 mmであるべきだ」と理解します。しかし、単純なPDF変換器にとっては、ただの4文字です。

そこで、変換経路を次のように整理しました。

PDFの原始データ
  ↓
線・文字・塗り・変換行列を抽出
  ↓
寸法文字の候補を正規化
  ↓
寸法線・補助線・矢印・対象端点を関連付け
  ↓
拘束グラフを構築
  ↓
元図形からの移動量が最小になる補正案を計算
  ↓
PolicyGateで矛盾・過補正を検査
  ↓
利用者がプレビューして確定
  ↓
JWWへ保存

ポイントは、OCRやAIが読んだ数字を、そのまま図面へ書き込まないことです。

「2,590」という文字だけを信じて線を動かすと、別の寸法や直交条件を壊す可能性があります。敷地境界なら、寸法文字より測量座標を優先すべき場合もあります。

そのため幾何を3状態に分けました。

状態 内容
raw PDFから直接抽出した元座標
proposed 寸法拘束から計算した補正候補
committed 検査と利用者確認を通過した確定座標

拒否・競合・取消のときは、元データを変更しない設計にします。


斜めの線を測ってはいけない

今回の対象線には、X方向に0.9600 ptの傾きがありました。

ここで端点間の斜距離を使うと、約2,586.79 mmです。垂直方向へ投影すると、約2,586.57 mmです。

差は約0.22 mmしかありませんが、考え方として重要です。

measured = abs(dot(P2 - P1, normalized_dimension_axis))

寸法が縦方向なら縦へ、横方向なら横へ投影して比較します。

「少し傾いた寸法線の長さ」を設計寸法だと思い込むと、傾きを長さへ混ぜてしまいます。


1個の寸法で、図面全体を拡大してはいけない

2,586.57 mmを2,590 mmへ合わせる倍率は、約100.1326%です。

2,590.00 / 2,586.57
= 約1.001326
= 約100.1326%

では、図面全体を100.1326%に拡大すればよいのか。

答えは、原則として「いいえ」です。

1つの寸法だけで全体を拡大すると、正しかった別の寸法まで壊す可能性があります。

そこで、全体縮尺の誤差と局所的な量子化誤差を分けます。

全体補正を許可するのは、複数の高信頼寸法について、次の倍率が同じ方向に揃った場合だけです。

scale_ratio_i = stated_dimension_i / measured_dimension_i

倍率が揃わない、特定端点だけがずれている、全体を直すと他の寸法が悪化する——その場合は局所補正として扱います。

今回のような補正なら、二つの端点へ均等配分する案は次の通りです。

残差          約3.43 mm
端点ごとの移動 約3.43 / 2
              約1.72 mm

ただし、片側が通り芯や他の確定点に拘束されているなら、固定側は動かしません。


AIに任せる部分と、コードで止める部分

前回の記事では、AIへ「実行してよいか」まで判断させて失敗し、決定論的なPolicyGateへ責務を移した話を書きました。

PDF→CADでも同じでした。

AIやOCRが得意なのは、候補を出すことです。

  • この文字は寸法値らしい
  • この線は寸法線らしい
  • この二本は補助線らしい
  • この端点の組が対象らしい

一方、次の判定はコードで行います。

  • 他の高信頼寸法を悪化させないか
  • 直交・平行・閉領域を壊さないか
  • 移動量が推定量子化幅を大幅に超えていないか
  • 全体縮尺補正と局所補正を混同していないか
  • 保存後にJWWを再読込して同じ値になるか
  • 信頼度不足なら自動確定せず、利用者へ確認を出す

結局、ここでも答えは同じでした。

確率で見つけ、決定論で検査し、人が確定する。


そして、最後は2,590.000mmになった

実装後、同じPDF、同じ対象寸法、同じ縮尺で再度JWWへ変換しました。

そしてJw_cadの測定コマンドで確認した結果が、これです。

PDFの記載寸法          2,590.00 mm
補正前の投影距離        約2,586.57 mm
検出した残差            約+3.43 mm
補正後のJWW測定値       2,590.000 mm

最後は、ピッタリ合いました。

ここで確認できたのは、今回の対象区間で記載寸法とJw_cadの測定表示が一致したことです。表示の一致は、全要素の座標や面積まで誤差ゼロになった証明ではありません。ほかの寸法・接続関係・保存後の再読込は、それぞれ別に検証します。

画面で見たときは、補正前と補正後の違いはほぼ分かりません。しかし測定コマンドの数字は、約2,586.57 mmから2,590.000 mmへ変わりました。

この「見た目は同じなのに、CADとしては違う」が、今回いちばん面白かったところです。

参考として、社内技術仕様書(2026年9月9日改訂、§25.9・§43等)に記録した別の評価と、今回の寸法確認を並べます。評価対象や指標は異なり、総合的な「変換成功率」を示す表ではありません。

項目 実測結果
ベクタPDFの長い線(実PDF 4枚) recall@0.5 = 0.935/precision = 0.78
ベクタPDFの文字 exact = 0.803 / CER = 0.096
Excel印刷PDFの罫線 出力線275本/塗り潰し矩形275個(本数一致)
ベクタグラフの細切れ 5,533 → 4,843(−12.5%)
誤結合(上記の実図9枚の評価内) 0
対象寸法のPDF座標値 約2,586.57 mm
記載寸法との差 約+3.43 mm
補正後のJw_cad測定値 2,590.000 mm

ただし、1か所が合ったから「どんなPDFでも完全変換できる」とは言いません。

  • 複数寸法が矛盾する図面
  • OCRで寸法値を誤読した図面
  • 寸法線と対象端点の対応が曖昧な図面
  • スキャン画像しかない図面
  • 測量座標を寸法文字より優先すべき敷地図

こうしたケースでは、自動補正せず、候補と理由を人へ返す必要があります。

今回証明できたのは、少なくとも「PDFだから3 mmのズレは仕方がない」という結論ではないことです。

PDF座標だけでは失われた寸法でも、図面内の設計意図を拘束として使えば、CAD上でピッタリ復元できる場合がある。


一つの図面で見つけた規則を、次の図面へ生かせるか

寸法が合ったところで、もう一つ可能性が見えてきました。

同じ出力条件で作られた図面なら、座標のクセも再利用できるのではないか。

ここからは、今後検証したい拡張です。量子化パラメータを図面間で再利用する処理と、その高速化効果は、まだ実測結果として示せる段階ではありません。

計算する範囲を絞れる可能性

出力モデルが分かれば、各端点に対して「この程度のずれなら生成過程で説明できる」という範囲を与えられます。

検証済みのモデルを初期値や候補の絞込みに使い、寸法と矛盾する部分や、関連する拘束の範囲へ詳しい計算を集中する。規則が合わないページは、通常の推定へ戻す。

この分担ができれば、図面ごとに候補探索を繰り返す負担を減らせる可能性があります。

ただし、「フィルターを通せば正解」「ソルバーが不要になる」という話ではありません。局所補正でもつながった図形へ影響が及ぶため、整合検査は必要です。処理時間は推定・補正・検証を含む全体で比較し、誤補正が増えていないことも測ります。

何十枚もの図面へ展開するなら

同じ物件の図面一式でも、用紙、出力倍率、作成ソフトの版、詳細図の貼り込み方が違うことがあります。同じ事務所が作ったという理由だけで、同じ補正はかけません。

考えているのは、推定した刻み幅や生成条件を記録し、次のページの座標分布・寸法で再確認してから使う仕組みです。

代表ページで特性を調べ、別ページで成り立つか検証し、条件が合う図面へ広げる。成り立たなければ、そのページでは再推定する。

これが成立すれば、何十枚、何百枚という図面一式に対して、毎回ゼロから解析する部分を減らせます。

一枚を直した経験が、次の一枚を確かめる手掛かりになる。

この蓄積を使う場所として考えているのが、Newsatsuです。


次は、公共工事の公告と一緒にJWWを届けたい

ここからは、この技術の使い道についてです。

弊社は、公共工事の入札公告・落札結果・建設会社情報をつなぐ Newsatsu(newsatsu.jp) も開発・運営しています。案件を探し、地域や工種を絞り、次の営業先や受注候補を見つけるサービスです。

そこで考えているのが、次の組み合わせです。

Newsatsuで、公告と同時に配布されるベクタPDF図面を取得し、JZ Draft AIの変換エンジンでJWW化して、案件ページからダウンロードできるようにする。

今回のサービスで対象にするのは、公告と同時に配布されるベクタPDFです。PDF内に残っている線や文字を直接取り出し、縮尺と寸法を照合してJWWへ再構成します。

案件を見つけた時点で、寸法の照合結果が付いたCADデータも手に入る。Jw_cadやiPhone/iPadのJZ Draft AIで開いて、そのまま拾い出しの準備へ進める。

対象寸法を一致させる技術に、出力特性の推定と再利用を組み合わせる。一枚の変換から、図面一式を扱うサービスへ広げる構想です。

積算の前にある「図面を使えるようにする作業」

たとえば、学校の改修工事を見つけた防水会社が、屋上の施工範囲を拾いたい場合を考えます。

手元のベクタPDFをいつものCADで使うために、図面を取り込み、線や文字へ変換し、基準寸法を選び、縮尺を確認する。利用するソフトによっては、拾う範囲を指定するための作図や手直しも必要になります。

ベクタ情報が残っているのなら、その情報をできるだけ生かして、この準備を済ませておきたい。今回の変換技術は、そこに使えます。

この準備を、同じ公告を検討する会社が、それぞれ行う。

共通部分を一度処理し、その検証結果ごと渡せれば、同じ図面を何度も下準備する時間を減らせるのではないか。

ここに、NewsatsuとJZ Draft AIを組み合わせる価値があると考えています。工数削減の効果は、今後、実際の積算担当者と測りたいところです。

「JWWをダウンロード」の先にある使い道

案件ページに設けたい入口は、シンプルです。

JWW(Jw_cadデータ)をダウンロード
原本PDF・縮尺の根拠・寸法照合結果を確認

提供するJWWでは、線・文字・下敷き画像を分けて扱えるようにします。文字を非表示にして図形を選ぶ、原本を重ねて変換結果を確認する、といった使い方を想定しています。これは変換後の整理であり、元のCADレイヤを完全に復元するという意味ではありません。

利用者 想定する使い道 数量として使う前の確認
建築・改修会社 対象範囲の面積、開口部の寸法・周長を拾う 工事範囲、仕上げ区分、控除条件
防水・塗装会社 屋上や床の対象面積、端部の延長を拾う 立上り、高さ、施工対象外の部分
設備・電気会社 図面上の配管・配線経路の平面長を拾う 上下移動、系統、仕様、実施工経路
土木会社 寸法・座標を確認した区間の延長や平面範囲を拾う 測量座標、勾配、断面、数量算出条件

ここで区別したいのは、幾何を測れることと、積算数量が確定することです。

床の閉領域が分かれば面積は計算できます。しかし、壁面積には高さや開口控除が必要です。配管の平面長が分かっても、立上りや立下りまで自動的に分かるわけではありません。

最初に目指すのは、正しく拾うための準備を短くし、測定根拠を確認しやすくすることです。

変換エンジンを、案件収集の後ろにつなぐ

サーバー側では、次の処理をバックグラウンドでつなぐ構想です。

  1. 案件にひも付く図面PDFについて、取得・加工・配布条件を確認する。
  2. 原本の版とページを記録し、ベクタ描画命令・文字・座標変換を解析する。
  3. JZ Draft AIの変換処理を使い、線・文字・縮尺候補を抽出する。
  4. 出力特性の推定・再利用を検証し、寸法の矛盾や対応不明の箇所を分ける。
  5. JWWと照合結果を保存し、条件を満たした図面を案件ページへ掲載する。

JWWに加え、元PDFのページ、単位、領域別の縮尺、照合した寸法、補正履歴、未確定の意味情報をJSONで保持する案です。JWWは普段のCAD作業へ、付随データはWeb表示や再検証へ使います。既存のJw_cadが、このJSONの意味情報をそのまま解釈するわけではありません。

Rustの共通処理を生かしつつ、iOS側のPDF・画像・OCR処理に依存する部分は、サーバーで動かせる形への切り出しと検証が必要です。アプリにある機能が、そのままサーバーで稼働するとは決めつけていません。

また、訂正図面が出たら旧版のJWWを現行版として出し続けないことも必要です。原本の更新と変換結果を対応付けるところまで含めて、サービスにしたいと考えています。

さらに、CADを開く前の「数量プレビュー」へ

もう一段先には、案件ページで対象範囲の概算面積や主要な部屋名、図面上の延長を確認できる表示を考えています。

たとえば、防水会社が案件を開いたときに、認識した屋上の範囲とその面積候補が見える。数値を選ぶと、根拠になった原図の範囲も確認できる。

これなら、CADを開く前に「自社で検討する規模の工事か」を判断する材料になります。

ただし、「延床面積」「壁面積」と名前を付けるには、線の位置だけでなく、階・部屋・高さ・開口・対象範囲の意味を正しく関連付ける必要があります。必要な情報がそろわない項目は、数値を推測して埋めず、未確定として表示する設計を考えています。

線を取り出す。寸法を確かめる。何の線かを関連付ける。その根拠から数量を出す。

JZ Draft AIで進めている、IRへ図面の意味を付加する仕組みも、この段階でつながってきます。


配るなら、「どこまで確かめたか」も一緒に配る

サービス化で大切にしたいのは、変換できたファイルの数より、利用者が安心して確認を進められることです。

ベクタがあることと、実寸が合うことを分けて確認する

対象のベクタPDFには、直接取り出せる幾何情報があります。社内技術資料でも、PDFベクタの直読、文字抽出、塗り潰し罫線の中心線化などを実装しています。

ただし、今回の3.43 mmが示したように、ベクタの座標を正確に取り出すだけでは、記載寸法と一致しない場合があります。だからこそ、ベクタ直読と寸法照合を組み合わせることが、このサービスの中心になります。

配布画面では、その検証結果も確認できるようにします。

表示項目 利用者へ伝えたいこと
変換対象 公告に添付されたベクタPDFの対象ページ・領域
縮尺 確認済みの範囲、推定根拠、未確定の領域
寸法照合 照合件数、一致・不一致、補正前後の残差
要確認箇所 寸法の誤読候補、対応が曖昧な線、未抽出部分
原本情報 発注機関、元URL、図面の版、変換日時

ベクタ直読で保持した幾何と、寸法に基づいて補正した幾何を区別して記録します。1ページに異なる縮尺の詳細図がある場合も、領域ごとに区別します。

そして、自動処理では判断できない図面は、未照合として人へ返す。今回の寸法補正で重要だった考え方を、そのまま配布の仕組みにも持ち込みます。

公開図面の加工・再配布は、条件を確認してから

配布対象は、加工・再配布の条件を確認できた図面からにします。

デジタル庁の「公共データ利用規約(第1.0版)」は、適用対象となるコンテンツの商用利用・加工等を認める一方、出典と加工主体の表示、第三者の権利確認を求めています。ただし、この規約がすべての自治体・入札図面に一律適用されるわけではありません。[2024年7月5日制定、本文1・1.1・1.2・1.4

発注機関ごとの利用条件と図面ごとの権利関係を確認し、「発注者が作成した原図」と「弊社が変換・補正した積算補助データ」を明確に区別します。免責文を付けるだけで、加工・配布の許諾に代えられるとは考えていません。


2,590 mmが合った。その先の時間を減らしたい

今回、最後にJw_cadが表示した数字は、2,590.000 mmでした。

この一致は、まず一つの図面、一つの対象区間で得られた結果です。複数の図面へ広げるには、合うケースだけでなく、矛盾して止めるべきケースも測る必要があります。

それでも、この技術の使い道は見えてきました。

公共工事を見つけたら、寸法の照合結果が付いたJWWも手に入り、いつものCADで拾い出しを始められる。

Newsatsuで工事を探し、JZ Draft AIの変換技術で図面を整え、各社が得意な積算や施工の検討へ進む。そんな流れをつくりたいと考えています。

最初は、小数点以下を何桁残すかを考えていました。そこから、座標が生まれた過程を調べ、論文の拘束表現を参考にし、図面の寸法と向き合うところまで進みました。

3.43 mmのズレを追いかけた先に、同じPDFを各社で変換し、縮尺を合わせ直す時間を減らす構想が見えてきました。

次に確かめたいのは、変換した線の精度と、それによって現場の担当者が何分早く仕事を進められるかです。

JZ Draft AIをApp Storeで見る
Newsatsuで公共工事を探す


参考資料

参照日:2026年9月10日。サービス連携部分は筆者の構想であり、各論文が本サービスの精度や実現性を検証したものではありません。

  • 前編:老舗国産CAD、AIで再起動。Rust×iOS×C ABIでiPhoneへ:前回の開発経緯。
  • PDF 32000-1:2008(Adobe公開版):2008年、§8.3.2.3(ユーザー空間)、§8.3.3(座標変換)、§8.5(パス)。旧版だが、この記事で扱う基本座標系・描画仕様の根拠として採用。
  • Ghostscript公式資料「High Level Devices」:冒頭のベクタ出力処理の説明。公開日表示なし、2026年9月10日参照。描画要素から出力を再構成する背景説明に採用。今回の0.12 ptや生成ソフトの特定根拠ではありません。
  • Raster-to-Vector: Revisiting Floorplan Transformation:ICCV 2017、著者公開ページAbstract。接合部検出と整数計画による図面復元を参照。古い研究だが、認識候補と幾何整合を組み合わせる発想の出発点として採用。
  • Vitruvion: A Generative Model of Parametric CAD Sketches:初稿2021年9月29日、改訂2022年4月28日、ICLR 2022、Abstract。幾何要素と拘束によるCAD表現を参照。
  • DAVINCI: A Single-Stage Architecture for Constrained CAD Sketch Inference:2024年10月30日公開、BMVC 2024、Abstract。画像からの幾何・拘束の同時推定を参照。
  • 公共データ利用規約(第1.0版):デジタル庁、2024年7月5日制定、本文1・1.1・1.2・1.4。加工・商用利用、出典表示、第三者権利、適用除外を参照。
  • Newsatsu:公式サービス概要。公開・更新日表示なし、参照日時点の情報。
  • JZ Draft AI(App Store):アプリ配布ページ。
  • 社内技術資料:JZ_DRAFT_AI_TECHNICAL_SPEC_20260905.md(2026年9月9日改訂)、§25.8–25.9ほか。公開URLなし。表の評価値は社内評価であり、第三者評価ではありません。今回の2,590.000 mm一致は開発者による測定確認です。
  • 社内解析・実装指示資料:PROMPT_DIMENSION_AWARE_PDF_TO_JWW_GEOMETRIC_RECONCILIATION_20260909(1).md、2026年9月9日、§5「PDF量子化の推定」。公開URLなし。約0.12 ptの観察と統計推定の方針を参照。生成ドライバーの特定や高速化の完了報告ではありません。

タグ候補

PDF
JWW
Rust
iOS
CAD
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?