1372826956:AAFe2Py65GSQkfGiRnXuOQ-eD9yXcwMv988

İlk AutoLISP Programınız-Orijine Görüntü Yaklaşma

Sekil-01

AutoLISPler AutoCAD için çok popüler programlardır. Birçok kişi AutoLISPleri AutoCAD’in yeteneklerini arttırmak ve işlerini otomatikleştirmek için kullanmaktadır. Ayrıca AutoLISPler genelde birçok aracı kullanmak suretiyle yaptığınız işlemleri otomatik olarak yapmak için de kullanılmaktadırlar. Fakat AutoLISP için bazı şeyleri bilmeniz zorunludur. Bu makalemde sizlere ilk AutoLISP programınızı yazdıracağım. Şayet bir AutoLISP uzmanıysanız, ilave yorumlarınızı ve katkılarınızı bekliyorum.

AutoLISP Programını Yaratma

AutoLISP programları Not Defterinde “Notepad” yaratılabilir. Bunlar metin dosyalarıdır; fakat .lsp uzantısı ile kaydedilmeleri zorunludur. Bununla birlikte, AutoCAD ‘in kendi içerisinde bir Visual LISP düzenleyicisi de mevcuttur. Bu düzenleyici size AutoLISP kodlarını yazarken kullanabileceğiniz birçok ilave yetenekler sunmaktadır ve Not Defterinden “Notepad” daha faydalıdır.

Haydi Not Defteri “Notepad” yerine Visual LISP Düzenleyicisini kullanalım. Aşağıdaki şekilde görüldüğü üzere Visual LISP Düzenleyicisine “Visual LISP Editor” şeritin Yönetim “Manage” sekmesinin Uygulamalar “Applications” panelindeki Visual LISP Düzenleyicisi “Visual LISP Editor” komut düğmesine tıklayarak ulaşabilirsiniz.

Sekil-02

AutoCAD “Visual LISP penceresini açacaktır. Bu pencere çok kullanıcı dostu olmasa da simgeleri bana eski Windows 3.1 simgelerini hatırlatmaktadır. Bununla birlikte, bu pencere bize yardım edecek birçok özel AutoLISP programlama aracını içermektedir.

Sekil-03

Yeni bir AutoLISP programı yaratmak için, ya araç çubuğundan Yeni “New” komut düğmesine tıklayın ya da Dosya “File” menüsü içerisindeki Yeni “New” komutunu seçin.

AutoLISP’in Yapısı

Program kodumuzu yazmaya başlamadan önce, programın genel yapısını inceleyelim:

(defun c: ProgramKomutunuz ()

AutoCAD’in yapmasını istedikleriniz

(princ)

)

(defun ()) Fonksiyonunu Tanımlama

AutoLISP’in (defun c:ProgramKomutu ()) fonksiyonu ile başlaması gerekmektedir. Defun kelimesi fonksiyon tanımlamak içindir. Şayet aşağıdakine benzeyen bir satır görürseniz:

(defun c:ZO ())

Bu ZO harflerinin bir komut tanımladığı anlamına gelmektedir. Komut satırına ZO yazıp Enter tuşuna bastığınız zaman, AutoCAD programınızı çalıştıracaktır.

Programcıların çoğu kapat parantezleri ( ) ) alt satıra aç parantezlerin ( ( ) tam altına koymaktadırlar. Bu biz programcılara parantez çiftlerini kolayca bulmakta yardımcıdır. Bazı programcılar ise, kapat parantezlerin ( ) ) nerede olduğunu umursamazlar; onları bulabildikleri sürece kapat parantezleri ( ) ) yerinin önemi yoktur. Yani parantez çiftlerini bulmada hangisi kolaysa, o şekilde yazabilirsiniz.

Parantezlerin arasına AutoCAD’in yapmasını istediğiniz işlemleri tanımlarsınız. İşte işin can alıcı kısmı da burasıdır. Bunun nasıl çalıştığını görmek için, bu makalemizde basit bir alıştırma yapacağız ve ilk AutoLISP programınızı (kodumuzu) yazacağız.

İlk AutoLISP Programınız: Orjine Görüntü Yaklaşma Yama “Zoom to Origin”

Bu program o anki geçerli (aktif) çiziminizde nereyi görüyor olursanız olun orijine görüntü yaklaşma “zoom to Orjin” yapacaktır. Bu işlemi yapan AutoCAD komutu zoom to center komutudur. Aşağıda komutun nasıl kullanılacağını görebilirsiniz:

Command: ‘_zoom
Specify corner of window, enter a scale factor (nX or nXP), or
[All/Center/Dynamic/Extents/Previous/Scale/Window/Object] <real time>: _c

Specify center point: 0,0

Enter magnification or height <1753.5398>: 2000

Kırmızı ile yazılanlar AutoLISP’in çalışması esnasında bizim girdiğimiz komut ve verilerdir. Şimdi aşağıda tek tek ne yaptığımızı inceleyelim:

  1. Önce, ZOOM komutunu çalıştırmak için, _zoom yazdık.
  2. Sonrasında AutoCAD bize hangi metodu kullanmak istediğimizi sordu ve biz bir noktayı (orijini) merkezlemek için, _c
  3. Daha sonra AutoCAD bize merkezlemek için istediğimiz noktanın (orijinin) koordinatlarını sordu. Orijin noktasına merkezleme yapmak istediğimiz için, 0,0
  4. Son olarakta AutoCAD bize görüntü büyütmenin miktarını sordu ve 2000 girdik. Bu 2000 değeri AutoCAD‘in görüntüyü 0,0 orijin noktasına merkezleyerek görüntü yaklaşma yaptıktan sonra ekranı 1000 birim sola ve 1000 birim sağa olmak üzere görüntülemek üzere görüntüyü ayarlayacağı anlamına gelmektedir. Şayet emperyal (inç) birimlerini kullanıyorsanız, 2000 değeri yerine daha küçük bir değer girmeniz gerekecektir.

AutoCAD‘e veri girdiğimiz zaman, AutoCAD‘in girdiğimiz verileri işleme alması için Enter (veya Boşluk) tuşuna basmak zorundayız. Yani _zoom [Enter] _c [Enter] 0,0 [Enter] 2000 [Enter] yazarız.

Şimdi, Visual LISP Düzenleyicinize “Visual LISP Editor” aşağıdaki kod satırlarını yazın. Kopyala ve Yapıştır “Copy & Paste) yapmayın. Çalışmayacaktır.

(defun c:ZO ()
(command “_ZOOM” “_C” “0,0” “2000”)
(princ)
)

Kırmızı ile yazılmış yazıların ne anlama geldiğini artık biliyorsunuz değil mi? Command fonksiyonu AutoCAD‘in ZOOM komutunu çalıştıracak ve sırasıyla kendisinden sonraki tırnak işaretleri arasındaki parametreleri ve veri girişlerini kullanarak bu komutu icra edecektir.

Bu sefer, (princ) fonksiyonunu kullansanız da olur kullanmasanız da olur. (princ) fonksiyonunu ekleme AutoCAD‘e kodun bittiğini bildirmek içindir. Bu fonksiyonu kullanmasanız da kodunuz çalışacaktır.

Artık programınızı kaydedin.

Programınızı yükleyin ve çalıştırın.

Visual LISP Düzenleyisinde “Visual LISP Editor”, aşağıdaki şekilde görünen Aktif pencereyi YükleLoad active edit windowkomut düğmesine tıklayın.

Sekil-04

Şimdi, AutoCAD penceresine gidin ve komut satırına ZO yazarak Enter tuşuna basın. Çalışıyor mu?

Tebrikler! Böylece ilk programınızı yaratmış oldunuz.

İlerleyen günlerde bu programı geliştireceğiz; o yüzden kaydedin ve kaybetmeyin.

Hakkında Sertan Türkan

AutoCAD Beyni

Bunu da Kontrol edin

Revit’te Klip Düzleminde Plan Görünümü Kesme

Revit’te modelinizin belirli bir klip düzleminin altındaki parçalarının görünürlüğünü kontrol edebilirsiniz. Bunun için: Proje Tarayıcısı …

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Yardıma mı ihtiyacınız var? Chat with us
Bir görüşme başlatmak için lütfen önce gizlilik politikamızı kabul edin.