G-code - ślimak
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 15 mar 2008, 16:03
- Lokalizacja: Pasym
G-code - ślimak
Witam.
Mam problem z napisaniem programu. Chodzi o wyfrezowanie ślimaka/spirali w osi XY, aby powstało coś takiego:
.
Oś Z raz ustawiona powinna zostać bez zmian. Byłbym wdzięczny za przynajmniej jakieś wskazówki jak się do tego zabrać.
Mam problem z napisaniem programu. Chodzi o wyfrezowanie ślimaka/spirali w osi XY, aby powstało coś takiego:
.
Oś Z raz ustawiona powinna zostać bez zmian. Byłbym wdzięczny za przynajmniej jakieś wskazówki jak się do tego zabrać.
Tagi:
-
- Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 5562
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
https://www.cnc.info.pl/topics51/spiral ... vt3914.htm
https://www.cnc.info.pl/topics82/spiral ... 899,30.htm na HH sprawdziłem dział doskonale
[ Dodano: 2012-01-11, 14:49 ]
aha no i można zrobić konwersje z DXF na G-code
https://www.cnc.info.pl/topics82/spiral ... 899,30.htm na HH sprawdziłem dział doskonale
[ Dodano: 2012-01-11, 14:49 ]
aha no i można zrobić konwersje z DXF na G-code
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 2
- Posty: 678
- Rejestracja: 26 gru 2010, 18:38
- Lokalizacja: Południe
- Kontakt:
Napisane pod macha... nie próbuj dochodzić jak działa bo na ten moment nawet ja (choć sam to wyskrobałem) nie ogarniam tych wszystkich numerków Co prawda nie jest to dokładnie spirala taka o jaką Ci chodzi bo napisana z półokregów których średnica sie zmienia ale to zobaczysz jak załadujesz program. Do napisania spirali wpisz np 1 w średicy końcowej (prawie zero ) i samo się narysuje... To samo bez zmienych pisze się bardzo prosto zwiekszając średnicę półokręgów o stałą.
;Program do pojedynczego przejazdu ściągającego materiał
;dookoło pierścienia .Frezowanie współbierzne
;
; ! ! ! UWAGA ! ! !
;
;Sprawdzić symulację przed rozpoczęciem frezowania.
;Zwrócić uwage na przejście ze spirali w okrąg
;wykańczający. Ze wzgledu na skomplikowaność obliczeń
;program w niektórych kombnacjach zmiennych głupieje
;(najprawdopodobniej jest to efekt niedokładności dzielenia)
; ! ! ! UWAGA ! ! !
;średnica początkowa (uwzględnia grubość narzędzia) musi byc większa lub równa średnicy końcowej
#100 = 162
;średnica końcowa (uwzględnia grubość narzędzia) musi być większa od zera
#101 = 71.44
;średnica narzędzia
#102 = 8
#103 = [#102 / 2]
;grubość skrawania nie schodzić poniżej 0.5 lub probować korygować
#104 = 2
;korekcja zwiekszać co 1 normalnie wpisać 0
#117 = 0
;prędkość obróbki
#105 = 1200
;prędkość zagłębiania
#106 = 200
;prędkość przejazdu wykańczającego (drugi przejazd ostatniego kręgu)
#109 = 500
;wysokość bezpieczna
#107 = 10
; poziom obróbki
#108 = 2
;ilość powtórzeń
#115 = [[[#100-[#101 + #103]] / 2] / #104]
;korekcja
#115 = [#115 + #117]
;zmienna po x (pozycja początkowa)
#116 = [#100 / 2 + #103]
;Program główny
G94 F[#105]
;wysokość bezpieczna
G00 z[#107]
;jedź do punktu początku obróbki
G00 x[#116 + [#104 /2]] Y0
;zagłębianie
G94 F[#106]
G00 Z[#108]
;podprogram dwóch spirali Q[#115]
G94 F[#105]
M98 P100 Q[#115+1]
;ostatnie zacieśnienie
;ostatnia pozycja x po wyjsciu z podprogramów - Y0
#120 = [[#116] + [#104 /2]]
G02 X[0 - [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]] Y0 R[ [ [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]] + [[#116] + [#104 /2]] ] /2 ]
G02 X[[#101 / 2] + #103] Y0 R[[[[#101 / 2] + #103]+[[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]]/2]
;okrąg właściwy
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;okrąg właściwy drugi przejazd z prędkościa wykańczającą
G94 F[#109]
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;wyjazd
G00 X[[#101 / 2] + #103 + 1]
G00 Z[#107]
M30
;Podprogram frezowania po spirali obliczanej
O100
G02 X[[0 - #116 - [#104 / 2]] + [#104 /2]] Y0 R[#116 - #104]
G02 X[[#116 - #104] + [#104 /2]] Y0 R[#116 - [2 * #104]]
#116 = [#116 - #104]
M99
Pozdrawiam
FDSA
;Program do pojedynczego przejazdu ściągającego materiał
;dookoło pierścienia .Frezowanie współbierzne
;
; ! ! ! UWAGA ! ! !
;
;Sprawdzić symulację przed rozpoczęciem frezowania.
;Zwrócić uwage na przejście ze spirali w okrąg
;wykańczający. Ze wzgledu na skomplikowaność obliczeń
;program w niektórych kombnacjach zmiennych głupieje
;(najprawdopodobniej jest to efekt niedokładności dzielenia)
; ! ! ! UWAGA ! ! !
;średnica początkowa (uwzględnia grubość narzędzia) musi byc większa lub równa średnicy końcowej
#100 = 162
;średnica końcowa (uwzględnia grubość narzędzia) musi być większa od zera
#101 = 71.44
;średnica narzędzia
#102 = 8
#103 = [#102 / 2]
;grubość skrawania nie schodzić poniżej 0.5 lub probować korygować
#104 = 2
;korekcja zwiekszać co 1 normalnie wpisać 0
#117 = 0
;prędkość obróbki
#105 = 1200
;prędkość zagłębiania
#106 = 200
;prędkość przejazdu wykańczającego (drugi przejazd ostatniego kręgu)
#109 = 500
;wysokość bezpieczna
#107 = 10
; poziom obróbki
#108 = 2
;ilość powtórzeń
#115 = [[[#100-[#101 + #103]] / 2] / #104]
;korekcja
#115 = [#115 + #117]
;zmienna po x (pozycja początkowa)
#116 = [#100 / 2 + #103]
;Program główny
G94 F[#105]
;wysokość bezpieczna
G00 z[#107]
;jedź do punktu początku obróbki
G00 x[#116 + [#104 /2]] Y0
;zagłębianie
G94 F[#106]
G00 Z[#108]
;podprogram dwóch spirali Q[#115]
G94 F[#105]
M98 P100 Q[#115+1]
;ostatnie zacieśnienie
;ostatnia pozycja x po wyjsciu z podprogramów - Y0
#120 = [[#116] + [#104 /2]]
G02 X[0 - [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]] Y0 R[ [ [[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]] + [[#116] + [#104 /2]] ] /2 ]
G02 X[[#101 / 2] + #103] Y0 R[[[[#101 / 2] + #103]+[[[#101/2]+#103]+[[[#120]-[[#101/2]+#103]]/2]]]/2]
;okrąg właściwy
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;okrąg właściwy drugi przejazd z prędkościa wykańczającą
G94 F[#109]
G02 X[0 - [[#101 / 2] + #103]] Y0 R[#116 - [2 * #104]]
G02 X[[#101 / 2] + #103] Y0 R[#116 - [2 * #104]]
;wyjazd
G00 X[[#101 / 2] + #103 + 1]
G00 Z[#107]
M30
;Podprogram frezowania po spirali obliczanej
O100
G02 X[[0 - #116 - [#104 / 2]] + [#104 /2]] Y0 R[#116 - #104]
G02 X[[#116 - #104] + [#104 /2]] Y0 R[#116 - [2 * #104]]
#116 = [#116 - #104]
M99
Pozdrawiam
FDSA
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 4
- Posty: 4
- Rejestracja: 15 mar 2008, 16:03
- Lokalizacja: Pasym
Właśnie najbardziej boli to, że nic nie rozumiem. Zadanie chyba nie powinno być zbyt trudne skoro przewidziane jest dla studenta laika. Wzory parametryczne ok tylko w jaki sposób można je uwzględnić w kodzie? Myślałem o czymś takim, żeby wykorzystać G02 co oczywiste i jako parametry X[stała wartość+cos(t)] Y[stała wartość+sin(t)] I[stala wartość] J[stała wartość] i jakaś pętla do tego? Tylko czy pętle w jakiś sposób da się zrobić? No i czy nie błądzę? Jeśli napisałem głupoty to nakierujcie proszę.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 5562
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
jeśli chodzi o powtórzenie prog. to sterowniki czytają funkcje REP ale to zależy od sterownika bo różnie to może wyglądać ...np. coś jak podprogram - pisząc program w pewnym miejscu oznaczasz go jakąś funkcją która otwiera początek podprogramu piszesz twoje parametry i zakańczasz go funkcją oznaczającą koniec podprogramu + REP8 i w tym momencie będzie powtarzać ten fragment 8 razy ... lub inne sterowanie wymaga podania od którego nr bloku do którego ma powtórzyć w machu nie wiem jak to jest realizowane
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 2
- Posty: 678
- Rejestracja: 26 gru 2010, 18:38
- Lokalizacja: Południe
- Kontakt:
Jak to ma być na studia to się nie wygłupiaj z interpolacją kołową bo dostaniesz tam okręgi foremne które nie mają nic wspólnego z zacieśniającą się spiralą poza tym że ja np często używam czegoś takiego jako owalne wybieranie materiału jak piszę z palca z głowy - no ale to prędzej ja sprawdzam maszynę czy jeździ tak jak ja chce niż mnie jakiś prowadzący sprawdza... to były czasy... błąd kosztował kiepski stopień a nie kilka stów za freza albo zepsuty materiał
Zadanie nie jest trudne:
-Narysujesz taką spiralę ze skończoną dokładnością z bardzo małych prostych odcinków.
-Parametrem podstawowym będzie kąt wektora wodzącego.
-Parametrami otrzymywanymi z funkcji będą wartości X i Y końca prostej
-Dla początku czyli kąta zero długość wektora jest zero.
-Dla kolejnego kąta (0 + krok) obliczasz długość wektora czyli [przyrost spirali na obrót] x [krok/360]
-Mając długość wektora oraz kąt obliczasz z funkcji trygonometrycznej współrzędne XY
-Otrzymałeś pierwszy odcinek.
-Zwiekszasz kąt o krok i wykonujesz ponownie
-Po wykonaniu tylu powtórzeń aby otrzymać 360 stopni masz pierwszy "zawijas" slimaka.
Potem zerujesz wszystko i zaczynasz od nowa z tą różnicą że do długości wektora dodajesz stałą wynoszącą tą odległość przyrostu na obrót.. potem dwie stałe itd w zależności ile chcesz otrzymać.
Takie zadanie hmmm jak z technikum i wybacz za złośliwość... odrobinę wiary w siebie i błyskotliwości i PRACY
Wg powyższego opisu myślę że ogarnięty uczeń podstawówki jest to w stanie napisać wiec siadaj i kombinuj.
Potem pomyśl jak przeliczać to wszytko na zmiennych i zobaczysz z czym jest w stanie poradzić sobie oprogramowanie maszyny. Będziesz tak zwiększał ilość kroków że wielkością odcinka przekroczysz rozdzielczość maszyny i dostaniesz łuki takie jak maszyna jest w stanie wykonać fizycznie najdokładniejsze. Pamiętaj że dokładność będzie maleć z każdym kolejnym krokiem.
Pozdrawiam
FDSA
Zadanie nie jest trudne:
-Narysujesz taką spiralę ze skończoną dokładnością z bardzo małych prostych odcinków.
-Parametrem podstawowym będzie kąt wektora wodzącego.
-Parametrami otrzymywanymi z funkcji będą wartości X i Y końca prostej
-Dla początku czyli kąta zero długość wektora jest zero.
-Dla kolejnego kąta (0 + krok) obliczasz długość wektora czyli [przyrost spirali na obrót] x [krok/360]
-Mając długość wektora oraz kąt obliczasz z funkcji trygonometrycznej współrzędne XY
-Otrzymałeś pierwszy odcinek.
-Zwiekszasz kąt o krok i wykonujesz ponownie
-Po wykonaniu tylu powtórzeń aby otrzymać 360 stopni masz pierwszy "zawijas" slimaka.
Potem zerujesz wszystko i zaczynasz od nowa z tą różnicą że do długości wektora dodajesz stałą wynoszącą tą odległość przyrostu na obrót.. potem dwie stałe itd w zależności ile chcesz otrzymać.
Takie zadanie hmmm jak z technikum i wybacz za złośliwość... odrobinę wiary w siebie i błyskotliwości i PRACY
Wg powyższego opisu myślę że ogarnięty uczeń podstawówki jest to w stanie napisać wiec siadaj i kombinuj.
Potem pomyśl jak przeliczać to wszytko na zmiennych i zobaczysz z czym jest w stanie poradzić sobie oprogramowanie maszyny. Będziesz tak zwiększał ilość kroków że wielkością odcinka przekroczysz rozdzielczość maszyny i dostaniesz łuki takie jak maszyna jest w stanie wykonać fizycznie najdokładniejsze. Pamiętaj że dokładność będzie maleć z każdym kolejnym krokiem.
Pozdrawiam
FDSA
-
- Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 4697
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Co do tej pory miałeś z tego zakresu, że ktoś zadał ci takie "trudne" zadanie? Pytam z ciekawości bo uczę i interesuje mnie skąd się bierze takie "nic nie rozumiem". Może potrafisz wyobrazić sobie tą spiralę z krótkich odcinków? Każdy odcinek ma początek i koniec. Spróbuj na początek policzyć sobie w arkuszu kalkulacyjnym, ważniejsze jest rozumieć i zrobić jakiś pierwszy krok - z punktu matematycznego. Z matematyki przejść do rysowania kreseczki po kreseczce G-kodami. Potem gdy spojrzysz na podany wyżej przykład może zauważysz podobieństwa i "załapiesz", "zrozumiesz" i "zastosujesz" (- to jest taka zasada 3Z dla gigantów).maly17 pisze:Zadanie chyba nie powinno być zbyt trudne skoro przewidziane jest dla studenta laika.
artystycznie wykonana spirala
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 1
- Posty: 512
- Rejestracja: 17 sty 2009, 00:46
- Lokalizacja: Mielec
Nie wiem o co ta cała gadanina, nie chce mi się przekopywać. Ale w Corel Draw jest (chyba) funkcja ślimaka. I później z tego plik dxf, plt lub inny. I Mach to łyknie przez LazyCAMa i masz G-koda. Ta spirala musi być bardzo precyzyjna ? Nad Corel Draw przedkładam Adobe Illustratora, ma większą i lepszą edycję grafiki wektorowej.