この記事の難易度
今回は「AutoCADとExcelで属性データを相互管理|ATTIN、ATTOUTコマンド」を説明します。
AutoCADにはブロックに属性を持たせて情報管理ができる機能があります。
また、この属性情報をExcelで読めるように書き出せる機能もあります。
属性自体はAutoCAD上で修正することはできますが・・・
AutoCADをいちいち開くのは面倒だなぁとか
書き出したExcelから属性情報を修正できたらいいなぁ。というときってありますよね?
そんなときは「ATTINコマンド」「ATTOUTコマンド」を活用するとAutoCADとExcel間で属性データのやり取りができるようになりますよ。具体的な活用事例もご紹介します!
※ ATTIN、ATTOUTコマンドはAutoCAD専用の機能です。AutoCAD LTの方は使用できないのでご了承下さい。
属性データの相互管理について
AutoCADでブロックに属性情報をつけてデータ管理をするときに「ATTEXTコマンド」を使うとCADの属性情報をExcelにまとめることができます。(過去記事参照↓)
「ATTEXTコマンド」はAutoCAD LTでも使えるのでリーズナブルに属性情報を管理できるメリットがあります。
ところが、「ATTEXTコマンド」はAutoCADの属性情報をテキストファイル(Excelで読める)に書き出したら書き出しっぱなしです。
(使えないわけではありませんが少し物足りない感があります。)
書き出したExcelデータを修正しても図面の内容は変更されません。
(どうせならExcelで編集したデータもAutoCADに取り込みたい・・・)
ところがAutoCADのExpress Toolsにある「ATTOUTコマンド」、「ATTINコマンド」を使うとAutoCADとExcel間で属性情報の相互管理ができます。手順は以下の3つです。
- 「ATTOUTコマンド」で属性情報をテキストファイル(Excelで読める)に書き出し
- 情報に誤りがあったときにExcelデータを直接書き換える
- 書き換えたデータを「ATTINコマンド」でAutoCADに読み込むと属性情報が図面に反映
Excelで修正したデータがAutoCADに反映されるのはありがたい!
使用するデータについて
それでは実際に「ATTINコマンド」「ATTOUTコマンド」を使ってみましょう。
その前に今回使用するサンプルデータをご紹介します。
AutoCADの属性をExcelと連携させるために今回は以下のような会議室の部屋割り図面を作図しました↓
中身をよく見てみると部屋の区画の他に緑色の長方形が部屋ごとに置かれています。
こちらはブロック化をしていて、緑の長方形選択すると部屋番号と部屋のキャパ人数が書いてあります↓
また、プロパティ欄(上図の左)の属性欄を見てみると部屋番号とキャパ人数が入力できるようになっています。ちなみに入力された値はブロックに直接反映されます。
AutoCADのブロック機能を使うとオブジェクトや属性情報を一つにまとめられます。
ブロックについて基礎から学びたい方は以下のリンクを参照ください↓
また、属性は今回見ていただいたようにブロックに部屋の情報などを入れられる機能です。
属性について更に詳しく知りたい方は以下のリンクを参照ください↓
Export Attributesで属性データの書き出し(ATTOUTコマンド)
まずは図面の属性情報を一覧に書き出していきます。
リボンからExpress Tools>Export Attributesを選択します。
コマンドを使いたい方はコマンドラインから「ATTOUT」と入力してください。
するとテキストファイルの出力ウィンドウが立ち上がります。
ファイル名を決めて好きなフォルダ内へ保存してください。
ファイル名が決まったら、図面内で書き出したいデータ(ブロック)を選択してEnterキーを入力します。
書き出す対象が多すぎて選ぶのが面倒な場合、コマンドラインで「ALL」と入力すると図面内すべてのブロックが選択されます。
処理が完了すると先ほど設定したフォルダにテキストファイルが書き出されます。
メモ帳を使って中身を見てみましょう↓
すると上図のように属性名やブロックに設定されている属性などが一覧で表示されています。
一発でブロックの情報が書き出せるのはとても便利ですよね!
テキストファイルにHANDLEという値が出てきます。これはブロック固有の値のことを言います。この値を使ってブロックを見分けられるようになります。
属性データをExcelで読み込み
ATTOUTコマンドで書き出したデータはテキストファイルで書き出されました。
ですが列が微妙にズレていたり見づらいと感じる方もいらっしゃるかもしれません。
そこで書き出された属性データをExcelを使って読み込みたいと思います。
Excelを使うとデータが見やすく管理もしやすくなりますよ!
Excelを立ち上げたら「ファイルを開く」画面を立ち上げます。
一般的にExcelは「xlsx」や「csv」といったファイルを開きますが今回はテキストファイルから開きます。
ファイル名ヨコの拡張子選択タブから「テキストファイル(*.prn; *.txt*; .csv)」を選択しましょう。
するとテキストファイルをExcelで開けるようになります↓
テキストファイルをExcelで開くとテキストファイルウィザード画面が開きます(下図)
テキストファイルウィザード1 / 3 に移ったら元のデータの形式を設定します。
「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックを入れて「完了」を選択すればOKです!
すると先ほどのテキストファイルがExcel形式で表示されました↓
属性ごとにデータがまとまっているから管理しやすくなった!
属性データをExcelで修正
属性情報をテキストファイルに書き出してExcelで開くことができました。
ここで図面を見ていて属性情報を一部変更したい箇所があったとします。
(今回は102、103会議室のキャパ人数を変更したいとする)
図面の属性情報を直接直してもよいのですが、いちいち図面を開いたり、ブロックを探したりするのが面倒なときがあります。
そんなときは前の章で作成したExcelファイルから属性情報を修正する方法が手軽でおすすめです。
今回は102、103会議室のキャパ人数を変えたいのでExcelファイルからCAPACITY属性の人数を10人から5人に変更しました。Excelファイルの修正が終わったら上書き保存をしましょう↓
HANDLEとBLOCKNAME属性は固有の値が入っているので変更することはできません!
Import Attributesで修正データの読み込み(ATTINコマンド)
最後に編集したExcelファイルを使ってAutoCADの属性情報に値を反映します。
リボンからExpress Tools>Import Attributesを選択します。
コマンドを使いたい方はコマンドラインから「ATTIN」と入力してください。
するとテキストファイルの選択ウィンドウが立ち上がります。値を修正したテキストファイルを選択しましょう↓
図面を見てみるとキャパ人数が10人から5人に修正されました。
このようにExcelを使ってAutoCADのデータを1回で修正することができました!
属性情報を一括変更できるのは便利だなぁ
応用先について
今回は会議室の部屋番号とキャパ人数をブロック化したデータを使ってExcel ⇔ AutoCAD間のデータのやり取りを行いました(ATTIN、ATTOUTコマンド)
ここでは更に身近に使える応用例についてご紹介します。
今回ご紹介する応用例はプラント建設などに活用されるP&ID図面です。
P&ID図面は下図のように機器から伸びた配管がどう繋がっているのかを示す図になっています。
配管の途中にバルブやレジューサなどのパーツが付いています。
機械エンジニアの方はバルブやレジューサをP&ID図面を見ながら材料集計などデータ管理をすることがありますが、非常に面倒です。
そこでバルブなどに属性データをつけてATTOUTコマンドでデータを書き出すと便利です↓
各バルブ番号のデータがExcelで一覧表示できますし、Excelで編集したデータをAutoCADに戻せば属性データも一括で修正されます!
このようにAutoCADのデータとExcelデータが相互に連携できるので業務効率を上げられます。
興味のある方は試してみてください。
ダイナミックブロックを使ったバルブ図面の作成方法は以下にまとめました↓
P&ID図面から材料集計を自動化するには?【プラントエンジニア向け】
【AutoCADでP&ID 材料集計】バルブ編~①可視性でまとめる~
【AutoCADでP&ID 自動材料集計】バルブ編②~集計に必要な属性の設定~
【AutoCADでP&ID 自動材料集計】バルブ編③~管理が便利になる属性の設定~
【AutoCAD】データ書き出しでP&IDのバルブ情報を自動集計
まとめ
今回は「【AutoCAD上級者向け】AutoCADとExcelで属性データを相互管理|ATTIN、ATTOUTコマンド」ついて解説をしました。
・ATTOUTコマンドで図面の属性情報をテキストファイルに書き出せる。
・テキストファイルを編集してATTINコマンドで図面に取り込むと属性情報が修正される。
・テキストファイルはExcelで開ける ⇒ AutoCADとExcelで属性データを相互管理できる。
以上、こたろーでした。