TOP PAGE > 記事閲覧
画層ツールの追加について
投稿日 | : 2015/11/02(Mon) 10:25 |
投稿者 | : アルサポ |
参照先 | : |
AutoCAD、JDrafどちらの画層ツールも便利なコマンドが初めから沢山登録されています。
そんな中で、今回追加でいくつかのコマンドを紹介したいと思います。
JDrafの場合は、画層ツールに追加でカスタマイズされると便利ではないでしょうか?
昔からよくAutoCADのコマンドで紹介されているものも、JDrafで再利用して動くものが多いようなので、
その他にも知っているコマンドがあれば、この機会に再確認してみてはどうでしょうか?
そして、是非動いたコマンドがあれば、教えて頂けると嬉しいです
Re: 全ての画層を非表示
投稿日 | : 2015/11/02(Mon) 10:28 |
投稿者 | : アルサポ |
参照先 | : |
全ての画層を非表示にするコマンド。
使い方は、実行するとすべての画層が非表示になるという単純なものです。
何故だか、私はよく使うコマンドのひとつです
'-layer;off;*;y;;
Re: アクティブ画層のみ表示
投稿日 | : 2015/11/02(Mon) 10:30 |
投稿者 | : アルサポ |
参照先 | : |
アクティブ画層のみ表示するDIESELマクロです。
使い方は、実行するとアクティブ画層のみ表示され、それ以外は非表示になります。
AutoCADでよく紹介されているマクロではないでしょうか?
^C^C-layer;OF;*;;ON;$M=$(getvar,CLAYER);;
Re: 画層の表示、非表示の反転
投稿日 | : 2015/11/02(Mon) 10:32 |
投稿者 | : アルサポ |
参照先 | : |
現在、画層が表示されているものは非表示にして、同時に非表示にされているものは表示にするLISPです。
使い方は、実行すると画層の表示、非表示が反転されます。
;画層の表示、非表示の反転
(defun C:ChangeOnOff (/ layerData OffLayer layerList i)
(setq layerData (tblnext "LAYER" T))
(while layerData
;非表示画層を取得
(if (< (cdr (assoc 62 layerData)) 0)
(progn
(setq OffLayer (list (cdr (assoc 2 layerData))));画層名を取得
(setq layerList (append layerList OffLayer))
);progn
);if
(setq layerData (tblnext "LAYER"))
);while
;すべてを非表示
(command "-LAYER" "OFF" "*" "Y")
(setq i 0)
;初めに非表示だった画層のみ表示に変更
(while (/= (nth i layerList) nil)
(command "ON" (nth i layerList))
(setq i (+ i 1))
);while
(command "")
(princ)
)
Re: 選択した画層のみ表示
投稿日 | : 2015/11/02(Mon) 10:35 |
投稿者 | : アルサポ |
参照先 | : |
選択したオブジェクトの画層のみ表示させるLISPです。
実は、同じ機能のコマンドがはじめから存在しています。
それは「画層を切り分け」コマンドです。
今回紹介するLISPとの違いは、LISPの方は単体、既存コマンドの方は複数の画層が対象になります。
使い分ければ、どちらも便利な機能なので使ってみればどうでしょうか?
使い方は、表示したい画層のオブジェクトを選択すると、その画層のみ表示されます。
;指定オブジェクト画層のみ表示
(defun C:OnLayer (/ ent ent_data layerName)
(setq ent (entsel "\n表示する画層のオブジェクトを選択:"))
(if (/= ent nil)
(progn
(setq ent_data (entget (car ent)))
(setq layerName (cdr (assoc 8 ent_data)));画層名を取得
(command "-LAYER" "OFF" "*" "Y" "ON" layerName "" "")
);progn
);if
(princ)
)