図形(オブジェクト)を選択で、その図形の画層の色を変更するコマンドの作り方の説明です。
予備知識
コマンドの内容
まず、選択した図形から画層名を得ます。
そして、AutoCADコマンドLAYER[画層管理]を使って、
LAYER[画層管理] > [色設定(C)] > 赤(1 )> 画層名 > エンターキーで終了
で、画層の色を変更します。
AutoLISP プログラム
(defun c:LyCol1 ( / Obj Ent Ly)
(setq Obj (car (entsel)))
(setq Ent (entget Obj))
(setq Ly (cdr (assoc 8 Ent)))
(command-s ".-LAYER" "C" 1 Ly "" )
(princ))
AutoLISPの解説
(setq Obj (car (entsel)))
(setq Ent (entget Obj))
(setq Ly (assoc 8 Ent))
(car (entsel)) で得た図形名を変数Objに入れ、そのObjを引数にして、entget でDXF図形情報を変数Ent に入れ、assoc と、画層名のDXFグループコード、8 を使って、図形の画層名を得ました。
(command-s ".-LAYER" "C" 1 Ly "" )
command-s 関数は、既存のAutoCADコマンドを使う機能がありましたね。
ここで、AutoCADコマンドLAYER[画層管理]を実行して、各オプションを入れています。
まとめ
図形(オブジェクト)を選択、その図形のDXF図形情報から画層名を得て、画層の色を変更する方法でした。
関連記事
図形の画層の色を変更するコマンド。
図形の選択をグループ選択にしたり、空振り対策を入れたり、ESCキーを押してキャンセルするまで繰り返す、コマンド実行の度にユーザーが色を選択できるようにするなど、いろいろアレンジしたサンプルコマンドです。
Comments