20 Eylül 2013 Cuma

Autocad VBA uygulamaları: 1. Kot yaz

VBA desteği, özellikle tekrarı olan işlemlerin yapıldığı uygulamalarda bazen çok kısa zamanda kısa bir kod yazılarak işlerin kolaylaştırılmasını, güvenilir çözüm üretilmesini ve proje çizim sürecinin hızlanmasını sağlamaktadır.
Ekran görüntüsü

Bu örnekte, ekteki kısa dvb kodu çalıştırıldığında, bir bina cephesine kot yazdırmak için önce temel nokta yani sıfır kotu tıklanarak programa başlangıç kotu aktarılır. Daha sonra bu noktanın üstü yada altında tıklanan her noktaya, kot işareti ve tıklanan noktanın referanstan uzaklığına bağlı olarak (yalnızca y yönü) kotu yazdırılır.





Program kodu:

Sub kotyaz()
Dim kot As Variant
Dim yer As Variant
Dim fark As String
Dim arti As String
Dim temp As AcadMText
Dim yazi As String
Dim base As Variant
Dim rowstart As Integer

On Error Resume Next

    With ThisDrawing.Utility
    rowstart = .GetString(True, vbCr & "Kaç adet kot yazmak istiyorsunuz?...")
    End With
   
rowstart = CInt(rowstart)
base = Utility.GetPoint(, "Sýfýr kotunu gösteriniz...")
Set blok = ThisDrawing.ModelSpace.InsertBlock(base, "kotblok", 1, 1, 1, 0)
yer = base
yer(0) = base(0) - 44
yer(1) = base(1) + 25
arti = "±"
yazi = "±" & "0.00"
Set temp = ThisDrawing.ModelSpace.AddMText(yer, 40, yazi)

For i = 1 To rowstart
kot = Utility.GetPoint(base, "Kot verilecek nokta...")
fark = (kot(1) - base(1)) / 100
fark = FormatNumber(fark, 2, vbTrue, vbFalse, vbFalse)

    Set blok = ThisDrawing.ModelSpace.InsertBlock(kot, "kotblok", 1, 1, 1, 0)
    yer(0) = kot(0) - 44
    yer(1) = kot(1) + 25

    If fark >= 0 Then
        arti = "+"
        yazi = "+" & fark
        Set temp = ThisDrawing.ModelSpace.AddMText(yer, 40, yazi)
    Else
        fark = Abs(fark)
        arti = "-"
        yazi = "-" & fark
        Set temp = ThisDrawing.ModelSpace.AddMText(yer, 40, yazi)
    End If
   
Next i

End Sub


 Kodun çalışması için çizimde "kotblok" adında bir block nesnesi tanımlı olmalıdır. Aşağıdaki örnek merdiven çizimi açılıp, kod test edilebilir. Bunun için çizim açılıp "vbaide" komutu verilir. Açılan pendere Visual Basic editör penceresidir. Buraya kod yapıştırılıp çalıştırıldığında komut satırından yönergeler izlenerek çizim tamamlanır.
 Dwg dosyası indir

 ilerde yine görüşmek dileklerimle...

Hiç yorum yok:

Yorum Gönder