step2cnc - poważny problem

Dyskusje dotyczące działania obsługi programu STEP2CNC
Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4693
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#11

Post napisał: pitsa » 17 gru 2011, 17:09

Programowanie wymaga dostrzeżenia wielu specyficznych przypadków. ;-)
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ą
. :D


zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Tagi:

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#12

Post napisał: tuxcnc » 17 gru 2011, 18:09

Ponieważ nie otrzymałem odpowiedzi na moje pytanie, ściągnąłem step2cnc, zainstalowałem i nakarmiłem pierwszym wadliwym kodem jaki mi przyszedł do głowy :

Kod: Zaznacz cały

G0 X10
G1 Y10
G2 R5
G3 X0Y0I10J10
G3 A1B2C3D4E5F6G7H8
G3 Z20
Program łyknął kod bez zająknięcia i ... wyciął trójkąt.

Jak na program za pięćset złotych to totalna porażka.

.

[ Dodano: 2011-12-17, 18:32 ]
A to już nie porażka, tylko masakra :
Obrazek
Step2cnc wycina kółko narysowane w Paincie ....

.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 4693
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

#13

Post napisał: pitsa » 17 gru 2011, 19:44

Widły z igły robisz. :D

Działa i to całkiem logicznie:
Obrazek
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#14

Post napisał: tuxcnc » 17 gru 2011, 20:21

Jest taka zasada http://pl.wikipedia.org/wiki/Garbage_In,_Garbage_Out .
Dodać można, że ignorowanie błędnych danych wejściowych w przypadku frezarki CNC oznaczać może zniszczony materiał.
Jeśli program czegoś nie potrafi, to niech nie próbuje tego robić.

.

Awatar użytkownika

Piotr Rakowski
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 6
Posty: 2173
Rejestracja: 29 lip 2005, 15:07
Lokalizacja: Warszawa
Kontakt:

#15

Post napisał: Piotr Rakowski » 17 gru 2011, 22:34

Uuuuu...... chyba rzeczywiście kol. tuxcnc nie lubi mnie i mojego programu. Ale cóż - wolno mu. Do rzeczy:

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. Kody których nie zna usunął, jeśli w linii kodu nie ma mnemonika ruchu (oznaczenia ruchu) - domyślnie program traktuje go, jako G1. W wyniku otrzymasz trójkąt, a następnie oś Z zostanie podniesiona o 20 mm. Co więcej zauważ, że i nagłówka program nie wymaga. Domyślnie pracuje w systemie danych globalnych i milimetrach.

Co do G2 i G3 - do których tak się przypiąłeś. Praktycznie żaden z programów CAM, które znam nie generuje domyślnie takich kodów. Większość wszystkie krzywe wielomianowe - także łuki - generują w postaci wieloboków. Co więcej powiem - każdy algorytm interpolacji kołowej (np. Bresenhama) jest tak naprawdę algorytmem opartym na wieloboku! Cytowany Bresenham napisał swój algorytm dla równomiernego wyświetlania obrazów rastrowych - a więc opartych na matrycy dwuwymiarowej (XY).

Moje oprogramowanie STEP2CNC jest w tej chwili numerowane już powyżej 500, a więc tylu jest jego użytkowników. Myślisz, że ktokolwiek narzeka, że nie ma poleceń G2 i G3?
Nie ma ich - bo po prostu nie ma takiej potrzeby. Większość użytkowników bazuje na plikach PLT, które są generowane przez np. CorelDraw (mój eduCAD i cncCAD także), a ten ani myśli używać poleceń AA i RA. Ergo - G2 i G3 można swobodnie pomijać.

Co do tej zupełnej porażki (masakry, jak ją nazwałeś), którą pokazujesz na zrzucie z ekranu - wystarczy przeczytać instrukcję do STEP2CNC - wersja demo ma ograniczenie do 500 wektorów. Tyle program wyświetla, dlatego nie widzisz swojego kółeczka :lol:
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#16

Post napisał: tuxcnc » 17 gru 2011, 23:22

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.
Jeżeli twój program z G3 X0Y0I10J10 robi G1X0Y0 to absolutnie nic się nie zgadza.
Piotr Rakowski pisze:Praktycznie żaden z programów CAM, które znam nie generuje domyślnie takich kodów.
W to akurat wierzę.
Nie znasz żadnego.
Piotr Rakowski pisze:wersja demo ma ograniczenie do 500 wektorów. Tyle program wyświetla, dlatego nie widzisz swojego kółeczka :lol:
No i znowu, jak nie może wyświetlić całości, to nie powinien niczego wyświetlać.
A tak poza tym, to Ci nie wierzę że to akurat o limit 500 linii chodzi, bo ja tam nawet kawałka okręgu nie widzę.

Rozumiem, że są ludzie dla których twój program jest aż nadto wystarczający i że oni chętnie zapłacą po pięć stówek i będą zadowoleni.
Tylko jeśli twoja wiedza o CAD/CAM kończy się na Corelu i eksporcie do HPGL, to się nie bierz za g-kody.

.

Awatar użytkownika

grg12
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1670
Rejestracja: 03 sty 2007, 14:27
Lokalizacja: Wiedeń

#17

Post napisał: grg12 » 18 gru 2011, 01:09

tuxcnc pisze:
Piotr Rakowski pisze: Jeżeli twój program z G3 X0Y0I10J10 robi G1X0Y0 to absolutnie nic się nie zgadza.
.
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ł :)).
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...

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#18

Post napisał: tuxcnc » 18 gru 2011, 01:55

grg12 pisze:Można się kłócić o czy sensowne jest realizowanie zrozumiałych strzępów programu zamiast od razu rzucić syntax error
Moim zdaniem to nie podlega dyskusji.
Można sterować maszynę uproszczonym g-kodem (tylko G0 i G1), tak samo można to robić uproszczonym HPGL bez łuków, ale wtedy trzeba maszynę zabezpieczyć przed próbą uruchomienia kodu w pełnym standardzie.
W przypadku step2cnc mamy do czynienia z kompletną ignorancją.
G2/G3 nikt przecież nie używa, to można olać ...

.

Awatar użytkownika

Piotr Rakowski
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 6
Posty: 2173
Rejestracja: 29 lip 2005, 15:07
Lokalizacja: Warszawa
Kontakt:

#19

Post napisał: Piotr Rakowski » 18 gru 2011, 11:10

Kol. tuxcnc - masz ze sobą poważny problem, polegający na potwornym zadufaniu i posiadaniu "monopolu na rację". Rozumiem, że na forum możesz pisać co Ci ślina na język przyniesie, ale daruj sobie prywatne wycieczki w moim kierunku - nie znasz mnie, nie wiesz co wiem, a czego nie. Nie chcesz - nie używaj STEP2CNC, nikt Ci nie każe.

Co do STEPa - każdy program do czegoś służy. Większość firm robiących własne sterowania i oprogramowanie do niego także tworzy interpretację tylko taki kodu, jaki maszyna jest w stanie wykonać. 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.

Koniec dywagacji z tuxcnc. Wątek założył inny kolega, od którego chciałbym się dowiedzieć, czy coś udało mu się zawalczyć?
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 9
Posty: 7861
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#20

Post napisał: tuxcnc » 18 gru 2011, 12:12

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.
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) ....
Ja nawet podejrzewam, że z tym poradził by sobie nawet twój statystyczny klient o specyficznym IQ.
Problem nie polega na tym, że nie potrafisz, tylko na tym że w dziedzinie CNC jesteś kompletnym ignorantem.

Tu masz całkiem przyzwoity zestaw kodów, których nikt nie używa : http://www.linuxcnc.org/docview/html/gcode_main.html .
W Machu zresztą istnieje podobny zestaw kodów, których nikt nie używa.

Masz absolutną wolność pisania takich programów jakie Ci się spodoba, ale nie pisz że step2cnc obsługuje g-kody, bo to jest kłamstwo.

.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „STEP2CNC”