プロが教える店舗&オフィスのセキュリティ対策術

ダウンロードしたCADデータの画層を社内の画層に一発で変換できるマクロというのはどのように作ればよいのでしょうか?
あるサイトでこのようなものを見つけたのですが、これは都度オブジェクトを選択しなくてはなりません
^C^C$m=-layer;m;AM_4;;QSELECT;_Change;p;la;AM_4;;;^M;;

選択もマクロで行いたいのです。
どなたかよきアドバイスをお願いいたします。

A 回答 (5件)

No2です。



画層"0"を画層"AM_0"にしたいとなると、renameではできません。
画層"0"は、変更も削除もできないからです。
他の画層なら可能でしょう。

もし、画層"0"で書かれたものを変更したいのなら、Filterで画層"0"を全て選んで、変更するといいでしょう。
一番、楽なのは、LISPでプログラムすることですが・・・。
    • good
    • 0

変換する際に、必ずrename元のレイヤは存在しますか?


変換する元のレイヤがない場合、スクリプトは止まってしまいます。

スクリプトでやろうとする場合は、
1.まず、renameする元レイヤをすべて存在する状態にする
 →-layer m レイヤコマンドのMオプションで必要レイヤを事前に作成
  (存在する場合は、そのレイヤを現在層にする動きになります) 
2.renameにて順次レイヤ名を変更
3.オブジェクトのないレイヤを消しておきたいなら、-purgeコマンドで
 レイヤ削除

たとえば、レイヤ名「A・B・C」を「Pre_A・Pre_B・Pre_C」にする場合、
-layer r A Pre_A r B Pre_B r C Pre_C というスクリプトを作成すると
元のデータにBがない場合は、途中で止まります。
なので、
-layer m A m B m C で一度変更元レイヤを確実にある状態にしてから
上記のスクリプトを追記すると、確実に変更できるはずです。
    • good
    • 1

スクリプトを使えば一括変換可能ですよ。



layer rename "_01形材" "_01katazai"

こんなふうに書いて拡張子.scrで保存して、あとはAutoCADのウィンドウにドラッグ&ドロップすれば使えます。
スクリプトの基本的なルールについてはヘルプを参照してくださいね。


はじめにレイヤリストを作るときは

^C^C-layer;?;*;

こんなマクロが使えると思います。
    • good
    • 2
この回答へのお礼

ありがとうございます。

早速やってみたのですが、オプションを要求され、止まってしまいます。

もう少しスクリプトについて調べてみます。

ちなみに、使用キャドはAutCAD Mechanical 6 です。

また何か、教えていただけるのであれば、連絡をお待ちします。

お礼日時:2010/11/29 21:12

フィルターで選んで変換程度では、まずいのでしょうか。



完全にオートでとなると・・・。
ダウンロードしたCADデータのどの画層を社内のどの画層に置き換えるのか決まっていますか。
社内で使う画層は決まっていても、ダウンロードしたデータの画層は様々ではないでしょうか。
マクロとは手で操作したやり方を連続してできるようにするものです。
ダウンロード元の画層が何かを自動で判別する操作ってありませんよね。
選ぶことが出来なければ、変換することも出来ません。

もしできるとしたら、マクロではなく、LISPなどでプログラムすることです。
CADがレギュラーのAutoCADじゃないとLISPは動きませんが・・・。
LTだとしたら、Acadremoconかなぁ。
それぞれ専門のサイトがありますから、相談されるといいでしょう。

それでも何を何に変換するのか、ルール付けは必要ですけどね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

たとえば、画層"0"を画層"AM_0"に一発で変換したいのです。

購入品データを自社の画層に合わせる時間を短縮したいのです。

ちなみに、使用キャドはAutCAD Mechanical 6 です。

専門サイトに相談してみますが、また何か、教えていただけるのであれば、連絡をお待ちします。

お礼日時:2010/11/29 21:16

それは無理です

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

簡単でよいので、理由を教えていただけないでしょうか?

お礼日時:2010/11/29 08:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!