AutoCAD ile VBA Makro kullanımı ile ilgili uygulamalar:
Videoda kullanılan kodlar:
Autocad VBA ile Çizgi Rengini Değiştirme:
Sub CizgiRengiDegis() 'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com Dim cizgi As AcadLine Dim n1(2) As Double, n2(2) As Double n1(0) = 0 'X n1(1) = 0 'Y n2(0) = 50 'X n2(1) = 70 'Y Set cizgi = ModelSpace.AddLine(n1, n2) cizgi.color = acCyan Regen acActiveViewport n1(0) = 10 'X n1(1) = 20 'Y MsgBox "devam" cizgi.StartPoint = n1 cizgi.color = 220 End Sub
Autocad VBA ile Çizgi Rengini Değiştirme 2:
Sub CizgiRengiDegis2() 'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com Dim cizgi As AcadLine Dim n1(2) As Double, n2(2) As Double n1(0) = 0 'X n1(1) = 0 'Y n2(0) = 50 'x For r = 1 To 255 n2(1) = r Set cizgi = ModelSpace.AddLine(n1, n2) cizgi.color = r Next End Sub
Autocad VBA ile Katman Ekleme:
Sub KatmanEkle()
'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com
On Error Resume Next
Dim eksenKatman As AcadLayer
Set eksenKatman = Layers.Item("Eksen")
If Err.Number = -2145386476 Then
Linetypes.Load "ACAD_ISO10W100", "acad.lin"
Set eksenKatman = Layers.Add("Eksen")
eksenKatman.color = acCyan
eksenKatman.Linetype = "ACAD_ISO10W100"
End If
End Sub
'--------------------------------------
Sub KatmanEkle2()
'Makro: Mesut Akcan 18/7/2019 mesutakcan.blogspot.com
Dim eksenKatman As AcadLayer
Set eksenKatman = Layers.Add("Eksen")
On Error Resume Next
Linetypes.Load "CENTER", "acad.lin"
eksenKatman.color = acCyan
eksenKatman.Linetype = "CENTER"
End Sub
Autocad VBA ile Katman Rengini Değişme:
Sub katmanrenginidegis() 'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com Dim aktifkatman As AcadLayer Set aktifkatman = ActiveLayer aktifkatman.color = acBlue End Sub
Autocad VBA ile Katman Çizgi Tipini Değiştirme:
Sub katmanCizgiTipiDegis() 'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com On Error Resume Next Dim aktifkatman As AcadLayer Linetypes.Load "ACAD_ISO10W100", "acad.lin" Set aktifkatman = ActiveLayer aktifkatman.Linetype = "ACAD_ISO10W100" End Sub
Autocad VBA ile Eksen Çizme:
Sub EksenCiz()
'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com
On Error Resume Next
Dim nesne As AcadCircle
Linetypes.Load "ACAD_ISO10W100", "acad.lin"
ActiveLinetype = Linetypes.Item("ACAD_ISO10W100")
Utility.GetEntity nesne, nkt, "Nesne seçiniz"
'merkeznokta = Utility.GetPoint(, "Merkez noktasını giriniz") 'X,Y,Z
merkeznokta = nesne.Center
'merkeznokta(0) ->X
'merkeznokta(1) ->Y
'merkeznokta(2) ->Z
'uzunluk = Utility.GetDistance(merkeznokta, "Kol uzunluğunu giriniz")
uzunluk = nesne.Radius + 3
n1 = merkeznokta
n2 = merkeznokta
n1(0) = merkeznokta(0) - uzunluk 'X
n2(0) = merkeznokta(0) + uzunluk 'X
Set cizgi = ModelSpace.AddLine(n1, n2)
n1 = merkeznokta
n2 = merkeznokta
n1(1) = merkeznokta(1) - uzunluk 'Y
n2(1) = merkeznokta(1) + uzunluk 'Y
Set cizgi = ModelSpace.AddLine(n1, n2)
ActiveLinetype = Linetypes.Item("Continuous")
End Sub
Hiç yorum yok:
Yorum Gönder