Visual LISP: TXT dosyasından nokta listesi okuma uygulaması
![]() |
Yazar | Muharrem Koçyiğit |
| Mesleği | Makine Teknikeri | |
| AutoCAD, AutoLISP, Visual LISP | ||
| Prosteel Uzmanı | ||
Merhaba arkadaşlar,
Bugün sizlere Orhan beyin daha önceleri yazdığı “TEXT dosyasından nokta listesi okuyup, çizime yerleştiren AutoLISP uygulaması” nı Visual Lisp’e çevirerek detaylı şekilde bir şekilde öğretmeye çalışacağım. Konumuz text dosyasında bulunan nokta koordinatları ve noktaya ait olan renk kodunu okuyup çizime yerleştirmek. Yazdığımız programda artık RGB renklerini uygulamamız mümkün (R=Red, G=Green, B=Blue).
Şekil.1 de Text dosyasının içeriği bir bölüm olarak gösterilmekte. Dosyayla ilgili açıklamalar satırın başına ; karakteri eklenerek asıl verilerden ayrı tutulur. Bu uygulamaya bilgisayar terminolojisinde comment-line denir. Bu tür açıklama satırları veya olabilecek herhangi boş satırlar göz önünde bulunduralarak UTL:READ:FILE alt programında kontrol komutları eklenmiştir.
![]() |
| Şekil.1 - Text dosyasının içeriği |
Command: KM_PT2S("X"harfine basarakta çalıştırabilirsiniz)
Makro: “KM_PT2S” programed by M. Kocyigit, 19.05.07
File successfully opened: “AG-POINTLIST.txt”
(Dosya açıldıktan sonra kullanıcı ufak mesajla bilgilendirilir)
Please wait … points will be loaded …
(Noktaların okunduğunu, biraz beklemeniz gerektiğini sizden ister)
OK …
![]() |
Şekil.2 - Ana (main) Fonksiyon “C:KM_PT2S” yada “C:X“ |
Arkadaşlar aşağıdaki fonksiyona dikkatınizi çekmek isterim (Şekil.3). Dosyada okunan satırlar bir alt programa “eval” komutuyla verilir. Bu program çağırma sistemi BASIC te bulunan CALL komutu gibi bir komut.
![]() |
Şekil.3 - Alt Fonksiyon “UTL:READ:FILE“ |
![]() |
Şekil.4 - Alt Fonksiyon “UTL:DRAW:POINT-WITH-TRUECOLOR“ |
Okunan Satırların dize dışı bigilerin (comment) olup olmadığını Şekil.5 deki fonksiyon kontrol eder. Satırın en başında bulunan karakter ; önemlidir.
![]() |
Şekil.5 - Alt Fonksiyon “UTL:IS:COMMENT“ |
Programın başlangıcında (Şekil.6) bulunması gerekenlerden biri Visual Lisp Kütüphanesini AutoCAD’e yüklemek için kullanılan (vl-load-com). Diğer yöntemlerden biri de global değişkenlerin bundan sonra tanımlanması. Bu değişkenleri diğerlerinden daha iyi ayırt edebilmek için GLV: önekini kullanıyor ve her değişkenlerin başlangıç değerlerini yazıyorum.
![]() |
| Şekil.6 - Global ortamda bulunan değişkenler |
Arkadaşlar noktaların okunması çizime sadece harf yazdırmakla ibaret değildir. Bundan sonraki yazılarımda sık sık bu fonksiyonlara gerek duyulacaktır. Benim meslek alanım çelik konstrüksiyon olduğu için, çatı ağının kesişme noktalarını belirlemek ya da bu noktaların çizimden okunarak statik hesaplamalar yaptırmak için diğer elemanlara verilmesi en başta aklıma gelen örnekler.
![]() |
| Şekil.7 - Programın sonunda buna benzer bir görüntü ekrana gelecektir. |
Programda kullanılan Visual-Lisp komutları:
vl-load-comvla-get-ObjectNamevla-AddPointvla-get-Coordinates, vlax-3d-pointvla-get-TrueColor, vlax-put-TrueColorvla-SetRGB
Kolay gelsin
(Sorularınızı, yorumlarınızı bekliyoruz!)
İlgili Yazılar:AutoLISP dersleri
Technorati Tags: AutoCAD, Visual LISP, Nokta listesi okumak, programlama
Benzer Yazılar
- TEXT dosyasından nokta listesi okuyup, çizime yerleştiren AutoLISP uygulaması.
- Visual LISP: Open DCL ile kolay DCL arayüzler programlamak
- Visual Lisp: AutoLISP ile İki Nokta Arasındaki Eğimi Ölçmek
- Çizimdeki noktaları silen AutoLISP uygulaması
- AutoLISP ile İki Nokta Arasındaki Eğimi Ölçmek ( Visual LISP Alternatifi )










28 May 2007, Monday 8:32
Mükemmel bir yazı olmuş Muharrem bey, elinize sağlık.
29 May 2007, Tuesday 21:19
Merhaba Orhan bey,
programı denemek istiyenler nereden indirebilirler?
Bu eksikliği fark edenler olmuşmudur acaba?…
Teşekkürler