* E Posta Adresiniz:
* Kodu Girin:

İleti Yazar
17.06.2008 13:39
37794    
ehya

[90] Yönetici

Online Durumu

3197 ileti
Teknik Ressam
Ankara

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.

17.06.2008 14:39
37795    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

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...

17.06.2008 14:46
37796    
ehya

[90] Yönetici

Online Durumu

3197 ileti
Teknik Ressam
Ankara

Şuan diğer dersleri hazırlamaya çalışıyorum. Tabi aklımdaki komut anlamlarını kağıda dökebilirsem

17.06.2008 15:44
37797    
SENDUR

[10] Üstad

Online Durumu

364 ileti
Mak. Res. Konst. Öğrt. & Makina Müh.
Ankara

1 sene bu bu programını dersini verdiler okulda bize tam 3 sene sonunda geçtim onuda kopya ile . okulda iken bu programı veren hocaya ( hüdayim başak) çok hiç iyi bakmazdık. bi program öğrenmiş gelmiş onuda yarım yamalak öğrenmiş gelmiş bize anlatıp anlatıp geçiyor diye çok kızardık. ama şimdi zamanın olsa sıfırdan başlar öğrenirim.

17.06.2008 20:02
37804    
miyatu

[8] Kıdemli Uzman

Online Durumu

142 ileti
Tekniker
*ISTANBUL*

bu çalışmaya başlaman beni çok sevindirdi inş. devamıda gelir...

TEŞEKKÜRLER...

Kendini gelistirmeyen insanlar, bildiklerini paylasmaya korkarlar...

18.06.2008 13:25
37847    
tekir06

[3] Kıdemli Girişimci

Online Durumu

40 ileti
Teknik Ressam
Ankara

usta sağolasın.Merak ediyordum.Çok faydalı olacak

21.09.2008 14:03
41432    
mechanicaleng

[1] Yeni üye

Online Durumu

4 ileti

ellerine sağlık güzel bir çalışma yapmışsın üstad.

11.07.2009 16:57
50468    
hozbelen

[1] Yeni üye

Online Durumu

5 ileti
Konstruktor Makine Ressam
Kocaeli

Eyvallah üstad yardımların için teşekkürler. Takıldığımız yerlerde rahatsız ederiz.

11.07.2009 21:07
50472    
No_Remorse

[1] Yeni üye

Online Durumu

74 ileti
Ağaç İşleri Endüstri Mühendisliği
Ankara

ehya güzel bir çalışma olmuş devamını bekliyoruz...
iyi çalışmalar...

12.07.2009 01:59
50478    
ehya

[90] Yönetici

Online Durumu

3197 ileti
Teknik Ressam
Ankara

Arkadaşlar devamını beklemeyin. Çünkü devamını çoktan hazırlayıp, sitede e-kitap olarak yayına sundum. Ana sayfada "Yeni forum konuları" nın altında linkini görebilirsiniz.

13.07.2009 13:09
50508    
sahin460

[8] Kıdemli Uzman

Online Durumu

125 ileti
elektrik tekniker
kayseri

ellerine sağlık güzel çalışma olmuş.

12.09.2009 13:37
51918    
smt.sahin

[1] Yeni üye

Online Durumu

15 ileti
MAKİNE TASARIMCISI_ÜRETİM MÜHENDİSİ
kocaeli

paylaşım için teşekkürler arkadasım.

TASARIM ve KONSTRÜKSİYON & MAKİNE TASARIMCISI

TEKNİ EĞİTİM FAKÜLTESİ 2011 MEZUNU

28.09.2009 18:21
52149    
elektrikci123

[2] Girişimci

Online Durumu

16 ileti
teknik öğretmen
tekirdağ

teşekkür ederiz

------------------------------------------------------------------------------------------
eşek gibi çalışıp, insan gibi yemeli

29.09.2009 23:53
52172    
sahin25

[3] Kıdemli Girişimci

Online Durumu

26 ileti
torna tesviye
denizli

emeğinize sağlık!

23.03.2013 23:00
72134    
eksenyapi

[2] Girişimci

Online Durumu

4 ileti
mimar
istanbul

iyi akşamlar burdan bi kaç tane lisp aldım ve cok işime yaradı

autocad çizimde herhangi bir ölçüyü seçtiğimde istediğim bir exel tablosunda her hangi bir kutuya kopyalayipirmiyim böyle bir lisp varmı hayat memat meselesi çok lazım şimdiden teşekkürler

27.07.2015 18:28
81784    
ersintora

[2] Girişimci

Online Durumu

5 ileti
Prog
Adana

(/ 160 (+ 32 (* 2 4))) Nasıl oluyor da sonuç 4 çıkıyor, benim devreler yandı.

27.07.2015 18:39
81785    
ehya

[90] Yönetici

Online Durumu

3197 ileti
Teknik Ressam
Ankara

ersintora




autolisp yorumlayıcı, parantezleri yorumlarken öncelikle en içtekinden başlar.

(* 2 4) = 8

sonra buna 32 eklemesi gerekir

(+ 32 8) = 40

en son aşama 160'a bölmek kalıyor.

(/ 160 40) = 4

28.07.2015 09:57
81787    
ersintora

[2] Girişimci

Online Durumu

5 ileti
Prog
Adana

Yok hocam o kısmı anladım orda sıkıntı yok 40 ı 160 böldüm..

> 1 <
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 1720 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam