Onderstaand programma maakt twee ronde pockets van 8mm diep en een diameter van 14mm op 20 mm van elkaar. Het hoofdprogramma verplaatst de frees, het subprogramma maakt de pocket (als soort van subroutine).
Code: Selecteer alles
O0001
-----
N0000 G54
N0010 G94 F35
N0020 T0303 (D=10mm)
N0030 M03 S2000
N0040 G00 U20 V20 Z1 (verplaats naar 1ste punt)
N0050 G25 L8001 (programma 80/1 keer)
N0060 G00 U20 Z1 (2de punt 20 mm naar rechts)
N0070 G25 L8001 (programma 80/1 keer)
N0080 G00 ... (volgende punt)
N0090 G25 L8001
....
N0240 X0 Y0 Z50 (terug naar startpunt)
N0250 M30
O0080
-----
N0010 G01 Z-8
N0020 G42 (compensatie aan)
N0020 G01 U-7 V0 (7mm naar links, met compensatie en r=5mm dus maar 2 mm)
N0030 G02 U0 V0 I7 J0 (eindpunt=beginpunt, pocket met r=7mm)
N0040 G40 G00 U7 Z1 (compensatie uit, ga naar uitgangspunt)
N0050 M17 (terug naar hoofdprogramma)
Code: Selecteer alles
; Programma
; ---------
G54
G94
M06 T0003 (D=10mm)
M03 S2000 F35
G00 X20 Y20 Z1 (verplaats naar 1ste punt)
GOSUB Pocket
G00 X40 Z1 (2de punt in absolute coordinaten)
GOSUB Pocket
; G00 ... (volgende punt)
; GOSUB Pocket
X0 Y0 Z50 (terug naar startpunt)
M30
Sub Pocket
G10 L20 P2 X0 Y0 (set nulcoordinaten op dit punt)
G55
G01 Z-8
; G42 (Foutmelding: 'Concave corner with cutter radius comp')
; G42.1 D10 (Alternatief maar dezelfde fout)
G01 X-7 Y0
G02 X-7 Y0 I7 J0
G40
G00 X0 Y0 Z1
G54
Endsub
- Hoe gaan jullie om met incrementele coordinaten? Of wordt het uberhaupt niet meer gebruikt?
- Waar zit de fout in radiuscompensatie?