isteğinize uygun VBA kodu:
Sub Noktalarla_Cember_2()
'Belirtilen nokta sayısı ve yarıçap ile noktadan oluşan çember
'Nokta yanına çember içinde sıra numarasını yazar
'Mesut Akcan
'19/7/2023
'mesutakcan.blogspot.com
Dim ut As AcadUtility
Dim ms As AcadModelSpace
Dim no As AcadText
Const pi = 3.14159265358979
Set ut = ThisDrawing.Utility
Set ms = ThisDrawing.ModelSpace
On Error GoTo hata:
yy = ThisDrawing.GetVariable("TEXTSIZE") 'yazı yüksekliği
With ut
ns = .GetInteger("Nokta sayısı:")
m = .GetPoint(, "Merkez nokta:")
r = .GetDistance(m, "Yarıçap:")
dilim = 2 * pi / ns 'dilim açısı. radyan
For k = 1 To ns
aci = k * dilim
nk = .PolarPoint(m, aci, r) 'nokta konumu
mk = .PolarPoint(m, aci, 2 * yy + r) 'çerçeve merkez konumu
yg = Len(k) 'yazı genişliği
Set p = ms.AddPoint(nk) 'nokta ekle
Set c = ms.AddCircle(mk, yy * Len(ns) / 2) 'çember çiz
Set no = ms.AddText(k, mk, yy) 'numara yaz
no.Alignment = acAlignmentMiddleCenter 'ortaya yasla
no.TextAlignmentPoint = mk 'yaslama noktası
Next
End With
Exit Sub
hata:
'ESC basıldıysa
If ThisDrawing.GetVariable("LASTPROMPT") Like "*Cancel*" Then
Exit Sub
Else
ut.Prompt "Bir hata oluştu!"
End If
End Sub