Excel VBA editöründe olduğu gibi AutoCAD VBA editöründe de
UserForm oluşturma imkanı vardır. UserForm; kullanıcı ile
program arasında iletişimi sağlayan Windows standart uygulama penceresidir.
VBA Editöründe menüden Insert / UserForm tıklayın ya da
Proje Ağacında; Sağ tıkla / Insert / UserForm
6) Lisp ile AutoCAD komutu oluşturarak makro çalıştırma
AutoCAD'de programlama için kullanılan dillerden biri de LISP'dir. Lisp hakkında
başlangıç seviyesinde bir yazımı okumak için:
AutoLisp ile programlama: Orijine zumla
Autocad'de LISP kodlamak için AutoCAD ile birlikte kurulan
Visual Lisp for AutoCAD kullanılabilir ancak "Lisp ile AutoCAD komutu oluşturarak makro çalıştırma" için bunu kullanmayacağım. LISP kodları yazmak için Visual LISP şart
değildir. Herhangi bir metin editörü kullanılabilir.
VBA makro
kodlarının çalıştırılması için VBA içinde AutoCAD komut tanımlaması yoktur.
LISP'de ise LISP komutlarını çalıştıracak AutoCAD komut tanımlaması
yapılabiliyor. LISP'in bu özelliğinden faydalanarak oluşturduğumuz VBA
makrolara AutoCAD komutu tanımlayacağız. İşlem çok basittir. Bu iş için
LISP dillinde kodlamayı bilmek şart değildir. Eksen Çiz VBA makromuz
için LISP ile bir AutoCAD komutu oluşturacağız.
Bunun için; Bir metin editörü(Örneğin Windows Not Defteri =
notepad.exe, ya da
Notepad++) açıp aşağıdaki kodları ekleyin.
Dosyayı EksenCiz.lsp olarak kaydedin. Windows'da dosya uzantılarınız
gizli ise ayarlardan görünür yapın.
LISP kodlarındaki c:EC() Autocad komut satırından girilecek komut
adıdır(EC), alt satır ise bu komut girildiğinde buna karşılık gelen
komutu ve parametresini belirtir.
EC yerine başka bir ad
verilebilir. EKSENCIZ gibi. Lisp dosyayı AutoCAD'e yüklemek için
bir kaç yol var ancak burada en basit olanı göstereceğim. Masaüstüne
kaydettiğimiz EksenCiz.lsp dosyasını sürükleyip AutoCAD çizim alanına
bırakın. VBA makroları yüklerken olduğu gibi bir güvenlik uyarısı
gelecek. Burda Load Once tıklayın.
Bir dahakinde sormasını istemiyorsanız
Always Load tıklayın.
Artık komut satırından
EC girilerek Eksen Çiz VBA makrosu çalıştırılabilir. İlk
çalıştırmada VBA makro yüklü değilse dosyayı belleğe yükleyeceği için üstteki
gibi güvenlik uyarısı çıkabilir. Load Once tıklayın.
Eğer birden fazla VBA makro kodu varsa bunlara ayrı ayrı lsp dosya oluşturmak
şart değildir. Bir lsp dosyada tüm VBA makro kodları için ayrı ayrı
AutoCAD komutu tanımlanabilir.