ADeko Technologies http://www.adeko.com/phpBB3/ |
|
Layer isolate, off, freeze http://www.adeko.com/phpBB3/viewtopic.php?f=7&t=47 |
1. sayfa (Toplam 1 sayfa) |
Yazar: | Admin [ 01 Eki 2001 12:30 ] |
Mesaj Başlığı: | Layer isolate, off, freeze |
Layer isolate, off ve freeze komutları için aşağıdaki lisp rutinlerini kullanabilirsiniz: <pre id=code><font face=courier size=2 id=code> (defun c:liso (/ kume nesne katman katmanlistesi katmanstr i) (setq katmanstr "") (princ "\nKatmanlari izole edilecek nesneleri secin: ") (setq kume (ssget)) ;Nesneleri kümeye topla (if kume ;Eğer bir küme oluşmuşsa (progn ;işleme başla (setq i 0) ;kümenin ilk elemanından başla (repeat (sslength kume) ;kümenin tüm elemanlarını işle (setq nesne (entget (ssname kume i))) ;sıradaki nesneyi al (setq katman (cdr (assoc 8 nesne))) ;nesnenin katmanını al (if (not (member katman katmanlistesi)) ;eğer bu katman daha önce işlenmemişse (setq katmanlistesi (cons katman katmanlistesi) ;işlenmiş katmanlar listesine ekle katmanstr (strcat katmanstr katman ",") ;aynı listeyi THAW komutu için ) ; virgüllerle ayrılmış olarak ayrıca tut ) ; ÖRN: "EKSEN,DUVAR,KOLON," gibi. (setq i (1+ i)) ;kümenin bir sonraki elemanına geç ) (command "LAYER" "FREEZE" "*" "THAW" katmanstr "") ;layer komutunu çalıştır ) ) ) (defun c:loff (/ nesne katman) (setq nesne T) (while nesne ;Kullanıcı bir nesne seçtiği sürece sormaya devam et (setq nesne (entsel "\Katmani kapatilacak nesneyi secin: ")) (if nesne (progn (setq nesne (entget (car nesne))) (setq katman (cdr (assoc 8 nesne))) ;nesnenin katmanını al (if (equal katman (getvar "CLAYER")) ;eğer aktif katmansa (alert "Aktif katmanı seçtiniz tekrar deneyin") ;kullanıcıyı uyar (command "LAYER" "OFF" katman "") ;değilse katmanı kapat ) ) ) ) ) (defun c:lfrz (/ nesne katman) (setq nesne T) (while nesne ;Kullanıcı bir nesne seçtiği sürece sormaya devam et (setq nesne (entsel "\Katmani dondurulacak nesneyi secin: ")) (if nesne (progn (setq nesne (entget (car nesne))) (setq katman (cdr (assoc 8 nesne))) ;nesnenin katmanını al (if (equal katman (getvar "CLAYER")) ;eğer aktif katmansa (alert "Aktif katmanı seçtiniz tekrar deneyin") ;kullanıcıyı uyar (command "LAYER" "FREEZE" katman "") ;değilse katmanı dondur ) ) ) ) ) </font id=code></pre id=code> |
1. sayfa (Toplam 1 sayfa) | Tüm zamanlar UTC + 2 saat [ GITZ ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |