> 1 <
| Yazar | İleti |
|
ehya
[70] Editör
1974 ileti |
#37794 17.06.2008 12:39 GMT |
|
Autolisp nedir?
Asıl anlamda LISP, yapay zeka çalışmalarında kullanılan bir program dilidir. List Processing 'in (Liste işleme) kısaltılmış ifadesidir. AutoLISP ise LISP'in AutoCAD ile kullanılabilecek şekilde uyarlanmış halidir. AutoLISP sayesinde kullanıcının AutoCAD'e yeni komutlar eklemesi kişiselleştirmesi ve ondan artan bir verim elde etmesi mümkündür. Tabii ki yeni komutlar'dan kastedilen, kullanıcının AutoLISP fonksiyonlarını kullanarak hazırladığı program dosyalarını AutoCAD ortamından çağırarak kullanmasıdır. Autocad 2000'den sonra autocad içinde gömülü olarak gelen Visual Lisp editörü lisp kodlamak için kullanılan çok kullanışlı bir programdır. Lisp kodlamaya yeni başlayacak arkadaşlara bu programı öneririm. Tools --> Autolisp --> Visual Lisp Editor seçeneğinden lisp derleyicisine ulaşabilirsiniz. AutoLISP dosyalarının ASCII dosyalar yaratabilen bir kelime işlemcide (text editor) hazırlanması ve uzantısının *.LSP olması bir zorunluluktur. AutoLISP dosyaları aslında fonksiyonlardan meydana gelmektedir. Kullanıcı, bir takım standart fonksiyonları kullanarak veya kendisi çeşitli fonksiyonlar tanımlayarak yapmak istediklerini gerçekleştirir. Gerek standart fonksiyonlar gerekse kullanıcı tanımlı fonksiyonlar, değişkenlere değerler atanması, bu değerlerin AutoLISP tarafından değerlendirilerek sonuçlar elde edilmesi mantığına göre çalışır. AutoLISP programlarda büyük küçük harf ayrımı yapmaz. Burada < > işaretleri arasında yer alanlar fonksiyona yazılacak değişkenleri .... ise ardışık girişleri temsil eder. , fonksiyona gerekli olan bir değer veya değeri önceden atanmış bir değişken olabilir. Her lisp deyimi parantezle başlar ve parantezle biter. İç içe yazılan fonsiyonlarda program önce en içteki değerleri yorumlar ardından bi sonraki değerleri yorumlayarak sonuca gider. Örneğin : (/ 160 (+ 32 (* 2 4))) Yukarıdaki örnekte en içteki fonksiyon (* 2 4) fonksiyonudur. Program önce bu değeri sorgular. Sonucu aldıktan sonra bu değeri “32” ile toplar. Bu sonucu da aldıktan sonra en sonraki değere bölerek sonucu verir. Sonuç : 4 Matematiksel işlemleri bu şekilde en içten en dışa doğru sıralayarak yapabilirsiniz. Matematiksel işlemler ile ilgili belirtmek istediğim bir nokta ise; Autolisp yorumlayıcısı iki tam sayının bölümünü elde etmek için yuvarlama yapar. Örneğin ; (/ 22 3) Sonuç : 7 Halbuki bu işlemin sonucu 7.3333 dür. Bu şekilde sonuç almak için bölecek sayıyı 3.0 şeklinde girerek sonucu tam olarak alabiliriz Autolisp içinde değişkenleri kullanırken 2 tip örnek vardır. Birincisi reel sayı, diğeri ise dizelerdir. Autocad bazı değerlerini reel olarak ister bazılarını ise dize olarak ister. Bunun anlamı şu demek. (setq deger 10) (setq yazi “mehmet”) Yukarıda görüldüğü gibi deger isminde bi girdi oluşturuldu ve girdiye 10 değeri verildi. Yorumlayıcı bunu reel sayı olarak algılar ve herhangi bir kodlama da bu değeri matemaiksel işlemlere sokabilirsiniz. Ancak bu değeri (setq deger “10”) deseydik bu degeri dize olarak algılayıp herhangi bir matematiksel işlemde kullanamayacaktır. Sayı olmayan sadece metin olarak ifade edilen değerleri her zaman dize olarak tanımlamalısınız. Örnekte belirtildiği gibi (setq yazi “mehmet”) girdisinde bu “mehmet” ismini dize olarak algılayıp bununla ilgili herhangi bir işleme sokabiliriz. Yapılacak işlemleri ileri ki derslerde daha açıklayıcı olarak anlatacağım.
|
|
|
Harbi65
[10] Binbaşı
464 ileti |
#37795 17.06.2008 13:39 GMT |
|
Sonunda başlangıç yaptın.. Eline sağlık...
Bende dahil bu konuya merakı olan çok kişinin işine yarayacaktır... Umarım devamını da getirirsin...
_________________________________________________________________________________________ |
|
|
ehya
[70] Editör
1974 ileti |
#37796 17.06.2008 13:46 GMT |
|
Şuan diğer dersleri hazırlamaya çalışıyorum. Tabi aklımdaki komut anlamlarını kağıda dökebilirsem
|
|
|
SENDUR
[8] Yüzbaşı
219 ileti |
#37797 17.06.2008 14:44 GMT |
|
1 sene bu bu programını dersini verdiler okulda bize tam 3 sene sonunda geçtim onuda kopya ile
|
|
|
miyatu
[3] Teğmen |
#37804 17.06.2008 19:02 GMT |
|
bu çalışmaya başlaman beni çok sevindirdi inş. devamıda gelir...
TEŞEKKÜRLER...
O-Ö K-L U-Ü L-M KANDIRILIYORUZ
|
|
|
tekir06
[5] Üsteğmen |
#37847 18.06.2008 12:25 GMT |
|
usta sağolasın.Merak ediyordum.Çok faydalı olacak
çArşı |
> 1 <









