Tek Mesaj Görüntüle
Eski 18-05-2005, 20:12   #19
otokoc
Forum Üyesi
 
Kayıt Tarihi: 28-02-2005
Mesaj: 78
otokoc is on a distinguished road
DOSYALARIN YÜKLENMESİ

AutoCAD ortamına, ekranda Command : iletisi varken aşağıdaki satır yazıldığında "dosyaadı" olarak belirtilen AutoLISP dosyası yüklenir.

(load "dosyaadı") şeklinde olur.

Eğer dosya bir diskette veya çalışılmakta olan directory’den başka bir yerde ise dosya adı adresiyle birlikte yazılmalıdır.


Örn:

(load "<drive>:/<directory>/dosyaadı")

Bir sol parantez içinde yazılan Load ifadesinden sonra tırnak içinde yüklenecek *.LSP uzantılı dosyanın adı yazılır. Geliştirilen AutoCAD versiyonlarında LISP dosyalarının yükleme işlemi kolaylaştırılmaktadır. Örneğin AutoCAD R.12 de LISP dosyalarının işlemi Pulldown Menu’deki Files menü başlığında yeralan Applications butonu sayesinde kolaylıkla yapılabilmektedir.

Aşağıda, girilen açı değerini radyan cinsine çeviren bir fonksiyon yeralmaktadır. Fonksiyonu, ASCII forınatta dosya saklayabilen bir kelime işlemcide yazuı. Saklarken ASCII fornıatta olmasına ve uzantısıııın *.LSP olmasına dikkat ediniz. Bu öıneğimizin saklandığı LSP uzantılı ASCII dosyamıın acı.lsp olduğunu varsayalım. Fonksiyonun yazılışına ve AutoCAD ortamına çağrılarak çalıştıntmasına dikkat ediniz ;

Fonksiyonun yazılması ;

(defun cevir (a) ;fonksiyonu tanımla, fonksiyonun adı cevir
(* pi (/ a 180.00)) ;a değerini 180'e böl, pi ile çarp
)

AutoCAD ortamına çağrılması ;

(load "aci")

Çalıştrılması ;

(cevir 180)

Program bu işlemin sonucu olarak 3.1415926 yazacaktır. Bu 180 derecenin radyan cinsinden karşılığıdır. Bu arada şunu da hatırlatmakta yarar var : AutoLISP'de açılar radyan cinsinden hesaba konur. Radyan cinsinde açılar

Oo = 0
90o = 1.570796
180o = 3.141592
270o = 4.7I2389
değerlerine sahiptir.

Dikkat edilirse buraya kadar olan fonksiyon örnekleri, en son anlatılan konu ışığında

(load "dosyaadi")

şeklinde çağrılmakta. Ancak bu fonksiyonları bir AutoCAD komutu gibi çağırmak da mümkün. Aşağıdaki örneği inceleyiniz.

(defun c:cevir (/ a)
(setq a (getint "TAMSAYI ACI DEGERINI GIRINIZ : "))
(setq a (* pi (/ a 180.00)))
(princ "\nSONUC : ")
(princ a)
(princ)
)

Dikkat edilirse fonksiyonda yaptığımız en önemli değişiklik, fonksiyon adı olan cevir'den önce c: yazmak oldu. Yazdığımız bu program AutoCAD ortamına yüklendiğinde yükleme işlemi tamamlanır tamamlanmaz ekranda c: cevir iletisini görüntüler. Burada kullanılan c: işletim sisteminde kullanılan ve sürücüyü tanımlayan c: anlamında
değildir. Bu iletiden sonra ekranda Command: iletisi varken cevir yazıldığında program tamsayı olarak açı değerinin girilmesini ister. Değer girildikten sonra da bu değerin radyan cinsinden karşılığını yine ekrana yazar.

Bu şekilde yazıldıktan sonra AutoCAD ortamına yüklenmiş olan bir LISP program dosyası AutoCAD ortamından çıkılana kadar tıpkı bir AutoCAD komutu gibi çalışır. AutoCAD'in her yüklenişinde bu tür fonksiyonların komut gibi çalıştırılması istenirse bu fonksiyon adlarının acad.lsp dosyasına ilave edilmesi gerekir. Acad.lsp dosyası AutoCAD'in her çalıştırılışında otomatik olarak yüklenen (çağrılan) bir dosyadır
otokoc offline   Alıntı Yaparak Yanıtla