Te copio un trozo de programa:
%
:0730
G90
G15
G10 L2 P2 X-381.1 Y-310.906 Z-401.5
G55
T9 M06 (PUNTEAR)
G43 H9 Z10
G00 G90 X0 Y0
M08
S5000 M03
G16 G91 (ACTIVA POLARES)
G0 G90 X33 Y270 (PRIMER AGUJERO EN R=33 Y 270 GRADOS)
G81 G98 Z-2 R1 F300
G91 Y72 K4 (REPITE 4 VECES INCREMENTANDO EL ANGULO 72 GRADOS)
G15 (DESACTIVA POLARES)
G80 (FIN DE CICLO FIJO)
G00 G90 Z10.
Como ves, cambiando unos pocos datos, puedes cambiar el radio, el angulo y el número de agujeros.
Si en los mismos agujeros tienes que hacer varias operaciones, por ejemplo, puntear, taladrar, avellanar y roscar, te puede interesar usar parametros. Es lo mismo, pero cambias valores numericos por parametros que has definido anteriormente. Por ejemplo:
%
:0730
G90
G15
G10 L2 P2 X-381.1 Y-310.906 Z-401.5
G55
#1=33
#2=270
#3=72
#4=4
T9 M06 (PUNTEAR)
G43 H9 Z10
G00 G90 X0 Y0
M08
S5000 M03
G16 G91 (ACTIVA POLARES)
G0 G90 X#1 Y#2
G81 G98 Z-2 R1 F300
G91 Y#3 K#4
G15 (DESACTIVA POLARES)
G80 (FIN DE CICLO FIJO)
G00 G90 Z10.
Puedes incluso hacer operaciones matemáticas:
#5=#4+1
#3=360/#5
Y así te evitas el hacer tú el cálculo del angulo entre agujeros.
Yo lo he hecho en polares, pero lo puedes hacer igual en cartesianas si los agujeros siguen un patrón cuadrado o rectangular.