AutoCAD Günlüğü | » AutoLISP: Kullanıcı girişi için beklemek > AutoCAD, AutoLISP, AutoCAD Dersleri, Mekanik Tesisat, Bilgisayar, Yazılım, Özel Yazılım

AutoLISP: Kullanıcı girişi için beklemek


Yazar Erhan Toker
Mesleği Y. Mimar İTÜ
  Autodesk Yetkili Danışmanı
web Programcı
e-mail  

Tüm AutoLISP sürümleri

AutoLISP programları yazarken (command …) fonksiyonunu çok kullanırız. Bu fonksiyon sayesinde birçok AutoCAD komutunu programımız içerisinden çalıştırabiliriz. Ancak komutun kullanımı sırasında kullanıcıdan bilgi almamız gerektiğinde iki seçeneğimiz vardır. Ya komutları çalıştırmadan önce tüm bilgileri kullanıcıdan toplamış ve hesaplamalarımız tamamlamış olacağız, ya da komutun çalışması esnasında kullanıcıdan bilgi toplayacağız. İki yaklaşımın da eğrileri ve doğruları olmasına karşın, yeni başlayan arkadaşlarımız daha çok komutun çalışması sırasında bilgi almayı tercih ederler. Bunun tek avantajı kullanıcının hangi aşamada olduğunu görsel olarak ekrandan takip edebilmesidir.

Orhan’ın “Alet Kutusu Projesi 1” yazısında, komut işleyişi sırasında kullanıcıdan bilgi almak için duraklama yapma işlemi oldukça güzel bir şekilde kullanılmıştır. Şimdi fonksiyonun sadece ilgili kısmına bakalım (Şekil 1).

Fig.1
Figure 1

‘Alet Kutusu Projesi 1′ yazısında fonksiyonun tamamını görebilirsiniz. Burada sadece konumuzla ilgili olan kısmını aldık. Bildiğiniz gibi amacımız gösterilen üç noktaya da teğet bir daire çizmek. Bu bakımdan 3P yöntemi ile bir daire çizmeye başlayıp istenen üç nokta için de TANgent (teğet) yakalama özelliğini kullanıyorduk. Küçük uygulamamız da bizim için işleri kolaylaştırıp TAN yakalama modunu açıp bizden üç noktayı aldıktan sonra daire çizimini tamamlıyordu. Ancak “_CIRCLE” komutuna girip “_3P” seçeneğini verdikten sonra kullanıcıdan nokta almak için komuta beklemesini gerektiğini söylememiz gerekiyor. Bu aşamada (command …) fonksiyonuna parametre olarak ‘pause‘ kelimesini geçiyoruz. 171. Satırda bunun nasıl yapıldığını görüyorsunuz. Eğer kullanıcı bu duraklama sırasında doğru bir cevap verirse komut işlemeye devam eder. Doğru cevap olarak klavyeden bir koordinat girişini ya da fare ile bir nokta işaretlemeyi ima ediyoruz. Bu bekleme esnasında geçişken komutlar kullanılabilir. Örneğin ‘ZOOM, ‘PAN komutları. Bu fonksiyonun yazımında ayrıca önemli bir teknik daha öğreniyoruz. (command …) fonksiyonu istenen sayıda parçaya bölünebilir. Burada kullanıcıya üç ayrı ileti yazmak için komutun işleyişi bitmeden parantezi kapatıyoruz. Arada gerekli fonksiyonu kullanıp tekrar (command …) parantezi açarak komuta devam ediyoruz. Ancak bu tekniği kullanırken dikkat etmemiz gereken şey başladığımız komutu mutlaka bitirmektir.

Son olarak, bu özelliğin çalışması için TEXTEVAL sistem değişkeni değerinin 1 olması gerektiğini hatırlatmak isterim. Aksi durumda AutoCAD ‘pause‘ sembolünü ‘\‘ olarak algılayacaktır.

İlgili Yazılar:

Benzer Yazılar

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

3 yorum “AutoLISP: Kullanıcı girişi için beklemek”

  • 1
    Rüştü MUHTAR
    6 July 2008, Sunday 21:57

    Bazı projelerde tabloyu yatay olarak veriyor. Tahminime göre çizimden kaynaklanıyor. nasıl düzeltebilirim?
    Örnek göndermeyi beceremedim. Elli yaşından sonra bu kadar oluyor.
    Bu siteye katkısı olan herkese teşekkür ederim.

  • 2
    Rüştü MUHTAR
    6 July 2008, Sunday 22:02

    Çalıştırdığım Lisp, köşe koordinatlarını tablo halinde veren program. Teşekkürler

  • 3
    Rüştü MUHTAR
    9 July 2008, Wednesday 0:09

    Sesimi duyan yokmu?

Yorum bırak