
Niedawno wszedłem w posiadanie na drodze kupna frezarkę CNC 3040 i na niej uczę się G code jestem początkujący posługuje się programem Mach3.
Dzisiejszym zadaniem było napisać program do wyfrezowania połączenia stolarskiego pod kontem prostym. W uproszczeniu program ma zadawać drogę o kształcie zygzaka. Postanowiłem skomplikować sobie życie i przy pomocy kilku "zmiennych" stworzyć program który będzie na tyle elastyczny że zadziała niezależnie od rozmiaru deski. Zatem wielkości zygzaka definiujemy na początku a program wykona zadaną liczbę powtórzeń.
Efekt końcowy pozawala połączyć ze sobą dwa elementy, jednak toporność kodu jest tak ogromna że proszę o pomoc w jego tuningu.
Mapa położenia punktów opisanych w komentarzach programu frez palcowy 3,175mm.

Kod: Zaznacz cały
( połączenie stolarskie wczep prosty)
( do połączeń pod kontem prostym )
#1=5 ( start w X )
#2=15 ( start w Y)
#3=10 ( skok X)
#4=10 ( skok Y)
#5=-2 ( głębokość z dla z=0 na powieszchni )
#6=3 ( ilość cykli )
#9=1,5875 ( offset )
#11=#1 (zmienna x)
#12=#2 (zmienna y)
G90 (G90 pozycjonowanie bezwzględne)
G0 Z3
G0 X0 Y0
M98 P3 L#6 (M98 cykl sekwencyjny;Px nr programu; Lx oznacza ilość powtórzeń)
G0 Z3
M30 (M30 koniec programu)
O0003 (Nr programu sekwencyjnego)
G0 z#5
(/POCZĄTEK PROGRAMU SEKWENCYJNEGO/)
#11=[#11-#9]
G0 X#11 Y#12 ( dojazd A )
#12=[#12-#9-#4]
G0 X#11 Y#12 ( dojazd B )
#11=[#11+#9+#3+#9]
G0 X#11 Y#12 ( dojazd C )
#12=[#12+#9+#4]
G0 X#11 Y#12 ( dojazd D' )
#12=[#12-#9]
G0 X#11 Y#12 ( dojazd D )
#11=[#11+#3-#9-#9]
G0 X#11 Y#12 ( dojazd E )
#12=[#12+#9]
G0 X#11 Y#12 ( dojazd E' )
#11=[#11+#9]
( #12=[#12-#9])
M99 (/KONIEC PROGRAMU/)

Pytania do bardziej zaawansowanych operatorów:
1. Jak skorzystać w takim programie z offsetów Mach3, inne udoskonalenia programu?
2. Jak przerobić sekwencję by kończyła się przejazdem do góry ( przejazd C - D )?
3. Inne przykłady na połączenia stolarskie - czekam na propozycje G-codów?