07.05.2009 12:00    

trkgo
Merhabalar;
Çizim dosyasındaki kilitli,kapalı layerleri kaydetmeye yarayan ve istediğimiz zaman o dosyadaki layerleri kaydettiğimiz konuma getirebileceğimiz bir lisp hazırlanabilirmi?

09.06.2009 08:01    

oden
Altta gönderdiğim lisple o anki layerların durum özelliklerini Kayıt eder sonrada çizimin herhangi bir anında yine komutu çalıştırıp eski ayarlara Yukle diyerek dönebilirsiniz. Autodesk layer kaydetme özelliğini AutoCAD e koymadan yıllar önce yazmışdım. Çizim hızınızı çok arttıracak bir özellikdir. Özellikle yoğun ve çok layer bulunan çizimlerde rahat obje seçmenizde etkili olur.

Komutu çalıştırmak için Lr yazmanız gerekmektedir.

Layer record lisp dosyasını buradan indirebilirsiniz: 1-layerrecord.lsp

Lisp içeriği:
(defun c:lr()
(setq cmde (getvar "Cmdecho"))(setvar "Cmdecho" 0)(setq odm "Osman DEMIRCI")
(princ (strcat "\nLAYER RECORD, © 1996-2006 by " odm " [email]oden.tr@gmail.com"))[/email]
(initget "Kaydet Yukle")
(setq e (getkword "\nLayerlari [Kaydet/Yukle] <Kaydet>: "))
(if(or(= e nil)(= e "")(= e "Kaydet")(= e "Enter"))
(progn
(setq on nil off nil freeze nil thaw nil lock nil unlock nil)
(setq LYRS(Get_Tbl_Names "LAYER"))
(setq leng (length LYRS) sr leng)
(repeat leng
(setq sr (1- sr))
(setq layer (nth sr lyrs))
(setq layinfo (tblsearch "layer" layer))
(if (= (logand (cdr (assoc 70 layinfo)) 1) 1)
(if (= freeze nil)
(setq freeze layer)
(setq freeze (strcat freeze "," layer))
)
(if (= thaw nil)
(setq thaw layer)
(setq thaw (strcat thaw "," layer))
)
)
(if (= (logand (cdr (assoc 70 layinfo)) 4) 4)
(if (= lock nil)
(setq lock layer)
(setq lock (strcat lock "," layer))
)
(if (= unlock nil)
(setq unlock layer)
(setq unlock (strcat unlock "," layer))
)
)
(if (< (cdr(assoc 62 layinfo)) 0)
(if (= off nil)
(setq off layer)
(setq off (strcat off "," layer))
)
(if (= on nil)
(setq on layer)
(setq on (strcat on "," layer))
)
)
);while
)
(progn
(command "layer")
(if (/= thaw nil)(command "thaw" thaw))
(if (/= on nil)(command "on" on))
(if (/= off nil)(command "off" off))
(if (/= freeze nil)(command "freeze" freeze))
(if (/= lock nil)(command "lock" lock))
(if (/= unlock nil)(command "unlock" unlock))
(command "")
)
)
(setvar "Cmdecho" cmde)
(princ))
(princ "\nLayer Record lispini kullanmak icin "Lr"")
(defun Get_Tbl_Names( TABLE / DATA TBL_DATA)
(while (setq TBL_DATA(tblnext TABLE (null DATA)))
(if (not DATA)
(setq DATA(list(cdr(assoc 2 TBL_DATA))))
(setq DATA(append DATA(list(cdr(assoc 2 TBL_DATA)))))
)
)
)

admin (11.12.2017 20:13 GMT)

26.06.2009 19:23    

trkgo
Süpersiniz,çook saolun çok işime yarıyacak

> 1 <
Copyright © 2004-2022 SQL: 0.628 saniye - Sorgu: 49 - Ortalama: 0.01283 saniye