Zwielokratniacz g-codu

Proste programy do obsługi maszyn CNC, vivery, itp. Programy darmowe, napisane przez użytkowników forum
Awatar użytkownika

Autor tematu
Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 13
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#11

Post napisał: Inf-el » 17 maja 2007, 21:10

OK. Jak będę wypuszczał poprawioną wersję to dodam taka opcję
- robić kratę lub nie
- ustawiana głębokość Z z pojedynczym przejazdem.
Ostatnio zmieniony 19 maja 2007, 11:38 przez Inf-el, łącznie zmieniany 1 raz.



Tagi:

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#12

Post napisał: markcomp77 » 17 maja 2007, 21:31

właściwie ten program jest o pół kroku do prostego CADa z gcodem jako format zapisu!... choć właściwie może to być CAM jeśli to będzie CAD modyfikujacy gcode przychodące ;)
jak zwał, tak zwał.... może to być dość pomocne narzędzie!
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

Autor tematu
Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 13
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#13

Post napisał: Inf-el » 17 maja 2007, 21:56

Właściwie to bazuję na programie cncminimum.
Tam prace utknęły na zaznaczaniu punktów w przestrzeni 3D za pomocą myszki.
Czyli nie wiem jak przeliczyć wsp. ekranowe na rzeczywiste 3D.
Gdybym zastosował Delphi 5 lub wyższe to mam komponenty i biblioteki do takich przekształceń ale piszę w mojej legalnej czwórce zupełnie bez komponentów do OpenGL.

Przynajmniej poznam podstawy: wektory, przekształcenia, skalowanie, obracanie itp, tylko to trochę potrwa.

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 3975
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#14

Post napisał: markcomp77 » 17 maja 2007, 22:01

Inf-el pisze:Gdybym zastosował Delphi 5 lub wyższe to mam komponenty i biblioteki do takich przekształceń ale piszę w mojej legalnej czwórce zupełnie bez komponentów do OpenGL.
a czy ktoś próbował coś pisać w Qt (np. 4) ?
ostatnio dla potrzeb mojego ulubionego LyX musiałem do nowej wersji skomilpwać sobie Qt4... i przy okacji popatrzyłem sobie co tam jest - jest bardzo wiele!
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

x
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 243
Rejestracja: 29 mar 2006, 23:24
Lokalizacja: Laski, gm. Izabelin

#15

Post napisał: x » 18 maja 2007, 00:37

Inf-el pisze:Czyli nie wiem jak przeliczyć wsp. ekranowe na rzeczywiste 3D.
Chodzi o coś takiego ? Na dole strony jest kod w Delphi.

Jesli chcesz zaznaczyć istniejący punkt/obiekt, to na podstawie obliczonego punktu musisz jeszcze stworzyć wektor prostopadły do płaszczyzny rzutowania, i przejrzeć obiekty, sprawdzając, czy ten wektor przecina, albo przebiega w pobliżu któregoś. Albo jakoś tak... Zależy w jaki sposób przechowujesz obiekty. W 3D to jest niezłe zagadnienie, mnie się robi słabo przy 2D.

Kiedyś robiłem edytor 2D (w GTK+). Dla obszaru rysowania np. 600x400px przydzielałem tablicę wskaźników typu void o rozmiarze 300x200. Napisałem włąsną funkcję rysowania linii, w której oprócz punktów na piksmapie "rysowałem" te ż o połowę mniejszą "linię" wskaźników na element zawierający tę linię. Program przy procesorze Pentium I 55MHz działał jak burza - wyszukiwanie natychmiastowe, zmiana wskaźnika myszy po najechaniu na obiekt. Ale dla OpenGL takie podejście nie ma sensu.

Awatar użytkownika

Autor tematu
Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 13
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#16

Post napisał: Inf-el » 18 maja 2007, 07:56

Tak, widziałem już wcześniej te rozwiązania ale nie udało mi sie tego skompilować.
podstawowa instrukcja w opengl do tego to :
gluUnProject( winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
i właśnie w niej mam problem. Pod Delphi5 z komponentami działa, pod 4 nie.

Tyle, że ja znam wszystkie dane z przestrzeni 2D: wielkość ekranu, położenie myszy 2d
i 3D: położenie obserwatora, punkt na który patrze, kąt patrzenia, położenie obiektów, skalę
ale nie wiem jak przeliczyć 2D myszy na 2D rzeczywiste (głębokość jest oczywiście do odszukania). Problem wcześniej czy później rozwiążę.
Gdybym mógł zaznaczać obiekty to naprawdę było by blisko do małego CADa 3D.

A właściwie to chyba sam sobie odpowiedziałem.
Załączniki
oko.jpg
oko.jpg (6.73 KiB) Przejrzano 2159 razy

Awatar użytkownika

x
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 4
Posty: 243
Rejestracja: 29 mar 2006, 23:24
Lokalizacja: Laski, gm. Izabelin

#17

Post napisał: x » 18 maja 2007, 17:58

Inf-el pisze:Tak, widziałem już wcześniej te rozwiązania ale nie udało mi sie tego skompilować.
podstawowa instrukcja w opengl do tego to :
gluUnProject( winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
i właśnie w niej mam problem. Pod Delphi5 z komponentami działa, pod 4 nie.
Hmm... gluUnProject to jest standardowa funkcja glu. Borland chyba ściemnia.

Awatar użytkownika

Autor tematu
Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 13
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#18

Post napisał: Inf-el » 18 maja 2007, 19:32

Jeszcze będę próbował.
Na razie wrzucam dwa demka z użyciem tego.
Przykłady rzutowania kursora myszki na powierzchnie 3D.
Niestety pod Windows. Nie wiem czy pod Wine zadziała.
Załączniki
meshhit.zip
(310.56 KiB) Pobrany 379 razy
octreedemo.zip
(322.23 KiB) Pobrany 378 razy

Awatar użytkownika

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

#19

Post napisał: Piotr Rakowski » 19 maja 2007, 08:31

Kol. Inf-el - idziesz w bardzo fajnym kierunku :smile: Ciekaw jestem, ile Ci starczy sił i czasu, by to wsztystko zrealizować. Co do programu - pomysł bardzo fajny, nawet myślałem o tym, by takie powielanie matrycowe zrobić w STEP2CNC, ale ponieważ mam je w eduCADzie, to uznałem, że w STEPie już nie trzeba.

Moja uwaga jest taka, że możnaby pomyśleć nad efektywnym rozmieszczaniem elementów w uwzględnieniem lepszego wykorzystania materiału obrabianego. W Twoim pierwszym przykładzie są rodzaje "zębów", które po rozmieszczeniu bardzo marnie "wypełniają" materiał. Gdyby były jeszcze opcje obrotu następnego rzędu (co drugiego) z jednoczesnym przesunięciem o zadany wektor... Pomyśl nad tym.

Co do G91 - moim zdaniem zdecydowanie tak. W końcu w wymiarowaniu przyrostowym zmiana pozycji początkowej (nawet ręczna) powoduje przesunięcie rysunku bez potrzeby regeneracji g-kodu.
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)

Awatar użytkownika

Autor tematu
Inf-el
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 13
Posty: 573
Rejestracja: 22 cze 2004, 18:41
Lokalizacja: Szczecin
Kontakt:

#20

Post napisał: Inf-el » 19 maja 2007, 11:31

Piotr Rakowski pisze:Kol. Inf-el - idziesz w bardzo fajnym kierunku
Dzięki, to motywujące.
Piotr Rakowski pisze:ile Ci starczy sił i czasu
Słyszę czasami od młodych ludzi, że umysł ludzki jest nieograniczony.
Ale wiem, że to jest subiektywne odczucie, że można góry przenosić.
Czasami jeszcze miewam takie odczucie.
Niestety energia do ciągłej pracy i czas na jej wykonywanie mają swoje ograniczenia.

Jeśli uważasz, że G91 jest dość często stosowane i potrzebne to zaimplementuję.
Co do efektywnego rozmieszczenia elementów to pomyślę o tym jak poprawnie
zacznie działać proste rozmieszczanie.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Software”