w ramach nauki gcode mam napisać kod umożliwiający stworzenie czegoś takiego:

Napotkałem jednak kilka problemów.
1) Mam problem z ta fasolą na środku figury. Myślałem żeby to zrobić tak, że np. wybieram frez o średnicy 5mm i startuję w pozycji X105 Y50 i włączam G41 dojeżdżam do X45 Y50 i zmieniam na G42 i wracam znów X105 Y50. Ale na symulatorze tak średnio mi to pasuje. Dobrą mam koncepcje czy lepiej to inaczej rozwiązać?
2) puki co jeżeli chodzi o kontur figury to udało mi się go objechać, jednak jak wynika z rysunku trzeba zrobić kieszenie chyba tak, aby skrawać cały materiał np. ponad ćwierć-kołem w prawym górnym rogu. Jak to zrobić? Trzeba pisać do tego jakieś specjalne makro czy tez jest jakaś metodyka już opracowana?
3) W figurze występuje 6 powtarzających się otworów. Aktualnie wiercę każdy z osobna i się przesuwam wyżej. Jednak wydaje mi się, że aż się prosi tu jakaś pętla np. while. Jednak żadna nie chce działać na moim symulatorze (cncsymulator) Jak taki kod powinien wyglądać?
4) na środku mamy otwory ustawione w szyku kołowym. Na obrabiarce widziałem, że da się to tak ładnie ułożyć i robi w szyku, ale jak to zapisać w gcode aby nie musieć każdego otworu osobno wyliczać współrzędne i robić?
Poniżej mój wstępny kod, pisany na szybko, więc przepraszam z góry za jego wątpliwą jakość.
Kod: Zaznacz cały
N10 G92 G90
N20 G0 X0 Y0 Z100
N30 T1 M6
N40 M3 F250 S2000
N50 G0 X-20 Y-20
N60 G0 Z20
N70 G00 X+5 Y+10
N80 G00 Z+002.000
N90 G01 Z-005.000 F0135.000
N100 G03 X10 Y5 I5 J0
N110 G01 X140
N120 G03 X145 Y10 I0 J5
N130 G01 Y60
N140 G02 X110 Y95 R35
N150 G01 X10
N160 G03 X5 Y90 I0 J-5
N170 G01 Y70
N180 X17
N190 G02 X20 Y67 I0 J-3
N200 G01 Y53
N210 G02 X17 Y50 I-3 J0
N220 G01 X5
N230 Y10
N240 Z10
N250 M05 Z30
N260 T2 M06
N270 S02700 M03 F0360.000
N280 G00 X28.000 Y15.000
N290 G00 Z+002.000
N300 G01 G90 Z-025.000 F0135.000
N310 Z20
N320 G91 G01 Y13
N330 G01 G90 Z-025.000 F0135.000
N340 Z20
N350 G91 G01 Y13
N360 G01 G90 Z-025.000 F0135.000
N360 Z20
N360 G91 G01 Y13
N360 G01 G90 Z-025.000 F0135.000
N360 Z20
N360 G91 G01 Y13
N360 G01 G90 Z-025.000 F0135.000
N360 Z20
N360 G91 G01 Y13
N360 G01 G90 Z-025.000 F0135.000
N360 Z10
N360 M05 Z30
N360 T3 M06
N360 G90 G01 X45 Y85
N360 Z-5
N360 G03 X45 Y75 I0 J-5
N360 G03 X45 Y85 I0 J5
N360 G01 Z20
N360 M05 Z30
N360 T4 M06
N360 G90 G01 X105 Y50
N360 Z-5
N360 G02 G42 X45 Y50 R30
N370 M30 M05