【鉄道設備設計や高速道路設計で使える】AutoCADでExcelのデータを自動入力する方法及びAutoCAD内のデータをExcelほかCSVへ出力する方法

この記事では、autoCADからExcelへ、 AutoCAD内のデータを出力する方法、また、その逆で、Excel内の文字列を、「文字として」autoCADに自動入力する方法です。
この記事には画像を用いておりませんので、わかり辛かったら申し訳ございません。あらかじめご了承ください。
①AutoCAD内の図面データ・プロパティを数値や文字列として出力する
dataextractionコマンドをコマンドラインに入力します。
すると出力データの設定画面が立ち上がるので、順序に従い図面全体、または、目的のオブジェクト(文字なら文字、図なら図、なんでもよい)を選択します。
すると、図面内にある情報であればほぼすべて抽出できます。たとえば、選択したオブジェクトのX座標、Y座標、画層は何か、文字高さはいくつか、編集時のユーザー名などです。
これを出力した先のExcelやCSVファイル上で、X座標を基準に昇順で並び替えを実行すると、図面内左から右への情報が、セルにきれいに上から下へ並ぶことになります。
これにより例えばですが、図面から何らかの数値をExcelに手拾いして入力積算する手間を省略できます。
②Excel内にデータを取りまとめて、 AutoCADへ図面として(オブジェクトとして)出力する
Excelの各列に上記で取得できるようなデータを入力して整えておきます。たとえば、A列にオブジェクトを置きたい対象位置のX座標の数値、B列にY座標の数値を入力しておき(そのために上記①のデータ抽出は有効、座標情報が抽出でき情報を数値として扱える)、C列に実際に自動入力したい文字列(例として)を入力しておきます。
そして、どこでもいいので、たとえば、D列に次の呪文を入力します。ここがAutoCADへの指示になるので重要です。
=CHAR(10)&"-text j bl “&A2&","&B2&" 8 0″&CHAR(10)&C2&CHAR(10)
上記の呪文はあくまで一例で、A2にX座標、B2にY座標、C2に対象の文字・値を入力した場合を示しています。呪文の8は文字高さ、0 は回転角度です。
=CHAR(10)&"-text j bl “&A2&“,"&B2&" 8 0“&CHAR(10)&C2&CHAR(10)
ここまでがExcelの操作で、この呪文を、すなわち、上記の例でいうD列(これはぶっちゃけどの列でもいいですが、この記事の例ではD列としています)を一気にコピーし、AutoCADのコマンドラインに貼り付けエンターでソフトに指示をします。
するとあら不思議、AutoCAD上で扱える形で自動で文字が入力されていくではありませんか。といった具合です。
この記事でのポイントは、Excelを表として(画像データとして)AutoCADに張り付けるのではなく、AutoCAD内で編集可能な文字列データとして自動入力が行われる点です。
このセルを数万行コピーして貼り付けても自動で入力してくれます。
鉄道や高速道路の設計では、キロ程または測点で線形を管理しており、延長が数十kmに及ぶのに、高速道路の測点は20m間隔、 ジャンクションは10m間隔で管理しており、それに対する勾配や拡幅を手入力、手拾いしていたら、いつまでも仕事が終わらず発狂しそうになりますよね。鉄道でいえばスラックやカントを管理する場合もあるでしょう。
もちろん文字列等がわれわれの意図した通りに自動入力されない場合もありますが、AutoCAD上で扱えるため、一個だけ正しいデータを付与してあげれば、その他もプロパティコピーなんかで一撃で編集が終えられる可能性があります。
上記が皆様の何かの役に立てば幸いです。文字列以外の入力方法については、調べればでてくると思います。




ディスカッション
コメント一覧
まだ、コメントがありません