Suby ngcgui

Dyskusje dotyczące działania obsługi programu LinuxCNC

IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#201

Post napisał: IMPULS3 » 27 lip 2021, 22:44

gluk pisze:bo nie do końca dobrze jest przemyślana pętla

Bo to zapożyczona z innych zastosowań. :)
gluk pisze:dodanie jednego if-a w pętli powinno rozwiązać sprawę.

I faktycznie rozwiązało. Dzieki. :)

A jakby ktoś jeszcze wiedział co dopisać aby się to mogło obrócić o dany kąt to można by wtedy mieć uniwersalnego suba na wszelkie regulacje kątowe. :)

Dodane 12 minuty 40 sekundy:
Kod to g68 ale jakiś Linux nie za bardzo chce współpracować.



Tagi:

Awatar użytkownika

gluk
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 3
Posty: 73
Rejestracja: 31 paź 2020, 10:59
Lokalizacja: Polska
Kontakt:

Re: Suby ngcgui

#202

Post napisał: gluk » 28 lip 2021, 00:20

IMPULS3 pisze: Ajakby ktoś jeszcze wiedział co dopisać aby się to mogło obrócić o dany kąt to można by wtedy mieć uniwersalnego suba na wszelkie regulacje kątowe

mówisz, masz. Poniżej przeróbka suba z dodanym kątem. Kąt w stopniach, 0° jak w dotychczasowym subie w osi X, kąt dodatni przeciwnie do wskazówek zegara (czyli 90° w kierunku Y):

o<polkula> sub

#<zero>= #1 (=0 zero)
#<promien> = #2 (=30 promien)
#<posuw roboczy> = #3 (=150 posuw roboczy)
#<srednica freza> = #4 (=8 srednica freza)
#<glebokosc>=#5 (=12 glebokosc)
#<przybranie>=#6 (=3 przybranie)
#<posuw dol>=#7 (=200 posuw dol)
#<alfa>=#8 (=0 kat w stopniach)

g80 g61

#<r> = [#<promien>+ #<srednica freza>/2]
#<s_x> = [ #<r> * COS[#<alfa>-180] ]
#<s_y> = [ #<r> * SIN[#<alfa>-180] ]
#<temp_x1> =[ #<s_x>+#<r> * COS[#<alfa>+90] ]
#<temp_y1> =[ #<s_y>+#<r> * SIN[#<alfa>+90] ]
#<temp_x2> =[ #<s_x>+#<r> * COS[#<alfa>+270] ]
#<temp_y2> =[ #<s_y>+#<r> * SIN[#<alfa>+270] ]

G0 z3
x#<temp_x1> y#<temp_y1>
#1=0
g0 z3
o10 while [#1 gt -#5]
#1=[#1- #6]
o11 if [#1 lt -#5]
#1=-#5
o11 endif
g1 z#1 f#7
g17
x#<temp_x1> y#<temp_y1>
g2f#3 y0 x0 r#<r>
y#<temp_y2> x#<temp_x2> r#<r>
g0 z3
y#<temp_y1> x#<temp_x1>


o10 endwhile
g0 z12
o<polkula> endsub


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#203

Post napisał: IMPULS3 » 28 lip 2021, 07:57

gluk pisze:mówisz, masz. Poniżej przeróbka suba z dodanym kątem.

Widzę ze zaszły całkowite zmiany. :) Ale to dobrze, byc może komuś też sie przyda. Dzięki. :)

Awatar użytkownika

gluk
Stały bywalec (min. 70)
Stały bywalec (min. 70)
Posty w temacie: 3
Posty: 73
Rejestracja: 31 paź 2020, 10:59
Lokalizacja: Polska
Kontakt:

Re: Suby ngcgui

#204

Post napisał: gluk » 28 lip 2021, 22:18

IMPULS3 pisze:można by wtedy mieć uniwersalnego suba na wszelkie regulacje kątowe. :)

Kod to g68 ale jakiś Linux nie za bardzo chce współpracować.


faktycznie wygląda że G68 nie zaimplementowano w LinuxCNC, jedyna możliwość uniwersalnego obrotu w osi Z to G10 L2 . Z ciekawości zrobiłem takiego suba z obrotem (powinien się nadawać jako uniwersalny szablon :) ), jedyna wada jaką na razie widzę, to że w przypadku awaryjnego przerwania suba układ pozostanie obrócony.

Kod: Zaznacz cały

o<szablon_alfa> sub

(szablon testujacy obrot aktualnego ukladu G5x o zadany kat)

#<alfa>        = #1 (=0 kat obrotu w stopniach )

(___przykladowe zmienne___)
#<posuw_z>     = #2 (=200 posuw w osi Z )
#<posuw>       = #3 (=300 posuw w osach X Y )
#<glebokosc>   = #4 (=-2 współrzędna Z )
#<s>           = #5 (=1 skala )
(___koniec przykladowych zmiennych___)

#<akt_uklad>        = #5220
#<obrot_akt_ukladu> = #[5210 + 20 * #<akt_uklad> ]

G10 L2 P0 R#<alfa> (ustawienie obrotu aktualnego układu G5x)

(___przykładowe komendy do obrotu___)
G0 Z5.000
G0 X0.000 Y0.000
G1 Z#<glebokosc> F#<posuw_z>
G5 I[6.825*#<s>] J[-0.590*#<s>] P[-7.017*#<s>] Q[0.00*#<s>] X[18.80*#<s>] Y[-8.500*#<s>] F#<posuw>
G5 I[-5.417*#<s>] J[2.467*#<s>] P[1.883*#<s>] Q[-3.783*#<s>] X[8.00*#<s>] Y[1.60*#<s>] F#<posuw>
G5 I[6.883*#<s>] J[-1.933*#<s>] P[-14.076*#<s>] Q[0.00*#<s>] X[32.40*#<s>] Y[-2.50*#<s>] F#<posuw>
G5 I[6.595*#<s>] J[0.00*#<s>] P[-5.415*#<s>] Q[-3.838*#<s>] X[50.00*#<s>] Y[3.300*#<s>] F#<posuw>
G5 I[0.00*#<s>] J[-12.180*#<s>] P[14.100*#<s>] Q[0.00*#<s>] X[26.500*#<s>] Y[-17.000*#<s>] F#<posuw>
G5 I[-10.560*#<s>] J[0.000*#<s>] P[7.873*#<s>] Q[-9.099*#<s>] X[0.000*#<s>] Y[0.000*#<s>] F#<posuw>
G1 Z0.000 F#<posuw_z>
G0 Z5.000
(___koniec przykładowych komend do obrotu___)

G10 L2 P0 R#<obrot_akt_ukladu> (przywracanie obrotu aktualnego układu G5x )

o<szablon_alfa> endsub


Obrazek


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#205

Post napisał: IMPULS3 » 30 lip 2021, 21:05

gluk pisze: zrobiłem takiego suba z obrotem (powinien się nadawać jako uniwersalny szablon

Przetestowałem i fajna zabawka. Można szybko napisać np. jakiś kwadracik 20x20 i obrócić go co upraszcza opis takiego kwadraciku. Zwłaszcza fajne jest to skalowanie które mozna wykorzystać dla gotowego kształtu choćby w wycinaniu ozdób czy odciażeń w jakimś kształtowniku/blasze. Nie wiem jeszcze gdzie to wykorzystam w praktyce ale na pewno wykorzystam.Jest potencjał. :) Dzięki.


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#206

Post napisał: IMPULS3 » 20 wrz 2021, 09:13

Tokarka.
Kolejny prosty pomocnik bo brakowalo mi czasami w gotowych subach aby zrobiły mi promień na końcu zatoczenia tak aby wał mial wiekszą wytrzymałość a nie miał karbu po nożu. Więc ulepilem sobie takie coś.

Kod: Zaznacz cały

o<toczenie_z_promieniem> sub

#<srednica walka> = #1 (=60 srednica walka)
#<srednica toczenia> = #2 (=30 srednica toczenia)
#<dlugosc toczenia> = #3 (=70 dlugosc toczenia)
#<promien wew> = #4 (=1 promien wew)
#<posuw> = #5 (=120 posuw)
#<korekta stozka> = #6 (=0 korekta stozka)
#<promien na poczatku> = #7 (=0 promien na poczatku)
#<promien na koncu> = #8 (=0 promien na koncu) 

g18 g61
g0 x#1
z1
g0 x[#2+#4*2]
g1f#5 z1
x#2 z0
z-[#3-#4+0.01] x[#2+#6]
g2 z-#3 x[#2+#6+#4*2+0.01] r[#4+0.01]
g1 x[#1-#8*2+0.01]
g3 x#1 z-[#3+#8+0.01] r[#8+0.01]
g0 z1 
x#2
g1 z0
x[#2-#7*2+0.01]
g3 z-[#7+0.01] x#2 r[#7+0.01]
g0 x[#2+10]
z1

o<toczenie_z_promieniem> endsub


Awatar użytkownika

Autor tematu
senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 98
Posty: 1459
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: Suby ngcgui

#207

Post napisał: senio » 20 wrz 2021, 09:53

@IMPULS3

Kiedyś dawno temu Miki popełnił takiego suba o nazwie czop. Działa dobrze, uzywam go cały czas, i ma fazki w promieniach.

ngcgui-podstawowe-procedury-ciut-bardzi ... 40561.html


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#208

Post napisał: IMPULS3 » 20 wrz 2021, 10:04

Wiem, mam te wszystkie suby ale tu chodziło mi o ten promień który jest robiony na połączeniu dwu średnic. (4 tabelka w moim subie). A tego nie ma żaden sub z tych na forum prezentowanych. Więc aby nie pisac tego ciagle z reki to mam teraz gotowca. :)


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 112
Posty: 16236
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: Suby ngcgui

#209

Post napisał: kamar » 20 wrz 2021, 16:26

IMPULS3 pisze:
20 wrz 2021, 10:04
tu chodziło mi o ten promień który jest robiony na połączeniu dwu średnic.
Bo te przejścia robi się kulką :)


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 33
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

Re: Suby ngcgui

#210

Post napisał: IMPULS3 » 20 wrz 2021, 16:56

kamar pisze:Bo te przejścia robi się kulką

Można, ale mój patent jest wygodniejszy-przynajmniej dla mnie. :)

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”