7 Mart 2021 Pazar

AutoCAD ile VBA Makro #6-5



Bu videoda AutoCAD VBA makro kodları ile SLOT çizme açıklandı.
VBA ile slot çizimi 5 bölüm halinde yayınlandı. Bu video 5. bölümdür.
Bu bölümde SLOT çizen kodlar yazıldı ve açıklandı.

Videoda kullanılan AutoCAD VBA kodları:
Sub SLOT()
' Mesut Akcan
' 7/3/2021
' mesutakcan.blogspot.com
Dim ut As AcadUtility
Dim ms As AcadModelSpace
Dim cizgi As AcadLine
Dim vl(7) As Double
Dim pl As AcadLWPolyline

Set ut = ThisDrawing.Utility
Set ms = ThisDrawing.ModelSpace
pi = 4 * Atn(1) '3.14159265358979
aci90 = pi / 2 ' 1.5707963267949 'radyan
aci270 = pi * 1.5 '4.71238898038469 'radyan
With ut
    ' n1 noktasını al
    n1 = .GetPoint(, "1. merkez nokta:")
    ' n2 noktasını al
    n2 = .GetPoint(n1, "2. merkez nokta:")
    ' n1-n2 arasına geçici çizgi çiz
    Set cizgi = ms.AddLine(n1, n2)
    ' cizgiyi vurgulu yap
    cizgi.Highlight True
    ' r yarıçap değerini al
    r = .GetDistance(n2, "Yarıçap:")
    ' a açısını hesapla
    a = .AngleFromXAxis(n1, n2) 'radyan
    ' geçici çizgiyi sil
    cizgi.Delete

    ' p1 noktasını hesapla
    p1 = .PolarPoint(n1, a + aci90, r)
    ' p2 noktasını hesapla
    p2 = .PolarPoint(n2, a + aci90, r)
    ' p3 noktasını hesapla
    p3 = .PolarPoint(n2, a + aci270, r)
    ' p4 noktasını hesapla
    p4 = .PolarPoint(n1, a + aci270, r)

    ' vertex listesini oluştur
    vl(0) = p1(0): vl(1) = p1(1) 'vertex 1 X,Y
    vl(2) = p2(0): vl(3) = p2(1) 'vertex 2 X,Y
    vl(4) = p3(0): vl(5) = p3(1) 'vertex 3 X,Y
    vl(6) = p4(0): vl(7) = p4(1) 'vertex 4 X,Y
    ' vertex listesi ile polyline çiz
    Set pl = ms.AddLightWeightPolyline(vl)
    ' close özelliği ile kapalı şekil oluştur
    pl.Closed = True
    ' karşılıklı kenar çizgilerini yay yap.
    pl.SetBulge 1, -1
    pl.SetBulge 3, -1
End With
End Sub

Hiç yorum yok:

Yorum Gönder