własny g-code generator

Dyskusje dotyczące programowania G-Code

Autor tematu
m4t3u5z
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 4
Posty: 11
Rejestracja: 06 sie 2009, 20:55
Lokalizacja: KW

własny g-code generator

#1

Post napisał: m4t3u5z » 18 lut 2012, 16:49

Witam, zaczynając po kolei;

od dłuższego czasu jestem właścicielem amatorskiej drukarki 3d (ultimaker), aktualnie borykam się z problemem g-code generatorów. Przetestowałem ich dziesiątki. Brakuje w nich podejścia jak do "wytłaczania" - wszystkie opracowane są na bazie kodu maszynowego typowego dla procesu frezowania.

Dlatego też planuje napisać własny program.

I teraz do rzeczy:
Poszukuję informacji o analitycznym podejściu do tego tematu - generowania ścieżki - czyli jak do problemu aktualnie podchodzą obecne CAMY
Znalazłem trochę informacji ale dotyczą one zazwyczaj generowania ścieżki pod maszyny conajmniej 3 osiowe.
A ja poszukuje informacji o prostym 2 osiowym generowaniu ścieżki dla płaskiego obiektu...

Będę bardzo wdzięczny za wskazówki...


Obrazek
Obrazek



Tagi:


l153k
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 3
Posty: 40
Rejestracja: 07 sty 2011, 10:31
Lokalizacja: Szprotawa

#2

Post napisał: l153k » 02 mar 2012, 15:46

ścieżka może wyglądać na wiele różnych sposobów

pokaż co masz (jakiś przykład tego co zaprojektowałeś) i jaki ma być wynik końcowy; wtedy myślę że da się opracować jakiś plan tego co ma się dziać "po drodze" do tego wyniku.


Autor tematu
m4t3u5z
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 4
Posty: 11
Rejestracja: 06 sie 2009, 20:55
Lokalizacja: KW

#3

Post napisał: m4t3u5z » 05 mar 2012, 21:43

witaj, chodzi mi o podejście matematyczne nie o ręczne projektowanie ścieżki, projektowanie ręczne dla kilku tysięcy warstw jest bezsensowne...

A przykładów daleko szukać nie trzeba patrz na rysunki które załączyłem...

Jeszcze raz powiem czego poszukuję...
Algorytmów analitycznych do generowania ścieżek. Szczególnie zagadnienie z "wyspami".

Czyli jak wygenerować w jednym przebiegu przejście po ścieżce w jednej warstwie, trajektoria nie może się przecinać i ma maksymalnie wypełniać powierzchnię zadaną przy możliwie jak najkrótszym przejściu "jałowym"

Znalazłem już trochę informacji w tym temacie, ale zawsze chętnie je uzupełnię.
Jak już wspomniałem trajektoria ma być o tyle specyficzna - nie jest przeznaczona dla procesu "frezowania" tylko dodawania materiału (drukowania 3d)


l153k
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 3
Posty: 40
Rejestracja: 07 sty 2011, 10:31
Lokalizacja: Szprotawa

#4

Post napisał: l153k » 05 mar 2012, 23:01

analitycznie:
-masz bryłę
-dzielisz na warstwy
-każdą warstwę obrabiasz osobno:
--zaczynasz w dowolnym punkcie krawędzi tej figury, i poruszając się (powiedzmy zgodnie z ruchem wskazówek zegara) po tej krawędzi drukarka tworzy przedmiot (zrasza gips klejem, naświetla fotopolimer światłem UV, "wali gluta", czy co tam drukarki innego robią), jednocześnie zabierając z tej figury obszar gdzie już była.
--jeśli skończyła się figura, sprawdza czy nie pozostały jakieś inne (np "klepsydra" podzieli się na 2 figury po pierwszej rundzie, to małe przewężenie zniknie), jeśli pozostały to je obrabia tak samo
--znowu sprawdza, jeśli już warstwa jest wyczyszczona z figur, przechodzi do następnej.

to tak na szybko ;) zawsze można robić wiersz po wierszu :P


Autor tematu
m4t3u5z
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 4
Posty: 11
Rejestracja: 06 sie 2009, 20:55
Lokalizacja: KW

#5

Post napisał: m4t3u5z » 06 mar 2012, 00:03

Hehe nie zrozumiałeś mnie :)
To co opisałeś jest dla mnie oczywiste.

Jestem na etapie rozpisywania równań do generowania ścieżki dla warstwy.
Poszukuję matematycznych wskazówek do tego zagadnienia.

Są różne techniki wypełniania powierzchni; metoda zig-zag (krzyżowa), metoda spiralna, metoda odsunięć od krawędzi...
I w sumie nigdzie nie ma jawnie opisanego tego procesu (komercyjne programy chronią takie informacje bo to klucz do sukcesu), a ja nie lubię wyważać drzwi które już ktoś otworzył.

W swoich algorytmach rozpisuje to na "czuja", mam ogromne ilości warunków a i tak czasem program lubi się posypać przy specyficznych geometriach... w dodatku trwa to strasznie długo...

Dlatego też szukam "profesjonalnych" podejść (czyli matematyki którą kierują się komercyjne generatory ścieżek)

mam nadzieje że teraz mnie zrozumiałeś.

Czy spotkałeś się gdzieś z procesem strategii generowania ścieżki "od kuchni"?


l153k
Sympatyk forum poziom 1 (min. 40)
Sympatyk forum poziom 1 (min. 40)
Posty w temacie: 3
Posty: 40
Rejestracja: 07 sty 2011, 10:31
Lokalizacja: Szprotawa

#6

Post napisał: l153k » 06 mar 2012, 17:23

może są jakieś programy open-source do których można by zajrzeć?

ja kiedyś też myślałem o zrobieniu drukarki 3D (aktualnie stoi na końcu mojej kolejki maszyn do zbudowania), i ja bym w programie zrobił po prostu ten algorytm który opisałem. Dość szybki, wypełni dokładnie cały obszar, i długość ścieżki jest (w miarę) minimalna-nie traci czasu na przeskoki na drugi koniec warstwy tylko ciągle szuka jak najbliżej kolejnych obszarów do wypełnienia.

Z gotowymi rozwiązaniami niestety nie spotkałem się-nigdy mnie ten temat za bardzo nie interesował, niestety.

Awatar użytkownika

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

#7

Post napisał: grg12 » 06 mar 2012, 18:06

Bawiłem się tym kiedyś - efekty można zobaczyć tutaj: http://members.chello.at/~grzegorz12/ (DXFKornik). Algorytm jest dośc poplątany (wyważyłem otwarte drzwi :) ) i mocno zabugowany - ale mniej więcej działą. Głowny problem polega na rozpoznaniu i usuniąciu niepotrzebnych fragmentów scieżki. Myśle o ulepszeniu programu - uproszczniu i wyczyszczeniu algorytmu, dodaniu wysp itd. - ale jakoś nie mam czasu się za to zabrać


Autor tematu
m4t3u5z
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 4
Posty: 11
Rejestracja: 06 sie 2009, 20:55
Lokalizacja: KW

#8

Post napisał: m4t3u5z » 06 mar 2012, 22:14

grg12, dzięki :) przyjże się uważnie jak to rozwiązałeś.
Jeśli czegoś nie będę rozumiał to spodziewaj się że cię pomęczę :)

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”