provided that you agree that Center4CNC has no warranty obligations ‚ or liability whatsoever for any of the sample code files, the result ‚ from your use of them or for any modifications you may make. This notice ‚ must be included on any reproduced or distributed file or modified file.
Sub GroupTapInDXF()
' Diese Makro gruppiert alle Kreise und die dazugehörigen Bohrungen,
' wenn es sich wie bei DXF-Zeichnungen üblich um Gewindedarstellungen handelt
' Danach können diese dann auf einen separaten Layer gelegt werden
' und mit der Featureerkennung Bohrung fortgefahren werden
Const PI = 3.14159265358979
Dim A As Esprit.Arc
Dim C As Esprit.Circle
For Each C In Document.Circles
For I = 1 To Document.Arcs.Count
Set A = Document.Arcs(I)
If A.Length > (3 / 2 * A.Radius * PI) Then ' Arc is 3/4 Circle then Tap sign
If Abs(C.Radius - A.Radius) / C.Radius < 0.3 Then ' difference Arc Circle not more than 30%
If ((C.CenterPoint.X = A.CenterPoint.X) And _
(C.CenterPoint.Y = A.CenterPoint.Y) And _
(C.CenterPoint.Z = A.CenterPoint.Z)) Then
C.Grouped = True ' Circle is Tap
A.Grouped = True ' Arc is Tap
End If
End If
End If
Next
Next
Set A = Nothing
Set C = Nothing
Document.Refresh
End Sub

