AutoCAD Günlüğü | » Visual LISP: TXT dosyasından nokta listesi okuma uygulaması > AutoCAD, AutoLISP, AutoCAD Dersleri, Mekanik Tesisat, Bilgisayar, Yazılım, Özel Yazılım

Visual LISP: TXT dosyasından nokta listesi okuma uygulaması


Yazar Muharrem Koçyiğit
Mesleği Makine Teknikeri
  AutoCAD, AutoLISP, Visual LISP
  Prosteel Uzmanı
e-mail  

Tüm Visual LISP sürümleri için geçerlidir

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.

Fig.1
Ş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 …

Fig.2
Ş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.

Fig.3
Şekil.3 - Alt Fonksiyon “UTL:READ:FILE
Fig.4
Ş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.

Fig.5
Ş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.

Fig.6
Ş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.

Fig.7
Şekil.7 - Programın sonunda buna benzer bir görüntü ekrana gelecektir.

Programda kullanılan Visual-Lisp komutları:

  • vl-load-com
  • vla-get-ObjectName
  • vla-AddPoint
  • vla-get-Coordinates, vlax-3d-point
  • vla-get-TrueColor, vlax-put-TrueColor
  • vla-SetRGB

Kolay gelsin

(Sorularınızı, yorumlarınızı bekliyoruz!)

İlgili Yazılar:AutoLISP dersleri

Technorati Tags: , , ,

Benzer Yazılar

1 Star2 Stars3 Stars4 Stars5 Stars (1 oy, ortalama: 5)
Loading ... Loading ...

2 yorum “Visual LISP: TXT dosyasından nokta listesi okuma uygulaması”

  • 1
    Orhan TokerNo Gravatar
    28 May 2007, Monday 8:32

    Mükemmel bir yazı olmuş Muharrem bey, elinize sağlık.

  • 2
    MuharremNo Gravatar
    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

Yorum bırak