pascalPL pisze:Nie będę polemizować na temat wyświetlania błędów w EMC2. Zwłaszcza po komunikacie "Nieprawidłowy kod M" bez podania numeru linii i kontekstu

To jest trochę irytujące, jak wyświetla "błąd w linii 15" a jest w linii 13, ale ten błąd zawsze faktycznie jest, a G-kody nie są aż tak skomplikowane żeby go nie znaleźć.
Ja w takich przypadkach otwieram plik w Gedit i każę szukać podejrzanego ciągu znaków.
Ogólnie przerabianie programów z innych maszyn to katorga i co gorsze nie zawsze to jest możliwe.
Szczerze mówiąc sam zacząłem pisać programy wyłącznie pod EMC i one nie pójdą na innej maszynie nigdy i w żaden sposób.
Takie tam "pięć linijek z palca" w jakich się lubuje kolega Kamar.
Na przykład poniższy program :
Kod: Zaznacz cały
G21 (Unit in mm)
G90 (Absolute distance mode)
G64 P0.1000 (Fast path mode)
G17 (Select XZ plane)
G40 (Cancel diameter comp.)
G49 (Cancel length comp.)
T1M6 (Tool change to T1)
M8 (Coolant flood on)
G0 Z 25.000
G0 X 0.000 Z 0.000
S5000M03 (Spindle 5000rpm cw)
G04 P1 (Pause 3 sec)
(----------------------------------------)
O<PROFIL> SUB
G0 Y [#1]
G18
G1 X 5.000 Z 0.000 F200
G3 X 18.000 Z 13.000 I 13.000 K -0.000
G1 X 20.000 Z 13.000
G3 X 30.748 Z 7.313 I 0.000 K -13.000
G2 X 33.229 Z 6.000 I 2.480 K 1.687
G1 X 44.771 Z 6.000
G2 X 47.252 Z 7.312 I 0.000 K 3.000
G3 X 58.000 Z 13.000 I 10.748 K -7.313
G1 X 60.000 Z 13.000
G3 X 68.599 Z 9.750 I 0.000 K -13.000
G2 X 70.583 Z 9.000 I 1.984 K 2.250
G1 X 79.957 Z 9.000
G2 X 82.782 Z 10.991 I 0.000 K 3.000
G1 X 85.289 Z 18.009
G3 X 88.114 Z 20.000 I 2.825 K -1.009
G1 X 96.000 Z 20.000
G1 Y [#1 + 2.000]
G1 X 88.114 Z 20.000
G2 X 85.289 Z 18.009 I 0.000 K -3.000
G1 X 82.782 Z 10.991
G3 X 79.957 Z 9.000 I -2.825 K 1.009
G1 X 70.583 Z 9.000
G3 X 68.599 Z 9.750 I 0.000 K 3.000
G2 X 60.000 Z 13.000 I -8.599 K -9.750
G1 X 58.000 Z 13.000
G2 X 47.252 Z 7.313 I 0.000 K -13.000
G3 X 44.771 Z 6.000 I -2.480 K 1.688
G1 X 33.229 Z 6.000
G3 X 30.748 Z 7.313 I 0.000 K 3.000
G2 X 20.000 Z 13.000 I -10.748 K -7.313
G1 X 18.000 Z 13.000
G2 X 5.000 Z 0.000 I 0.000 K -13.000
G1 X 0.000 Z 0.000
G17
O<PROFIL> ENDSUB
(----------------------------------------)
#1 = 0
O200 WHILE [#1 LT 101]
O<PROFIL> CALL [#1]
#1 = [#1 + 4]
O200 ENDWHILE
(----------------------------------------)
G0 Z 25.000
G0 X 97.500 Y 0.000
G1 Z 10.000
G1 Y 102.000
G1 Z 0.000
G1 Y 0.000
G0 Z 25.000
(----------------------------------------)
G0 Z 25.000
G0 X 0.000 Y 37.000
G1 Z 10.000
G1 X 37.154 Y 37.000
G2 X 45.154 Y 29.000 I 0.000 J -8.000
G2 X 29.154 Y 13.000 I -16.000 J 0.000
G1 X -0.000 Y 13.000
G1 X 0.000 Y 0.000
G1 X 32.955 Y 0.000
G3 X 50.201 Y 6.713 I 0.198 J 25.000
G2 X 67.249 Y 13.427 I 17.048 J -18.287
G1 X 100.000 Y 13.427
G1 X 100.000 Y 86.573
G1 X 67.249 Y 86.573
G2 X 50.201 Y 93.287 I -0.000 J 25.001
G3 X 33.351 Y 100.000 I -17.048 J -18.287
G1 X -0.000 Y 100.000
G1 X -0.000 Y 87.000
G1 X 29.154 Y 87.000
G2 X 45.154 Y 71.000 I 0.000 J -16.000
G2 X 37.154 Y 63.000 I -8.000 J 0.000
G1 X -0.000 Y 63.000
G1 X 0.000 Y 37.000
G1 Z 0.000
G1 X 37.154 Y 37.000
G2 X 45.154 Y 29.000 I 0.000 J -8.000
G2 X 29.154 Y 13.000 I -16.000 J 0.000
G1 X -0.000 Y 13.000
G1 X 0.000 Y 0.000
G1 X 32.955 Y 0.000
G3 X 50.201 Y 6.713 I 0.198 J 25.000
G2 X 67.249 Y 13.427 I 17.048 J -18.287
G1 X 100.000 Y 13.427
G1 X 100.000 Y 86.573
G1 X 67.249 Y 86.573
G2 X 50.201 Y 93.287 I -0.000 J 25.001
G3 X 33.351 Y 100.000 I -17.048 J -18.287
G1 X -0.000 Y 100.000
G1 X -0.000 Y 87.000
G1 X 29.154 Y 87.000
G2 X 45.154 Y 71.000 I 0.000 J -16.000
G2 X 37.154 Y 63.000 I -8.000 J 0.000
G1 X -0.000 Y 63.000
G1 X 0.000 Y 37.000
G1 Z 1.000
G0 Z 25.000
G0 X 0.000 Y 50.000
G1 Z 10.000
G1 X 97.500
G1 Z 0.000
G1 X 0.000
G0 Z 25.000
(----------------------------------------)
G0 Z 25.000
G0 X 0.000 Y 0.000
M9 (Coolant off)
M5 (Spindle off)
G00 Z25 (Spindle up)
M2 (Prgram end)
To model styrodurowy do wykonania odlewu.
Gdybyś chciał ten detal wyciąć, to trzeba mieć frez z częścią roboczą min 25 mm.
W programie ISO uruchamialnym na dowolnej maszynie podprogram wycinający kształt 3D musiał by być powtórzony ileś tam razy, tutaj załatwia to instrukcja WHILE.
Zmieniam jedną cyferkę i obrabia inną długość.
Za pierwszym razem nie bardzo byłem zadowolony z uzyskanego wyniku, więc po prostu narysowałem inny kształt i go wkleiłem w podprogram.
Zmiana prosta, szybka i pomylić się trudno.
Ale wracając do tematu, to zacytowanego programu nie uruchomisz na innej maszynie niż EMC2.
Tak samo na EMC nie uruchomisz programu napisanego pod Macha.
Tam się inaczej wywołuje podprogramy i dostaniesz błąd "nieznany kod G" czy coś takiego.
Trzeba sie z tym po prostu pogodzić i nie robić problemu, że nieznany kod M, bo to akurat nic dziwnego że nieznany.
Pod Machem będziesz miał te same kwiatki, plus cięcie trójkąta zamiast kwadratu, bo tam w przeciwieństwie do EMC2 takie jaja są na porządku dziennym.
A z Inkscape czym eksportujesz ?
.