Sponsored links

【AutoLISP サンプル】特定の画層のフリーズ オン/オフ 切り替え

Sponsored links
AutoLISP
Sponsored links
Jagaimo
Jagaimo

特定の画層をフリーズオンオフを切り替えるコマンドです。

1つのコマンドで、もしフリーズなら解凍、もしフリーズしていなければフリーズします。

Sponsored links

コマンドの内容

“Jaga-Xref”という名前の画層のフリーズのオンオフを切り替えます。

エラー処理については、プロンプトとエコーバックが出ないようにしているだけなので、必要なければ、(Jaga00START) (Jaga00END)を消してください。

コマンド名はXFrzです。

AutoLISP プログラム

;//////////////////////////////////////////////////////////////////////////////////
;/////////////////////////////////////////
;JagaimoLisp コマンド関数
;Jaga-Xref 画層フリーズ On/Off  var.202007099
;---------------------------------------

(defun c:XFrz (/ Nm XLy XLy70)
(Jaga00START)
   (setq Nm "Jaga-Xref") 
	(setq XLy (tblsearch "layer" Nm))
		 
	(if XLy
    (progn
      (setq XLy70 (cdr(assoc 70 XLy)))
            
          
      (if (= 0 (logand 1 XLy70))
        (progn
         (command-s "._LAYER" "F" Nm "")
        (princ "\n **** 画層 Jaga-Xref フリーズ **** \n")
        );progn
        (progn
         (command-s "._LAYER" "T" Nm "")
        (princ "\n //// 画層 Jaga-Xref 解凍 //// \n")
        )
      );if
    );progn
   
   (princ "\n ===== 画層 Jaga-Xref は存在しません ===== \n")
  
  );if
  
(Jaga00END)
(princ))
;==============================================



;=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
;JagaimoLisp関数 【Jaga00 Common】 var.20200521
;----------------------------------------------
;エラー処理
;=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
(defun Jaga00START ()
  (setq DefErr *error* *error* Jaga00ERR) 
;--------------------------------------- 
  (setq DefCmdEcho (getvar "CMDECHO")) 
    (setvar "CMDECHO" 0)
  (setq DefDynMode (getvar "DYNMODE")) 
    (setvar "DYNMODE" 3)
;-----------------------------------------
(princ "\nJaga00START\n") 
(princ));defun
;=====================================================================================
(defun Jaga00END ()
  (setvar "DYNMODE" DefDynMode)
  (setvar "CMDECHO" DefCmdEcho)
 ;-----------------------------------------	 
   (setq *error* DefErr) 
(princ "\nJaga00END\n")
(princ));defun
;=====================================================================================
(defun Jaga00ERR (msg)	
   (Jaga00END)
(princ (strcat"\nJaga00ERR\n " msg))
(princ));defun
;=====================================================================================

参考記事

画層処理について。

条件式 if prognについて

プロンプト/エコーバックを出ないようにしている処理について。

Comments