Reklam ver...

VBA ile Box Çizdirme ve Taşıma



Yazar Özgür Özkurt
Mesleği Mak. Müh. Öğrencisi
   
web  
e-mail

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
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
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
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: , ,

Benzer Yazılar

11 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 511 Votes | Average: 5 out of 5 (11 oy, ortalama: 5)
Loading ... Loading ...

5 yorum “VBA ile Box Çizdirme ve Taşıma”

  • 1
    MustafaNo Gravatar
    1 August 2007, Wednesday 15:42

    Güzel yazı olmuş,teşekkür ederiz.

  • 2
    Erhan KARACANo Gravatar
    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
    Özgür ÖZKURTNo Gravatar
    3 August 2007, Friday 11:18

    Yorumlarınız için hepinize teşekkür ederim.

  • 4
    ZAFERNo Gravatar
    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

  • 5
    erolNo Gravatar
    10 March 2008, Monday 16:24

    Özgür bey hata veriyo eksik bişeylermi yapıyorum acaba teşekkürler…

Yorum bırak