CadExtractor

CadExtractor for ARES -image-

■はじめに
 CADからExcelにオブジェクト長やら座標値やらを効率よく取得するツールを作ってみました。
今さら感が強いのですが、依然としてCADからの拾いという仕事は結構あったりするので、そこそこ便利に使えるのでは無いか?という期待があります。

実際に配筋図と加工図、重量表の確認をした際は結構楽になった気もします。
自分はAutoCADでlist結果をlog出力し、それを秀丸マクロで長さ表記だけ抜きとり、Excelに持って行って整形する・・なんてことを長くやってきましたが、このCadExtractorでは選択したオブジェクトの長さを指定の単位でラウンドし、アクティブなセルに入力させることが出来るので本数、平均、合計長などは瞬時に確認できます。

●概要
CadExtractorはExcelアドインとして作成しました。

ActiveX機能を使ってCADソフトから情報を取得するので、対応するCADソフトが必要です。
2026年7月25日公開のVer.1.10から、CADのタイプライブラリを遅延バインディングで呼び出すようにしました。これによりVBEでの参照設定が不要になり、ACAD版とARES版に分かれていたファイルを1つに統合しています。接続先のCADは設定ファイルで切り替えます。
BricsCADとIJCADの接続先も用意しましたが、手元にソフトが無いため未検証です。

フリーウェアとしますが、コードが稚拙で恥ずかしいのでパスワードは設定しています。カンパは歓迎いたします。

●動作環境
Windows版のMicrosoft Excel 2010以降と、ActiveXに対応したCADソフトが必要です。
Ver.1.10はCADのタイプライブラリをバージョン非依存で呼び出すので、特定のCADバージョンを要求しません。
開発と動作確認はExcel 2016(64bit)とAutoCAD 2021の組み合わせで行っています。CAD側の実装差により動作しない機能があるかもしれません。ご了承ください。

●主な機能
・オブジェクトの長さを取得します。
 対象:線分、ポリライン、3Dポリライン、円、円弧、リージョン
・文字列オブジェクトを取得します。
 対象:テキスト、マルチテキスト、マルチ引出線
・ブロックの属性値を取得します。
・オブジェクトの面積を取得します。
 対象:ポリライン、円、楕円、リージョン
・オブジェクトの座標値を取得します。
 対象:点、テキスト、円、ブロック、線、ポリライン、3Dポリライン、円弧(中心)
・寸法値を取得します。(計測値または上書き寸法)
 対象:長さ寸法、平行寸法、角度寸法、円弧寸法、半径寸法、直径寸法

・長さ、面積は取得値のラウンド桁指定や倍率設定が出来ます。
 倍率設定とは、mm定義図面をmで読みたいときなどに利用します。
 また、平均値、合計値計算を追加するオプションがあります。

●見た目

スクリーンショット

●ダウンロード

2026年7月25日公開の統合版です。参照設定は不要です。

以前のバージョンも残しておきます。こちらはCADに応じた参照設定が必要です。

●インストール
zipを展開し、同梱のinstall.batを実行してください。CadExtractor.xlamとCadExtractor.iniをアドインフォルダにコピーし、インターネット由来ファイルのブロックも解除します。管理者権限は不要です。

手作業で置くこともできます。その場合はアドインフォルダにCadExtractor.xlamを保存してください。アドインフォルダは [ ファイル名を指定して実行 ] に[%appdata%\Microsoft\AddIns]このように入力して実行すると開きますので、これで開くのが楽です。ファイル名を指定して実行はWindowsマークを右クリックすればすぐアクセスできます。(またはWin+Rですね)
手作業で置いたときは、ファイルのプロパティを開き、ブロックされていれば解除してください。

●接続先CADの設定
AutoCADをそのまま使う場合、この設定は不要です。
アドインは接続先CADのProgIDを設定ファイルから読み取って接続します。接続先を変えるときは、CadExtractor.xlamと同じフォルダに置いたCadExtractor.iniのProgIDの行を書き換えてください。設定ファイルが無い場合はAutoCADに接続します。

[CAD]
ProgID=AutoCAD.Application

主なCADのProgIDは次の通りです。
・AutoCAD:AutoCAD.Application
・ARES:PCAD_AC_X.AcadApplication
・BricsCAD:BricscadApp.AcadApplication
・IJCAD:Gcad.Application

後は基本的に一般的なアドイン利用と同様で、Excelでアドインの利用設定をするだけです。

アドインの有効か画面

●アンインストール
レジストリを使用して環境を維持しています。
アンインストールの際はリボンの「DeleteReg」を押し、レジストリ情報を削除してください。
その後アドインの利用登録を解除し、Excelを終了してから同梱のuninstall.batを実行すると、アドインフォルダからファイルを削除します。
参照設定が必要だった旧バージョンから乗り換える場合は、参照設定に追加した項目も解除してください。

●更新履歴
2026年7月25日:Ver.1.10を公開しました。参照設定を不要にし(遅延バインディング化)、接続先CADを設定ファイルで指定する方式にしました。ACAD版とARES版を統合し、インストーラーを同梱しています。
2023年11月23日:電子署名を付与しました。
2023年3月1日:AutoCADバージョンにおいて、座標取得を現在のUCSによる座標値を取得するように修正しました。
2021年10月10日:ACAD版のダウンロードを追加しました。

★謝意
レジストリの扱いには@KotorinChunChunさんの快適にレジストリ操作ができるクラスを使わせていただきました。大変ありがとうございます。

その他、日暮的(byこち亀)プログラマーなのでネット上のvba参考資料に大変助けられました。ありがとうございました。