30.03.2009 13:14    

yazgunesi
Komut ismi : kotg

Yol Kotlarını güncelleyen Autolisp kodu.Kot yazıları "TEXT" objesi olmak zorunda !

Kod:

;kotg - Nisan 2008 (c) Sinan COŞKUN
(defun c:kotg()
(setvar "cmdecho" 0)
(command "undo" "group")
(setq ssl 0)
(setq k_g nil)
(while(= k_g nil)(setq k_g(getreal"\nKotlara ilave edilecek veya çıkarılacak rakam ? ")))
(while
(setq VeriAl(entsel"\nİşlem yapılacak kotlar için tip Obje seçiniz !"))
(setq Lay(cdr(assoc 8(entget(car VeriAl)))))
(setq Aci(cdr(assoc 50(entget(car VeriAl)))))
(prompt"\nRevize edilecek kot yazılarını seçiniz !:")
(setq a(ssget(list(cons 8 Lay)(cons 50 Aci)(cons 0 "TEXT"))))
(if(null a)
(alert "\nHATA : Boş Liste..!")
(progn
(setq rep(sslength a))
(repeat rep
(setq temp(entget(ssname a ssl)))
(setq yz_ktrl(angtof(cdr(assoc 1 temp))))
(if(= yz_ktrl nil)
   (alert"\nSeçilen Objelerin arasında 'Harf veya Sembol' içeren YAZI(lar) tespit edildi !\nİşlemden sonra kontrol ediniz !")
   (progn
   (setq yz_tmp(atof(cdr(assoc 1 temp))))
   (setq yzg(rtos(+ yz_tmp k_g)2 2))
   (if(= yzg "0.00")(setq yzg "%%p0.00"))
   (setq temp(subst(cons 1 yzg)(assoc 1 temp)temp))
   (entmod temp)
   )
)
(setq ssl(+ ssl 1))
)
(princ(strcat"\n"(itoa rep)" Obje üzerinde işlem yapıldı!"))
);progn
);end if
);while
(command "undo" "e")
(princ)
)


Yukarıda gözüken autolisp programını nasıl kullanacağınızı bilmiyorsanız eğer aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu incelemenizi öneririm...



Konunun geçtiği forum sayfası :



Linkleri görebilmek için ÜYE olmalısınız.

yazgunesi (08.04.2009 21:46 GMT)

02.04.2009 12:19    

sedat_55
paylaşımın için teşekkürler ancak hangi komutla çalıştırıldığını söylersen sevinirim.

02.04.2009 13:10    

fox
(defun c:*****()
* işareti olan yer lispte komut ismidir.

> 1 <
Copyright © 2004-2022 SQL: 0.829 saniye - Sorgu: 49 - Ortalama: 0.01693 saniye