VBA ile Box Çizdirme ve Taşıma
![]() |
Yazar | Özgür Özkurt |
| Mesleği | Mak. Müh. Öğrencisi | |
| web | ||
![]() |
Hepinize Merhaba
Bu yazıda sizlere AutoCAD içinde VBA kullanımına dair yeni bir örnek anlatacağım. Örnek, girilen parametreler doğrultusunda çizime box çizdiriyor.Aynı zamanda verilen bir noktaya taşınmasını gerçekleştiriyor.
OLE yardımıyla, VBA ile AutoCAD arasında iletişim başlatma tekniğini, diğer yazılarımda açıklamıştım.
Makroyu AutoCAD’e yükleyelim. Önce bu adresten makroyu indirin. Tools menüsünden Macro Load Project’i seçin. Makronun bulunduğu dizini açın ve makroyu yükleyin.
Command: _vbaide
Komutunu çalıştırarak Vusial Basic Editörü’nü başlatın. View menüsünden Code’u seçin veya F7 tuşuna basın.
Şimdi sıra kodları incelemeye geldi. İsterseniz ilk önce makroyu çalıştırın(F5). Değerleri girin ve sonucu gözlemleyin. İsterseniz direkt kodları incelemeye başlayabilirsiniz.
Object Model nesne ağacındaki hiyerarşiye uyarak AddBox çalıştırılır. AddBox işlevinin aldığı parametreler, aşağıdaki kullanıcı formundaki TextBox kontrollerinden alınır. Daha sonra Move metodunun kullanacağı parametreler, aynı yöntem ile formdan alınır.

Fig.1
Dim tas(0 To 2) As Double
tas(0) = TextBox4.Text
tas(1) = TextBox5.Text
tas(2) = TextBox6.Text
Move metodu için kullanılacak parametrelerden biri başlangıç noktası diğeri ise taşınacak noktadır. İlk parametre Box’ı çizdiğimiz merkez noktası. İkinci ise yukarıdaki paragrafta tanımladığımız ve değer(TextBox kontrollerinin içerikleri) atadığımız tas değişkeni.Tanımlanan bu iki nokta arasında taşıma işlemi ileride gerçekleştirilecektir.
en = TextBox1.Text
yukseklik = TextBox2.Text
uzunluk = TextBox3.Text
Box çizileceği zaman kullanılacak parametreler, kullanıcıdan uygun kontroller yardımıyla alınıyor.
Set kutu = autocad_oturumu.ActiveDocument.ModelSpace.AddBox(merkez, uzunluk, en, yukseklik)
Kullanıcıdan alınan değerler, AddBox işlevinde uygun yerlere yerleştirilerek çizim yapılıyor.

Fig.2
ThisDrawing.Regen acAllViewports
Bir çok yerde işinize yarayacak bu kod, çiziminizi yeniler.
autocad_oturumu.ZoomAll
“View >Zoom >All” ile aynı işi görür.
MsgBox "Çizim yapıldı. Şimdi Taşınacak"

Fig.3
Mesaj kutusu yardımıyla kullanıcı bilgilendiriliyor.
kutu.Move merkez, tas
Biraz önce tanımladığımız kutu nesnesinin Move metodu çalıştırılarak taşıma işlemi gerçekleştiriliyor. Çizdiğimiz Box, (200,210,300) noktasına taşınıyor.
VBA kullanarak AutoCAD içinde yapılabilecekler elbette anlattıklarımdan ibaret değil. Anlattığım temel mantıktan yola çıkarak biraz da yardım dosyalarından yararlanarak daha fonksiyonel makrolar geliştirebilirsiniz.
Yazı dizisinin sonuna geldik. Fakat sizlerden aldığım maillerden yola çıkarak yeni bir yazı daha hazırlayacağım. Sıradaki yazı biraz da yol gösterme amaçlı olacak.
Görüşmek üzere. Hepinize kolay gelsin.
Technorati Tags: AutoCAD, AutoCAD VBA, Visual Basic
Benzer Yazılar




1 August 2007, Wednesday 15:42
Güzel yazı olmuş,teşekkür ederiz.
3 August 2007, Friday 9:21
Sayın Özgür Bey Yazınız Güzel Olmuş Tebrik Ederim
Rica Etsem Mail Adresime İletişim Bilgilerinizi Yollayabilirmisiniz?
3 August 2007, Friday 11:18
Yorumlarınız için hepinize teşekkür ederim.
6 March 2008, Thursday 13:26
Calisma icin teskurler.Size bi sorum olacakti hazirladigimiz makrolari hep cagirip calistirmakmi zorundayiz.Autocadin icinde bir arac cubugu hazirlayip macrolari arac cubuguna yerlestirebilirmiyiz.
Vba da autocad uygulamalarina yeni basladim ve kaynak sikintisi cekiyorum rica etsem bana bu konuda yardimci olurmusunuz.tesekur ederim
10 March 2008, Monday 16:24
Özgür bey hata veriyo eksik bişeylermi yapıyorum acaba teşekkürler…