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.

Bu dosyanın hangi konumda olduğunu öğrenmek için bu penceredeki ACAD simgesi tıklanır, sağ bölmede Filename yanında konum görünür. Bendeki bilgisayarda şu adreste görünüyor. C:\Users\Mesut\AppData\Roaming\Autodesk\AutoCAD 2020\R23.1\enu\support\acad.cuix
Bu konum sizin bilgisayarda farklı olacaktır.

İşlemlere başlamadan önce bu dosyanın bir yedeğini almanızda fayda var. Gerçi bu pencereden ACAD üzerinde sağ tıklayıp açılan menüden RESET ACAD.CUİX tıklayarak ayarları ilk kurulum haline getirebiliyoruz.
Sonraki işlem: Komut butonu eklemek.

Burada yeni bir komut butonu oluşturmak yerine işlemlerin hızlı olması için ben var olan bir komut butonunu çoğaltıp onun üzerinde değişiklik yapacağım.
Böylece komut butonu simgesi(icon) ayarları için uğraşmayacağım. Oluşturacağım eksen çizme butonu için en uygun simgeyi Center Mark butonunda gördüm onu çoğaltacağım.

Center Mark komutunu Command List listesini kaydırarak ya da arama metin kutusuna center mark yazarak bulabilirsiniz.
Center Mark üzerinde sağ tıkla / Duplicate tıkla. Bir tane daha Center Mark oluşacak.

Orijinal olanın Element ID özelliği ID_Centermark. Bunu değil diğer yeni oluşan Center Mark'ı tıklayıp sağ alt bölmede aşağıdaki değişiklikleri yapın.
Name: Eksen Çiz
Description: Daire ya da yaylara eksen çizer
Macro: ^C^C_.-VBARUN "C:/Users/Mesut/Desktop/Makrolarim.dvb!EksenCiz"

Makro dosya adresi, Autocad komut satırından girilirken \ (ters bölü) işaretini kabul ederken burada, web adreslerinde olduğu gibi / (bölü) işareti kullanmak gerekiyor.
Buradaki Macro kodu VBA makro kodu ile karıştırılmasın. Bu AutoCAD makro kodudur. Farklı bir kodlama yapısı vardır. Ayrı bir konu başlığı olarak incelenmelidir. Çok detaya girilmeden kısa açıklayacağım.

^C^C : İki kere ESC tuşudur. Bu da komut verildiğinde çalışan bir AutoCAD komutu varsa ondan çıkış yapar.
_(alt tire) : Yerelleştirilmiş komut adını değil, genel komut adını kullanması.
.(nokta) : Var olan yeniden tanımlanmış komutu değil, komutun standart tanımını kullanması.
-(eksi) : Daha önce açıklamıştım, komut parametrelerinin iletişim penceresinden değil komut satırından girilmesi.
Button Image ile ilgili bir şey yapmama gerek kalmadı. İsterseniz kendinize uygun bir simge seçebilir ya da var olanı Edit ile düzenleyebilirsiniz.

Bu işlemlerden sonra Apply tıklanır. Ayarlar kaydedilip uygulanmış olur.
Burada OK ile çıkış yapılabilir ancak Eksen Çiz komut butonunu oluşturduğumuz halde Autocad'de buna erişecek bir imkan bulunmaz.
Komutun erişebilir olması için birkaç seçenek var. Ribbon, Toolbar, Quick Access Toolbar ...
Burada konuyu çok dallandırmamak için en kolay ve hızlı olanı seçeceğim. Quick Access Toolbar. Diğerleri ayrı bir konu gerektirir.

OK butonu tıklamadan önce (eğer tıklandı ise sorun değil CUI komutu ile aynı yere ulaşabilirsiniz.) sol bölmedeki komut listesinden Eksen Çiz komutunu fare ile sürükleyip Autocad penceresindeki Quick Access Toolbar(Hızlı erişim araç çubuğu) üzerine sürükleyip bırakın. OK tıklayın.
Artık Quick Access Toolbar üzerindeki Eksen Çiz butonu ile Eksen Çiz VBA makro kodu kolaylıkla çalıştırılabilir.

5) Klavye Kısayolu ile makro çalıştırma

VBA makro kodlarını çalıştırmanın bir başka yolu da klavyeden bir ya da birden fazla tuşa basmaktır. AutoCAD kullanırken zaten bazı klavye kısayollarını kullanıyoruz. Örneğin: Ortho modu değiştirmek için F8, Osnap modu değiştirmek için F3, Seçili nesnenin özelliklerini görmek için CTRL+1 ... vb. çok sayıda kısayol vardır.

AutoCAD'de bu kısayolları düzenleme, ekleme ve silme özellikleri bulunmaktadır.
Bu işlemleri yapmak için CUI komutu kullanılır.
Eğer oluşturmadıysanız üstteki "4) AutoCAD komut butonu ile makro çalıştırma" başlığı altındaki açıklamalardan yardım alarak "Eksen Ciz" komut butonunu oluşturun.
Butonu Araç çubuğuna eklemeseniz de olur.
CUI komutunu verin.
Listeden acad.cuix'i seçin.
Altındaki listede Keyboard Shortcuts yanındaki +(artı) tıklanarak alt listeyi açın.
Açılan listedeki Shortcut Keys yanındaki +(artı) tıklanarak alt listeyi açın.
Command List bölmesindeki listede oluşturduğumuz Eksen Çiz komutunu bulun. Kolayca bulmak için arama kutusuna eksen çiz yazın.
Eksen Çiz komutunu fare ile sürükleyip üst listedeki Shortcut Keys üzerine ya da onun altındaki bir eleman arasına bırakın.

Shortcut Keys altındaki az önce eklediğimiz Eksen Çiz elemanını seçin. (Alt bölmedeki Eksen Çiz değil)
Eksen Çiz seçili iken sağ bölmede Key(s) yanındaki kutucuğun sağındaki ...(üç nokta) butonunu tıklayın.
Açılan pencere klavyeden CTRL+5 'e basın(CTRL basılı iken harf tuşlarının üzerindeki 5 tuşuna basın)
Farklı bir tuş ya da tuş kombinasyonu da olabilir ancak daha önceden aktif edilmiş tuş yada tuş kombinasyonlarını kullanmayın. Kullanılmamış bir klavye kısayolu seçerseniz altta [unassigned] yazar.(unassigned = atanmamış) Diğer durumda kısayolun hangi komuta atandığı bilgisi görünür.
Apply ve OK tıklanır.
Böylece CTRL+5 klavye kısayolu ile Eksen Çiz VBA makro kodu kolaylıkla çalıştırılabilir.

Hiç yorum yok:

Yorum Gönder