Excel VBAでCAD(DXF)図面の寸法表記を自動置換― 実際に作ったサンプルで解説する業務改善事例 ―
- yuji fukami
- 1月13日
- 読了時間: 4分

はじめに|DXF図面の寸法修正、まだ手作業ですか?
設計業務や工業系の現場で DXF形式のCAD図面 を扱っていると、「図面はほぼ同じだが、寸法や仕様だけを変えたい」というケースが頻繁に発生します。
そのたびに、次のような作業を繰り返すことになります。
CADソフトを起動
図面を開く
寸法を探して選択
数値を打ち替えて保存
という作業を繰り返している方も多いのではないでしょうか。
今回は、Excel VBAを使ってCAD(DXF)図面内の文字列(寸法表記)を自動で置き換えるツールを実際に作成した事例を、実物のDXF・画面・変換結果を交えて紹介します。
従来の作業フローと課題(Before)
DXF図面の寸法修正作業は、一つ一つを見ると単純です。
しかし、実務では次のような問題が積み重なります。
修正件数が多い
同じような図面を何度も扱う
入力ミスや置き換え漏れが許されない
作業者が変わると品質がぶれやすい
特に「寸法」「作成者名」「仕様」などは、内容は変わるが、位置や形式は毎回同じということがほとんどです。
つまり実態としては、
CAD作業をしているようで、実際は「文字列を置き換えているだけ」
という状態でした。
発想の転換|DXFは「CADデータ」だが「テキスト」でもある
ここで着目したのが DXFファイルの構造です。
DXFはCADデータですが、内部構造はテキストベースになっており、人が中身を確認・編集できる形式です。
寸法の数値や文字表記も、DXF内部では単なる「文字列」として存在しています。
つまり、
CADで開いて編集するのではなく
テキストとして読み込み、文字列を置換する
という方法でも、同じ結果を作れるということです。
この特性を利用し、Excel VBAからDXFを直接処理する仕組みを構築しました。
【実例】今回作成したDXFサンプルとExcel VBAツール
ここからは、実際に作成したサンプルを使って説明します。
なお、今回のサンプル内容は、仕組みを分かりやすく説明するための最小構成の例です。
実際の開発案件では、より複雑な業務ルールや条件に基づいて設計・実装を行うことを前提としていますので、その点はあらかじめご理解ください。
Excel VBAツールの画面構成
Excelシート上のUIは、添付画像のような構成になっています。
変換対象となるDXFファイルを選択
置換する文字列を
「置換前」
「置換後」の一覧として入力
変換後に出力するDXFファイル名を指定
「変換実行」ボタンをクリック
このように、置換設定をすべてExcel上で完結させた状態で、ボタン一つでDXFファイルを変換できる仕組みになっています。

変換前のDXFファイルの状態
変換前のDXFファイルをCADで開くと、図面は例えば次のような状態になっています。
上部および右側の寸法表記として、
Length1
Length2
という文字列が配置されており、この段階ではまだ具体的な数値は入っていません。

Excel VBAツールで変換を実行すると…
先ほどのExcel VBAツールを使って変換を実行すると、設定内容に基づいてDXFファイルが自動生成されます。
生成されたDXFファイルをCADで開くと、図面は添付画像のように変化しています。
Length1 → 400
Length2 → 200
と、それぞれの文字列が自動的に置き換えられ、寸法表記として反映されていることが確認できます。

変換結果のポイント
変換前と変換後のDXFファイルを比較すると、
寸法位置
図形構成
は一切変わらず、文字列部分のみが設定内容に基づいて置き換えられたDXFファイルが出力されています。
CAD上で手作業による編集は行っておらず、DXFファイルをテキストとして処理し、Excel VBAから自動的に生成しています。
補足:今回のサンプルについて
今回の例は、DXF文字列置換の仕組みを直感的に理解してもらうための簡易サンプルです。
実際の業務でご依頼いただく場合は、
より多くの置換対象
条件分岐を含むルール
複数ファイルの一括生成
など、業務内容に応じた設計・構築を行います。
またこの実行サンプルにおける2つの機能のVBAコードを下記記事にて深堀して解説しています。
まとめ|「CAD作業」ではなく「業務」として考える
DXF図面の寸法修正は、CAD操作として見ると「仕方ない作業」に思えがちです。
しかし、作業の実態を分解すると、
情報を
決まったルールで
置き換えている
だけ、というケースが多くあります。
そのような作業は、Excel VBAで仕組みにすることで、大きく効率化できます。
単純でも件数が多い作業ほど、自動化の効果は確実に積み上がります。
CAD(DXF)図面の文字列置換も、その代表的な例です。


