
Z zakresu przepływu informacji, i pasujący do tego tematu, jest przypadek płyty chodnikowej:
wrzucasz kwadratową płytę do wody, a kółka wychodzą.

Kod: Zaznacz cały
G0 X10
G1 Y10
G2 R5
G3 X0Y0I10J10
G3 A1B2C3D4E5F6G7H8
G3 Z20
Jeżeli twój program z G3 X0Y0I10J10 robi G1X0Y0 to absolutnie nic się nie zgadza.Piotr Rakowski pisze:Popatrzmy na kod:
G0 X10
G1 Y10
G2 R5
G3 X0Y0I10J10
G3 A1B2C3D4E5F6G7H8
G3 Z20
Niestety kol. tuxcnc - nie masz racji. Program stara się być niepodatny na "garbage" - śmieci, jak je nazywasz. Tyle, że między śmieciami są polecenia g-kodów należące do standardu. Tak więc po odfiltrowaniu masz:
G0 X10
G1 Y10
X0Y0
Z20
i wszystko się zgadza.
W to akurat wierzę.Piotr Rakowski pisze:Praktycznie żaden z programów CAM, które znam nie generuje domyślnie takich kodów.
No i znowu, jak nie może wyświetlić całości, to nie powinien niczego wyświetlać.Piotr Rakowski pisze:wersja demo ma ograniczenie do 500 wektorów. Tyle program wyświetla, dlatego nie widzisz swojego kółeczka
tuxcnc pisze:Zgadza się z tym co napisał - program olał G2 i G3 a że ostatnim zrozumiałym rozkazem było G1 - "X0Y0" zostało potraktowane jako rozkaz ruchu (G1 jest zdaje się modalny i po pierwszym użyciu nie trzeba go powtarzać). Można się kłócić o czy sensowne jest realizowanie zrozumiałych strzępów programu zamiast od razu rzucić syntax error ale z jakiegoś dziwnego powodu inne programy cnc robią podobnie absurdalne rzeczy (parę miesięcy temu ktoś tutaj pytał jak w G-code definiuje się zmienne i nie chciał wierzyć kiedy mu odpowiedziano - znaku # używał do znakowania komentarzy a mach3 jakoś to łykałPiotr Rakowski pisze: Jeżeli twój program z G3 X0Y0I10J10 robi G1X0Y0 to absolutnie nic się nie zgadza.
.).
Przykład pokazany w filmiku w pierwszym poście ewidentnie zawiera okrąg - albo program jednak rozpoznaje G2 G3 do wyświetlania ale nie dla ruchu (co byłoby absurdalne) albo okrąg był interpolowany liniami - przy ograniczeniu do 500 linii i chmm... swobodnym podejściu do tego co jest linią a co nie taki okrąg może się zamienić w cokolwiek...
Moim zdaniem to nie podlega dyskusji.grg12 pisze:Można się kłócić o czy sensowne jest realizowanie zrozumiałych strzępów programu zamiast od razu rzucić syntax error
Ale ja naprawdę w to wierzę, że umiesz dodać implementację takich g-kodów jak G04 (pauza), M03/M04/M05 (włączenie/wyłaczenie wrzeciona), M06 (zmiana narzędzia) ....Piotr Rakowski pisze:Ja bez problemu mogę dodać interpretację bardzo dużej liczby poleceń do interpretera kodu - tyle, że nikt (lub prawie nikt) tego używać nie będzie.