
Suby ngcgui
-
- Lider FORUM (min. 2000)
- Posty w temacie: 112
- Posty: 16285
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: Suby ngcgui
Mam coś takiego ale bez gwarancji bo nieużywany u mnie

Kod: Zaznacz cały
( ---------------------------------- )
( P R O S T O K A T )
( ---------------------------------- )
( Kamar )
( Time-stamp: <2017-10-18 09:48> )
( ---------------------------------- )
(info: Wycinanie konturu prostokątnego)
o<prostokat> sub
#<obr> = #1 (=1500 obroty)
#<frez> = #2 (=6 frez)
#<rozmiarX> = #3 (=100 wymiar X)
#<rozmiarY> = #4 (=100 wymiar Y)
#<glebokosc> = #5 (=-2 głębokość)
#<akt_glebokosc> = #6 (=0 głębokość startowa)
#<skok> = #7 (=2 dobieranie)
#<strona> = #8 (=0 <> wewnętrzny)
#<zero> = #9 (=1 pozycja zera [1-4])
#<pozycja_x> = #10 (=0 X początkowy)
#<pozycja_y> = #11 (=0 Y początkowy)
#<predkosc_bok> = #12 (=80 prędkość bok)
#<predkosc_dol> = #13 (=30 prędkość dół)
#<woda> = #14 (=1 <> woda)
#<w_z> = #15 (wyjazd Z)
#<w_x> = #16 (wyjazd X)
#<w_y> = #17 (wyjazd Y)
(#<polowa> = 1)
#<startXst0> = 0
#<startYst0> = 0
#<startXst1> = 0
#<startYst1> = 0
#<bokA> = 0
#<bokB> = 0
#<bokC> = 0
#<bokD> = 0
o80 if [#<zero> eq 1]
#<startXst0> = [#<pozycja_x>-[#<frez>/2]]
#<startYst0> = [#<pozycja_y>-[#<frez>/2]]
#<startXst1> = [#<pozycja_x>+[#<frez>/2]]
#<startYst1> = [#<pozycja_y>+[#<frez>/2]]
#<bokA> = [#<rozmiarX> + #<frez>]
#<bokB> = [#<rozmiarY> + #<frez>]
#<bokC> = [#<rozmiarX> - #<frez>]
#<bokD> = [#<rozmiarY> - #<frez>]
o80 endif
o81 if [#<zero> eq 2]
#<startXst0> = [#<pozycja_x>+[#<frez>/2]]
#<startYst0> = [#<pozycja_y>-[#<frez>/2]]
#<startXst1> = [#<pozycja_x>-[#<frez>/2]]
#<startYst1> = [#<pozycja_y>+[#<frez>/2]]
#<bokA> = [#<rozmiarX> + #<frez>]
#<bokB> = [#<rozmiarY> + #<frez>]
#<bokC> = [#<rozmiarX> - #<frez>]
#<bokD> = [#<rozmiarY> - #<frez>]
o81 endif
o82 if [#<zero> eq 3]
#<startXst0> = [#<pozycja_x>+[#<frez>/2]]
#<startYst0> = [#<pozycja_y>+[#<frez>/2]]
#<startXst1> = [[#<pozycja_x>+[#<frez>/2]]+#<rozmiarX>]
#<startYst1> = [#<pozycja_y>+[#<frez>/2]]
#<bokA> = [#<rozmiarX> + #<frez>]
#<bokB> = [#<rozmiarY> + #<frez>]
#<bokC> = [#<rozmiarX> - #<frez>]
#<bokD> = [#<rozmiarY> - #<frez>]
o82 endif
o83 if [#<zero> eq 4]
#<startXst0> = [#<pozycja_x>-[#<frez>/2]]
#<startYst0> = [#<pozycja_y>+[#<frez>/2]]
#<startXst1> = [[#<pozycja_x>+[#<frez>/2]]+#<rozmiarX>]
#<startYst1> = [#<pozycja_y>+[#<frez>/2]]
#<bokA> = [#<rozmiarX> + #<frez>]
#<bokB> = [#<rozmiarY> + #<frez>]
#<bokC> = [#<rozmiarX> - #<frez>]
#<bokD> = [#<rozmiarY> - #<frez>]
o83 endif
(zewnetrzny)
o100 if [#<strona> eq 0]
( ------------------------------ )
( #<rozmiarX> = [#<rozmiarX> + #<frez>])
( #<rozmiarY> = [#<rozmiarY> + #<frez>])
( ------------------------------ )
g61
m3 s1
o1 if [#<woda> eq 1]
m8
o1 endif
G0 Z5
g0 X[#<startXst0>] Y[#<startYst0>]
G92 X0 Y0
G0 Z2
#<akt_glebokosc> = 0
o101 while [#<akt_glebokosc> gt #<glebokosc>]
#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>]
o110 if [#<akt_glebokosc> lt #<glebokosc>]
#<akt_glebokosc> = #<glebokosc>
o110 endif
g1 z#<akt_glebokosc> f#<predkosc_dol>
o120 if [#<zero> eq 1]
g1 x#<bokA> f#<predkosc_bok>
g1 y#<bokB>
g1 x0
g1 y0
o120 endif
o121 if [#<zero> eq 2]
g1 Y#<bokB> f#<predkosc_bok>
g1 X[#<bokA> * -1]
g1 Y0
g1 X0
o121 endif
o122 if [#<zero> eq 3]
g1 X[#<bokA> * -1] f#<predkosc_bok>
g1 Y[#<bokB> * -1]
g1 X0
g1 Y0
o122 endif
o123 if [#<zero> eq 4]
g1 Y[#<bokB> * -1] f#<predkosc_bok>
g1 X#<bokA>
g1 Y0
g1 X0
o123 endif
o101 endwhile
g0 z5
G92 X[#<startXst0>] Y[#<startYst0>]
o100 else
(wewnetrzny)
( ------------------------------ )
#<rozmiarX> = [#<rozmiarX> - #<frez>]
#<rozmiarY> = [#<rozmiarY> - #<frez>]
( ------------------------------ )
g61
m3 s1 m8
G0 Z5
g0 X[#<startXst1>] Y[#<startYst1>]
G92 X0 Y0
G0 Z2
#<akt_glebokosc> = 0
o201 while [#<akt_glebokosc> gt #<glebokosc>]
#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>]
o210 if [#<akt_glebokosc> lt #<glebokosc>]
#<akt_glebokosc> = #<glebokosc>
o210 endif
g1 z#<akt_glebokosc> f#<predkosc_dol>
o220 if [#<zero> eq 1]
g1 x#<bokC> f#<predkosc_bok>
g1 y#<bokD>
g1 x0
g1 y0
o220 endif
o221 if [#<zero> eq 2]
g1 Y#<bokC> f#<predkosc_bok>
g1 X[#<bokD> * -1]
g1 Y0
g1 X0
o221 endif
o222 if [#<zero> eq 3]
g1 X[#<bokC> * -1] f#<predkosc_bok>
g1 Y[#<bokD> * -1]
g1 X0
g1 Y0
o222 endif
o223 if [#<zero> eq 4]
g1 Y[#<bokC> * -1] f#<predkosc_bok>
g1 X#<bokD>
g1 Y0
g1 X0
o223 endif
( g1 z#<akt_glebokosc> f#<predkosc_dol> )
( g1 y#<rozmiarY> f#<predkosc_bok> )
( g1 x#<rozmiarX> )
( g1 y0 )
( g1 x0 )
o201 endwhile
g0 z5
G92 X[#<startXst1>] Y[#<startYst1>]
o100 endif
o80 endif
g0 z#<w_z>
g0 x#<w_x>
g0 y#<w_y>
o<prostokat> endsub
-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 101
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Suby ngcgui
Będę dzisiaj wycinał otwory pod wyłączniki w plastikach obudowy do sterowania to go przetestuję. Strat nie narobię żadnych w razie "W", ale musi być dobrze. Dzięki. Napisze po wycinaniu jak idzie.
Dodane 1 godzina 10 minuty 38 sekundy:
Na symulatorze jest generalnie OK. Tylko rysuje wymiary X i Y odwrotnie. Zamieniłem literki w tabelkach jak niżej i jest OK. Znaczenia chyba żadnego to nie ma na pracę a robotę robi OK
.
Dodane 1 godzina 10 minuty 38 sekundy:
Na symulatorze jest generalnie OK. Tylko rysuje wymiary X i Y odwrotnie. Zamieniłem literki w tabelkach jak niżej i jest OK. Znaczenia chyba żadnego to nie ma na pracę a robotę robi OK

Kod: Zaznacz cały
#<rozmiarX> = #3 (=100 wymiar Y)
#<rozmiarY> = #4 (=50 wymiar X)
-
- Lider FORUM (min. 2000)
- Posty w temacie: 112
- Posty: 16285
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: Suby ngcgui
Dla potrzebujących trochę inny subik frezowania po obwodzie.
I subik w akcji 
Kod: Zaznacz cały
( ------------------------------ )
( FREZOWANIE PO OBWODZIE )
( ------------------------------ )
( Kamar )
( Time-stamp: <2019-09-24 10:22> )
( ------------------------------ )
o<frezowanie_po_obwodzie_a_cykl> sub
#<kat_poczatkowy> = #1 (=45 kąt początkowy)
#<kat_koncowy> = #2 (=90 kąt końcowy)
#<liczba_operacji> = #3 (=1 liczba operacji)
#<odstep> = #4 (=30 odstęp między operacjami)
#<x_poczatkowy> = #5 (=0 X początkowy)
#<x_koncowy> = #6 (=-10 X końcowy)
#<skok> = #7 (=2 skok A)
#<z_poczatkowy> = #8 (=0 Z początkowy)
#<z_koncowy> = #9 (=-0.5 Z końcowy)
#<skok_z> = #10 (=0.1 skok Z)
#<predkosc> = #11 (=200 prędkość)
#<woda> = #12 (=0 <> chłodzenie)
m3 s1
o1 if [#<woda> eq 1]
m8
o1 endif
g0 z[#<z_poczatkowy> + 1]
g0 a#<kat_poczatkowy>
g0 x#<x_poczatkowy> y0
g1 z#<z_poczatkowy> f#<predkosc>
#<akt_z> = #<z_poczatkowy>
#<akt_operacja> = 0
o1000 while [#<akt_operacja> LT #<liczba_operacji>]
o100 while [#<akt_z> gt #<z_koncowy>]
#<akt_z> = [#<akt_z> - #<skok_z>]
o110 if [#<akt_z> lt #<z_koncowy>]
#<akt_z> = #<z_koncowy>
o110 endif
#<akt_x> = #<x_poczatkowy>
#<akt_a> = [#<kat_poczatkowy> - #<skok>]
o200 while [#<akt_a> lt #<kat_koncowy>]
#<akt_a> = [#<akt_a> + #<skok>]
o210 if [#<akt_a> gt #<kat_koncowy>]
#<akt_a> = #<kat_koncowy>
o210 endif
g0 a#<akt_a>
g1 z#<akt_z> f#<predkosc>
g1 x#<x_koncowy>
#<akt_a> = [#<akt_a> + #<skok>]
o220 if [#<akt_a> gt #<kat_koncowy>]
#<akt_a> = #<kat_koncowy>
o220 endif
g0 a[#<akt_a>]
g1 x#<x_poczatkowy> f#<predkosc>
o200 endwhile
g0 z[#<z_poczatkowy> + 1]
(g0 a#<kat_poczatkowy>)
o100 endwhile
#<akt_operacja> = [#<akt_operacja> + 1]
#<kat_poczatkowy> = [#<kat_poczatkowy> + #<odstep>]
#<kat_koncowy> = [#<kat_koncowy> + #<odstep>]
g0 a#<kat_poczatkowy>
g0 x#<x_poczatkowy> y0
g0 z[#<z_poczatkowy> + 1]
g1 z#<z_poczatkowy> f#<predkosc>
#<akt_z> = #<z_poczatkowy>
o1000 endwhile
o<frezowanie_po_obwodzie_a_cykl> endsub

-
- Lider FORUM (min. 2000)
- Posty w temacie: 112
- Posty: 16285
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: Suby ngcgui
Świeżutki subik na kanał smarujący panewki.
Przelotowy da się zrobić gwintem na tokarce ale ze ślepym jest kłopot.
Przelotowy da się zrobić gwintem na tokarce ale ze ślepym jest kłopot.


Kod: Zaznacz cały
( ------------------------------ )
( Kanał spiralny )
( ------------------------------ )
( Kamar )
( Time-stamp: <2019-11-21 13:54> )
( ------------------------------ )
( USTAWIENIA )
( ------------------------------ )
(info: Spiralny kanal smarujący)
o<kanal_spirala> sub
#<obr> = #1 (=1500 obroty)
#<frez> = #2 (=8 frez)
#<sr_otworu> = #3 (=20 średnica otworu)
#<gl_kanalu> = #4 (=2 głębokość kanału)
#<dobieranie> = #5 (=1 dobieranie)
#<glebokosc_pocz> = #6 (=-2 głębokość początkowa)
#<glebokosc_koncowa> = #7 (=-60 głębokość końcowa)
#<predkosc> = #8 (=60 prędkość)
#<liczba_zwojow> = #9 (=2 liczba zwojów)
#<woda> = #10 (=1 <> chlodzenie)
#<w_z> = #11 (wyjazd Z)
#<w_x> = #12 (wyjazd X)
#<w_y> = #13 (wyjazd Y)
( ------------------------------ )
( ------------------------------ )
#<skok> = ABS[#<skok>]
#<promien_freza> = [#<frez> / 2] ( promien freza )
#<promien_otworu> = [#<sr_otworu> / 2] ( promien otworu )
#<promien> = [#<promien_otworu> - #<promien_freza>] ( dojazd )
#<gl_kanalu> = ABS[#<gl_kanalu>]
g0 z5
g0 x0 y0
m3 s#<obr>
o1 if [#<woda> eq 1]
m8
o1 endif
#1 = 0
g0 Z#<glebokosc_pocz> F#<predkosc>
G0 X[-1 * [#<promien> -1]] F#<predkosc>
#<akt_glebokosc> = 0
o100 while [#<akt_glebokosc> LT #<gl_kanalu>]
#<akt_glebokosc> = [#<akt_glebokosc> + #<dobieranie>]
o110 if[#<akt_glebokosc> GT #<gl_kanalu>]
#<akt_glebokosc> = #<gl_kanalu>
o110 endif
G1 X[[-1 * #<promien>] - #<akt_glebokosc>] F#<predkosc>
G2 X[[-1 * #<promien>] - #<akt_glebokosc>] I[#<promien> + #<akt_glebokosc>] J0 Z#<glebokosc_koncowa> P#<liczba_zwojow>
g0 X[-1 * [#<promien> - 1]]
g0 Z#<glebokosc_pocz>
o100 endwhile
m5
g0 x#<w_x> y#<w_y>
g0 z#<w_z>
o<kanal_spirala> endsub
-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 101
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Suby ngcgui
Prawie można by sobie obliczyć i tym gwintować. Ale nie wszystko się da. Nie przyjmuje ułamków. Np. 9 mm gwintu fi 30 o skoku 1.25. Trzeba by zrobić od 0 do -9 i wychodzi 7.2 zwojów. Krzyczy wartość P nie jest całkowita
. Ale i tak plusik leci
. Może kiedyś taki gwint powstanie. A przydał by się czasami.


-
- Lider FORUM (min. 2000)
- Posty w temacie: 112
- Posty: 16285
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: Suby ngcgui
Cudów ni ma
Nie da się zrobić gwintu nawet na tokarce jak nie masz wolnego wjazdu. Tylko po co Ci ślepy gwint 


-
Autor tematu - ELITA FORUM (min. 1000)
- Posty w temacie: 101
- Posty: 1473
- Rejestracja: 25 maja 2006, 14:39
- Lokalizacja: koło.wlkp
Re: Suby ngcgui
Znaczy inaczej. Da się tym subem teoretycznie gwintować. Tylko trzeba tak obliczyć żeby wyszło na liczby całkowite. I np . ten gwint da się zrobić na 9 mm głęboko tylko trzeba zaczynać od +1 do -9. Wtedy 10/1.25 wyjdzie 8 zwojów i na 9 mm wyjda prawidłowe. To samo z innymi tylko w powietrzu trzeba zaczynać jak nie pasuje do liczb całkowitych. Cudaków nie zrobi typu 1.35 czy inne bzdury, ale to pomijalne. Podstawowe rzeczy ogarnie ten subik i w gwintowaniu na upartego.
No jest np. tuleja z denkiem i trzeba nagwintować. Czysto teoretycznie


Edit.
Da się wszystko nawet zwariowane robić. Tylko trzeba przeliczyć i dać zetkę odpowiednio w górze na plusie
