kısayol etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
kısayol etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Mart 2020 Perşembe

AutoCAD ile VBA makro kullanımı #5-4

Autocad VBA Makro Kodlarını Çalıştırma Yöntemleri:


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.
(defun c:EC()
(command "_.-VBARUN" "C:/Users/Mesut/Desktop/Makrolarim.dvb!EksenCiz")
(princ)
)
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.

Aşağıdaki gibi:
(defun c:EC()
(command "_.-VBARUN" "C:/Users/Mesut/Desktop/Makrolarim.dvb!EksenCiz")
(princ)
)

(defun c:DIKDORTGEN()
(command "_.-VBARUN" "C:/Users/Mesut/Desktop/Makrolarim.dvb!Dikdortgen")
(princ)
)

(defun c:SLOT()
(command "_.-VBARUN" "C:/Users/Mesut/Desktop/Makrolarim.dvb!Slot")
(princ)
)

28 Şubat 2020 Cuma

AutoCAD ile VBA makro kullanımı #5-3

Autocad VBA Makro Kodlarını Çalıştırma Yöntemleri

4) AutoCAD komut butonu ile makro çalıştırma



Komut satırından -VBARUN C:\Users\Mesut\Desktop\Makrolarim.dvb!EksenCiz yazmak yerine bu kodları giren bir AutoCAD butonu oluşturarak makronun çalıştırılması sağlanabilir. Bu işlem, makroyu çalıştırmada kolaylık sağlayacaktır.

Bunun için;
Komut satırından CUI komutu(Customize User Interface = Özelleştirme Kullanıcı Arabirimi) verilir ya da menüden Manage / Customization / User interface tıklanır.

Açılan pencerede; Customize tab'ı seçili iken altındaki açılır listeden Main Customization File(acad.cuix) seçilir. Bu AutoCAD'in kullandığı ana özelleştirme dosyasıdır.