Suby ngcgui

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

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

Re: Suby ngcgui

#121

Post napisał: kamar » 24 sty 2019, 13:07

IMPULS3 pisze:
23 sty 2019, 20:01
A ja zawsze opisywalem ręcznie takie wielokliny.
Można tak, można i tak - maść na szczury :)
A oto efekt:

Obrazek



Tagi:


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

Re: Suby ngcgui

#122

Post napisał: kamar » 26 sty 2019, 16:48

Szykuje mi się znowu akcja ostrzenia frezów to uprościłem trochę te suby.
Niestety, trzeba wgrywać aż trzy coby była szansa na zachowanie ustawień
Z grubsza sprawdzone ale brak jeszcze podcięć na dwupiórowych.

Kod: Zaznacz cały

o<piorko> sub

(     Ustawienia osi )
( Z0   ------  oś tarczy w osi ostrzonego freza )
( X0   ------  z0 i kontakt na czole ostrzonego freza )
( Y0   ------  czolo tarczy w osi ostrzonego freza )
( A0   ------  piórka poziomo )
( głowica osi A przesunięta o 3 stopnie względem X)


#<skok> = #1 (=8 średnica freza)
#<liczba_operacji> = #2 (=4 ilość piórek)
#<predkosc> = #3 (=10 prędkość )
#<zpocz> = #4 (=-12 poz. Z)
#<xpocz> = #5 (=-1.5 poz X)



#<ypocz> = [#<skok>/2 +0.5]
#<operacja> = 0
g0 z#<zpocz>
m3 s1
g0 
 y#<ypocz>
x#<xpocz>
o100 while [#<operacja> lt #<liczba_operacji>]
  g0 a[#<operacja> * 360/#<liczba_operacji>]
	g1 y0 f#<predkosc>
g0 y#<ypocz>
  #<operacja> = [#<operacja> + 1]
o100 endwhile

o<piorko> endsub 

Kod: Zaznacz cały

o<wybranie> sub


#<skok> = #1 (=8 średnica freza)
#<liczba_operacji> = #2 (=4 ilość piórek)
#<predkosc> = #3 (=10 prędkość )
#<zpocz> = #4 (=-12 poz. Z)
#<xpocz> = #5 (=-1.5 poz X)



#<ypocz> = [#<skok>/2 +0.5]
#<operacja> = 0

m3 s1

g0 z#<zpocz> y#<ypocz>
g0 x#<xpocz>

o100 while [#<operacja> lt #<liczba_operacji>]
  g0 a[#<operacja> * 360/#<liczba_operacji>]
	g1 y0 f#<predkosc>
    
g0 y#<ypocz>
  #<operacja> = [#<operacja> + 1]
o100 endwhile

o<wybranie> endsub 

Kod: Zaznacz cały

o<podciecie4> sub

#<skok> = #1 (=8 średnica freza)
#<liczba_operacji> = #2 (=4 ilość piórek)
#<predkosc> = #3 (=10 prędkość )
#<zpocz> = #4 (=-12 poz. Z)
#<xpocz> = #5 (=-1.5 poz X)
#<x1> =#6  (=0.3 podcięcie płytkie )
#<x2> =#7  (=0.7 podcięcie głębokie )
#<w_z> = #8 (=0 wyjazd Z)
#<w_x> = #9 (=5 wyjazd X)
#<w_y> = #10 (=0 wyjazd Y)



#<ypocz> = [#<skok>/2 +0.5]
#<operacja> = 0

m3 s1

g0 z#<zpocz> y#<ypocz>
g0 x#<xpocz>

o100 while [#<operacja> lt #<liczba_operacji>]
  g0 a[#<operacja> * 360/#<liczba_operacji>]
     y0
	o120 if[#<operacja> MOD 2 eq 0]
    g0  x#<xpocz>
	g1 x[#<xpocz>-#<x1>] f#<predkosc>
    g0  x[#<xpocz> +5]
	o120 else 
    g0  x#<xpocz>
	g1 x[#<xpocz>-#<x2>] f#<predkosc>
    G0  x[#<xpocz> +5 ]
	o120 endif
g0 y0
  #<operacja> = [#<operacja> + 1]
o100 endwhile

o<podciecie4> endsub 


szary11
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 9
Posty: 377
Rejestracja: 16 lut 2011, 22:44
Lokalizacja: Tarnogród

Re: Suby ngcgui

#123

Post napisał: szary11 » 23 lut 2019, 13:19

Dorobiłem sobie dodatek do subów we frezarce na Vc i fz, u mnie działa.
Linie z biegami można wyrzucić lub dostosować do swoich potrzeb. (oczywiście falownik u mnie jest)
M100 wyrzuca u mnie duże komentarze na środek ekranu.

Kod: Zaznacz cały

(-----NOWY KOD POCZATEK-----)
#<stala_pr_skrawania> = #19 (=1 <> stała pr. skrawania)
#<pr_skrawania> = #20 (=40 predkosc skrawania [m/min])
#<sr_narzedzia> = #21 (=10 średnica nadzędzia [mm])

#<stale_dobranie> = #22 (=1 <> stałe dobranie)
#<dobranie_zab> = #23 (=0.04 dobranie/ząb [mm])
#<liczba_zebow> = #24 (=4 liczba zębów)

#<bieg1> = #25 (=0 <> bieg: 150 Sr,Cz,Cz)
#<bieg2> = #26 (=0 <> bieg: 480 Zi,Ni,Ni)
#<bieg3> = #27 (=0 <> bieg: 1200 Zi,Cz,Cz)
#<bieg4> = #28 (=1 <> bieg: 3000 Zi,Żó,Żó)


( ------------------------------ )


o2 if [#<stala_pr_skrawania> eq 1]
	#<Pi> = 3.141593
	#<obwod_mm> = [2*#<Pi>*#<sr_narzedzia>/2]
	#<obwod_m> = [#<obwod_mm> / 1000]
	#<obr> = [#<pr_skrawania> / #<obwod_m>]
o2 endif

o3 if [#<stale_dobranie> eq 1] 
	#<dobranie_obrot_mm> = [#<liczba_zebow> * #<dobranie_zab>]
	#<predkosc_bok> = [#<dobranie_obrot_mm> * #<obr>]
o3 endif

o4 if [[#<bieg1> + #<bieg2> + #<bieg3> + #<bieg4>] gt 1]
	M100 P1   (Message) 
o4 elseif [#<bieg4> eq 1]
	#<obr> = #<obr> 
o4 elseif [#<bieg3> eq 1]	
	#<obr> = [#<obr> * 2.5]
o4 elseif [#<bieg2> eq 1]	
	#<obr> = [#<obr> * 6.25]
o4 elseif [#<bieg1> eq 1]		
	#<obr> = [#<obr> * 20]	
o4 else
	M100 P3
o4 endif

o5 if [#<obr> gt 3000]
	(Obroty poza osiągalnym zakresem)
o5 endif

(-----NOWY KOD KONIEC-----)

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

#124

Post napisał: senio » 06 sie 2019, 12:50

Generalnie nie używam subów na frezarce, ale jeden by mi się przydał. Zapytam więc czy jest taki subik co frezuje otwory. Sytuacja wygląda tak że wałek w uchwycie tokarskim, i na środku do wyfrezowania otwór. Raz będzie to 14.4 mm na 5.6 głęboko , innym razem na fi 15.5 mm na 10.3 głęboko etc. W zasadzie chodzi ustawianie średnicy i głębokości frezowania dowolnym frezem. Jest coś takiego na frezarkę ?


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

Re: Suby ngcgui

#125

Post napisał: kamar » 06 sie 2019, 13:28

Kod: Zaznacz cały

 ( ------------------------------ )
(  O T W O R    D O K L A D N Y  )
( ------------------------------ )
( Kamar                          )
( Time-stamp: <2015-10-01 13:27> )

( ------------------------------ )
(          USTAWIENIA            )
( ------------------------------ )

(info: Wycinanie spiralą dokładnego otworu lub kółka)

o<otwor_spirala> sub

#<obr> = #1 (=1500 obroty)
#<frez> = #2 (=8 frez)
#<sr_otworu> = #3 (=20 średnica)
#<glebokosc> = #4 (=-10 głębokość)
#<predkosc> = #5 (=60 prędkość)
#<skok> = #6 (=2 skok)
#<woda> = #7 (=1 <> chlodzenie)
#<w_z> = #8 (wyjazd Z)
#<w_x> = #9 (wyjazd X)
#<w_y> = #10 (wyjazd Y)

( ------------------------------ )
( ------------------------------ )

#<promien_freza> = [#<frez> / 2] ( promien freza )
#<promien_otworu> = [#<sr_otworu> / 2] ( promien otworu )
#<promien> = [#<promien_otworu>  - #<promien_freza>] ( dojazd )

g0 z5
g0 x0 y0 
m3 s#<obr>

o1 if [#<woda> eq 1]
m8
o1 endif


#1 = 0
G0 X[-1 * #<promien>] F#<predkosc>
G0 Z1
g1 z0

#<akt_z> = 0
o100 while [#<akt_z> gt #<glebokosc>]
#<akt_z> = [#<akt_z> - #<skok>]

( jezeli za gleboko to jade na max )
o110 if [#<akt_z> lt #<glebokosc>]
#<akt_z> = #<glebokosc>
o110 endif


G2 X0 Y#<promien> R#<promien> Z[#<akt_z> + [0.75 * #<skok>]]
G2 X#<promien> Y0 R#<promien> Z[#<akt_z> + [0.5 * #<skok>]]
G2 X0 Y[-1 * #<promien>] R#<promien> Z[#<akt_z> + [0.25 * #<skok>]]
G2 X[-1 * #<promien>] Y0 R#<promien> Z#<akt_z>

o100 endwhile

( rownanie dolu )
G2 X0 Y#<promien> R#<promien> Z#<akt_z>
G2 X#<promien> Y0 R#<promien> 
G2 X0 Y[-1 * #<promien>] R#<promien>
G2 X[-1 * #<promien>] Y0 R#<promien>

m5
g0 z#<w_z>
g0 x#<w_x>
g0 y#<w_y>

o<otwor_spirala> 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

#126

Post napisał: senio » 06 sie 2019, 15:03

@kamar

Przydała by się prędkość bok prędkość dół. Ale żebyś się nie zagrzał za mocno :)

Obrazek

Dodane 38 minuty 10 sekundy:
Wygrzebałem gdzieś straszy z oddzielna prędkością na dwie osie, tak że nie ma tematu.

Kod: Zaznacz cały

( ------------------------------ )
(  O T W O R    D O K L A D N Y  )
( ------------------------------ )
( Kamar                          )
( Time-stamp: <2012-10-23 12:30> )
( ------------------------------ )

(info: Wycinanie dokładnego otworu lub kółka)

o<otwor> sub

#<frez> = #1 (=6 frez)
#<sr_otworu> = #2 (=20 średnica)
#<pr_wjazdu> = #3 (=0.1 promień wjazdu)
#<glebokosc> = #4 (=-10 głębokość )
#<glebokosc_poczatkowa> = #5 (=0 Z początkowe)
#<predkosc_bok> = #6 (=60 prędkość bok)
#<predkosc_dol> = #7 (=30 prędkość dół)
#<skok> = #8 (=2 skok)
#<rodzaj> = #9 (=0 <> koło)
#<woda> = #10 (=1 <> chlodzenie)
( ------------------------------ )

#<pr_freza> = [#<frez> / 2] ( promien freza )
#<pr_otworu> = [#<sr_otworu> / 2] ( promien otworu )
#<promien> = [#<pr_otworu> - #<pr_freza>] ( dojazd )

g17 G21 G61

(G0 X0 Y0)
M3 s1

o1 if [#<woda> eq 1]
m8
o1 endif

o2 if [#<rodzaj> eq 0]
(otwór)

G0 X[-1 * [#<promien> - #<pr_wjazdu>]] Y#<pr_wjazdu>
G0 Z1
G1 Z0 f#<predkosc_dol>

#<akt_glebokosc> = #<glebokosc_poczatkowa>
o100 while [#<akt_glebokosc> gt #<glebokosc>]
  #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>]

  ( jezeli za gleboko to jade na max )
  o110 if [#<akt_glebokosc> lt  #<glebokosc>] 
    #<akt_glebokosc> =  #<glebokosc>
  o110 endif

  G1 Z#<akt_glebokosc> F#<predkosc_dol>
	G3 X[#<promien> * -1] Y0 I0 J[-1 * #<pr_wjazdu>] F#<predkosc_bok>
	G3 X[#<promien> * -1] Y0 I#<promien> J0
	G3 X[-1 * [#<promien> - #<pr_wjazdu>]] Y[#<pr_wjazdu> * -1] I[#<pr_wjazdu>] J0
	G1 Y#<pr_wjazdu>

o100 endwhile

o2 else
(koło)
#<promien> = [#<pr_otworu> + #<pr_freza>] ( dojazd )

G0 X[-1 * [#<promien> + #<pr_wjazdu>]] Y#<pr_wjazdu>
G0 Z1
G1 Z0 f#<predkosc_dol>

#<akt_glebokosc> = #<glebokosc_poczatkowa>
o200 while [#<akt_glebokosc> gt #<glebokosc>]
  #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>]

  ( jezeli za gleboko to jade na max )
  o210 if [#<akt_glebokosc> lt  #<glebokosc>] 
    #<akt_glebokosc> =  #<glebokosc>
  o210 endif

  G1 Z#<akt_glebokosc> F#<predkosc_dol>
	G2 X[#<promien> * -1] Y0 I0 J[-1 * #<pr_wjazdu>] F#<predkosc_bok>
	G3 X[#<promien> * -1] Y0 I#<promien> J0
	G2 X[-1 * [#<promien> + #<pr_wjazdu>]] Y[#<pr_wjazdu> * -1] I[#<pr_wjazdu> * -1] J0
  (G1 X[-1 * [#<promien> + #<pr_wjazdu>]] Y#<pr_wjazdu>)
	G1 Y#<pr_wjazdu>

o200 endwhile
o2 endif



g0 z5


o<otwor> endsub


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

Re: Suby ngcgui

#127

Post napisał: kamar » 06 sie 2019, 15:09

To dwa różne suby :)
jeden wycina spiralą a drugi po konturze z zagłębianiem dlatego ma prędkość w dół :)
Spirala nie zostawia śladu w miejscu przybierania.

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

#128

Post napisał: senio » 06 sie 2019, 15:57

Rozumiem. Ale mi potrzebny ten na dwie prędkości. Chodzi o czas, a nie mogę wjechać z prędkością 600 na zetce, natomiast czekać przy bocznej 60 to by beczki brakło :).

Dodane 42 minuty 3 sekundy:
Kamar ten spiralny też jest fajny tylko coś się krzaczy. Jak się da pełne fi otworu np. 10 pokazuje ładną spiralę od góry do dołu. Jak się da fi np. 10.3 to jakieś schodki w linuxcnc widać. Nie jedzie spiralą do końca tylko cuduje tak od 2/3. Zerkniesz na to ?


szary11
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 9
Posty: 377
Rejestracja: 16 lut 2011, 22:44
Lokalizacja: Tarnogród

Re: Suby ngcgui

#129

Post napisał: szary11 » 06 sie 2019, 18:40

Może ten Ci podpasuje.
Da się zrobić jeden.
Osnowa suba z Kozienic. :)

Kod: Zaznacz cały

( ------------------------------ )
(  O T W O R Y  P O  O K R E G U )
( ------------------------------ )
( ADAM                         )
( Time-stamp: <2018-11-30 18:29> )
( ------------------------------ )
(          USTAWIENIA            )
( ------------------------------ )

(info: Wycinanie otworów po okręgu)
o<otwory_po_okregu> sub

#<frez> = #1 (=50 frez)
#<sr_otworu> = #2 (=50 średnica otworu)
#<pelny> = #3 (=0 <> kontur[0] / pełny[1])
#<srednica> = #4 (=0 średnica podziału)
#<il_otworow> = #5 (=1 ilosc otworow )
#<kat_poczatkowy> = #6 (=0 kąt początkowy)
#<glebokosc> = #7 (=-1 glebokosc [-])
#<skok> = #8 (=2 skok)
#<wyjazd> = #9 (=5 wyjazd)
#<wys_przejazd> = #10 (=30 wysokość przejazdu)
#<posuw> = #11 (=60 posuw)
#<predkosc_dol> = #12 (=200 prędkosć dół)
#<glebokosc_lba> = #13 (=0 głębokość łba [-])
#<srednica_lba> = #14 (=0 średnica łba)
#<woda> = #15 (=0 <> chłodzenie)
#<mgla> = #16 (=0 <> mgła)
#<pompowanie> = #17 (=2 pompowanie)
#<wyjazd_wiertla> = #18 (=2 wyjazd wiertła)
#<obr> = #19  (=500  obroty)

( ------------------------------ )
(-----NOWY KOD POCZATEK-----)
#<stala_pr_skrawania> = #20 (=1 <> stała pr. skrawania)
#<pr_skrawania> = #21 (=100 predkosc skrawania [m/min])
#<sr_narzedzia> = #22 (=50 średnica nadzędzia [mm])

#<stale_dobranie> = #23 (=1 <> stałe dobranie)
#<dobranie_zab> = #24 (=0.2 dobranie/ząb [mm])
#<liczba_zebow> = #25 (=5 liczba zębów)

#<bieg1> = #26 (=0 <> bieg: 150 Sr,Cz,Cz)
#<bieg2> = #27 (=0 <> bieg: 480 Zi,Ni,Ni)
#<bieg2> = #28 (=0 <> bieg: 1200 Zi,Cz,Cz)
#<bieg4> = #29 (=0 <> bieg: 3000 Zi,Żó,Żó)
#<nr> = #30 (=1 nr narzędzia)


(-----NOWY KOD KONIEC-----)

(-----NOWY KOD POCZATEK-----)

o2 if [#<stala_pr_skrawania> eq 1]
	#<Pi> = 3.141593
	#<obwod_mm> = [2*#<Pi>*#<sr_narzedzia>/2]
	#<obwod_m> = [#<obwod_mm> / 1000]
	#<obr> = [#<pr_skrawania> / #<obwod_m>]
o2 endif

o3 if [#<stale_dobranie> eq 1] 
	#<dobranie_obrot_mm> = [#<liczba_zebow> * #<dobranie_zab>]
	#<posuw> = [#<dobranie_obrot_mm> * #<obr>]
o3 endif

o4 if [[#<bieg1> + #<bieg2> + #<bieg2> + #<bieg4>] gt 1]
	M100 P1   (Message) 
o4 elseif [#<bieg4> eq 1]
	#<obr> = #<obr> 
o4 elseif [#<bieg2> eq 1]	
	#<obr> = [#<obr> * 2.5]
o4 elseif [#<bieg2> eq 1]	
	#<obr> = [#<obr> * 6.25]
o4 elseif [#<bieg1> eq 1]		
	#<obr> = [#<obr> * 20]	
o4 else
	M100 P2
o4 endif

o5 if [#<obr> gt 3000]
	M100 P3
	
o5 endif

(-----NOWY KOD KONIEC-----)

#<promien> = [#<srednica> / 2] ( promien )
#<kat> = [360 / #<il_otworow>] ( kat )
#<akt_otwor> = 0 ( aktualny otwor - od 0)
#<przesuniecie> = [[#<sr_otworu > / 2] - [#<frez> / 2]]
#<przesuniecie_lba> = [[#<srednica_lba> / 2] - [#<frez> / 2]]

o6 if [#<glebokosc_lba> LT 0 AND #<pelny> EQ 0]
	M100 P4
o6 endif

o100 while [#<akt_otwor> LT #<il_otworow>]

#<akt_kat> = [[#<akt_otwor> * #<kat>] + #<kat_poczatkowy>] ( kat * otwor )
#<poz_x> = [COS[#<akt_kat>] * #<promien>] ( X to RcosA )
#<poz_y> = [SIN[#<akt_kat>] * #<promien>] ( Y to RsinA )

g17 G21 (G61)
G64

( ustawiam pozycję startową )
/G0 Z#<wys_przejazd>
/G0 X#<poz_x> Y#<poz_y> ( ustawiam pozycje )
/G0 Z#<wyjazd>

( ------------------------------ )
(           OPERACJA             )
( ------------------------------ )


M6 T#<nr> G43

m3 s #<obr>
o1 if [#<woda> eq 1]
m8
o1 endif




o7 if [#<mgla> eq 1]
m7
o7 endif

o105 if [#<sr_otworu> gt #<frez>]
	( frezuję )
	
	#<akt_glebokosc> = 0
	

	o40 if [#<pelny> eq 0]
		
		g0 x[#<poz_x>] y[#<poz_y> + #<przesuniecie>]
		G0 Z#<wyjazd>
		g1 z#<akt_glebokosc> F#<predkosc_dol>
			
		o19 while [#<akt_glebokosc> GT #<glebokosc>]
		#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci )
		
			( jezeli wyliczylo ponizej limitu to zaglebiam tylko do limitu )
			o30 if [#<akt_glebokosc> LT #<glebokosc>] 
			#<akt_glebokosc> = #<glebokosc>
			o30 endif
			
			
			g2 x[#<poz_x>] y[[#<poz_y> + #<przesuniecie>]] i0 j[#<przesuniecie> * -1] z[#<akt_glebokosc>] F#<posuw>
			(g0 y[#<poz_y>])
		
		o19 endwhile
		
			g2 x[#<poz_x>] y[[#<poz_y> + #<przesuniecie>]] i0 j[#<przesuniecie> * -1] F#<posuw>
			
			(g0 x[#<poz_x>] y[#<poz_y>]) (rysiek do środka)
			G0 Z#<wys_przejazd>
		
		
		
	o40 else
			
			
			#<szerokosc_zbierania> = [#<frez> / 2]
			#<akt_przesuniecie> = 0
			
			g0 x[#<poz_x>] y[#<poz_y> + #<akt_przesuniecie> + #<szerokosc_zbierania>]
			
			o21 while [#<akt_przesuniecie> LT #<przesuniecie>]
				
				#<akt_glebokosc> = 0
				
				#<akt_przesuniecie> = [#<akt_przesuniecie> + #<szerokosc_zbierania>] (dobieranie w poziomie o 1 trzecia srednicy freza) 
				
				o42 if [#<akt_przesuniecie> gt #<przesuniecie>]
					#<akt_przesuniecie> = #<przesuniecie>
				o42 endif
				
				g0 x[#<poz_x>] y[#<poz_y> + #<akt_przesuniecie> ] F#<posuw>
				g0 z#<wyjazd>
				g1 z#<akt_glebokosc> F#<predkosc_dol>
				
				o20 while [#<akt_glebokosc> GT #<glebokosc>]
					#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci )
				
					( jezeli wyliczylo ponizej limitu to zaglebiam tylko do limitu )
					o31 if [#<akt_glebokosc> LT #<glebokosc>] 
					#<akt_glebokosc> = #<glebokosc>
					o31 endif
					
			
					g2 x[#<poz_x>] y[[#<poz_y> + #<akt_przesuniecie>]] i0 j[#<akt_przesuniecie> * -1] z[#<akt_glebokosc>] F#<posuw>
						
				o20 endwhile
				
					g2 x[#<poz_x>] y[[#<poz_y> + #<akt_przesuniecie>]] i0 j[#<akt_przesuniecie> * -1] F#<posuw>
					
					(g0 x[#<poz_x>] y[#<poz_y>]) (rysiek do środka)
					
					g0 Z#<wyjazd>
				
				
			
		o21 endwhile
			
		g0 z#<wys_przejazd>
			
		
	o40 endif
			
	


o105 else

	G83 X#<poz_x> Y#<poz_y> Z#<glebokosc> R#<wyjazd_wiertla> Q#<pompowanie> F#<predkosc_dol>

o105 endif
(g0 x[#<poz_x>] y[#<poz_y>]) (rysiek do środka)

G0 Z#<wyjazd>



( wybieram leb )

o110 if [#<glebokosc_lba> LT 0 and #<pelny> eq 1]
     #<akt_glebokosc_lba> = 0
     #<szerokosc_zbierania> = [#<frez> / 2]
     


#<akt_glebokosc_lba> = 0
#<szerokosc_zbierania> = [#<frez> / 2]
#<akt_przesuniecie_lba> = #<przesuniecie>  (przesuniecie w Y po wywierceniu otworu)


o25 while [#<akt_przesuniecie_lba> LT #<przesuniecie_lba>]		
	
	#<akt_przesuniecie_lba> = [#<akt_przesuniecie_lba> + #<szerokosc_zbierania>]   (dobieranie lba w poziomie o 1 trzecia srednicy freza) 
	
	o41 if [#<akt_przesuniecie_lba> gt #<przesuniecie_lba>]
		#<akt_przesuniecie_lba> = #<przesuniecie_lba>
	o41 endif
						
	g0 x[#<poz_x>] y[#<poz_y> + #<akt_przesuniecie_lba>]
	g1 z#<akt_glebokosc_lba> F#<predkosc_dol>

	(wiercenie)
		 o120 while [#<akt_glebokosc_lba> GT #<glebokosc_lba>]
			  #<akt_glebokosc_lba> = [#<akt_glebokosc_lba> - #<skok>] ( ustalenie glebokosci )

			( jezeli nizej limitu to jade max )
			  o130 if [#<akt_glebokosc_lba> LT #<glebokosc_lba>] 
				   #<akt_glebokosc_lba> = #<glebokosc_lba>
			  o130 endif

			g2 x[#<poz_x>] y[#<poz_y> + #<akt_przesuniecie_lba>] i0 j[#<akt_przesuniecie_lba> * -1] z[#<akt_glebokosc_lba>] F#<posuw>
			

		 o120 endwhile
		 
		 g2 x[#<poz_x>] y[#<poz_y> + #<akt_przesuniecie_lba>] i0 j[#<akt_przesuniecie_lba> * -1] F#<posuw>
		 
		 #<akt_glebokosc_lba> = 0
		 (G0 Z#<wyjazd>)
(g0 x[#<poz_x>] y[#<poz_y>]) (rysiek do środka)

o25 endwhile



o110 endif


(g0 z#<wys_przejazd>)

( ------------------------------ )
( ------------------------------ )

#<akt_otwor> = [#<akt_otwor> + 1] ( nastepny otwor )


o100 endwhile
(g0 x[#<poz_x>] y[#<poz_y>]) (rysiek do środka)
g0 z#<wys_przejazd>
g0 x0 y0

o<otwory_po_okregu> endsub


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

Re: Suby ngcgui

#130

Post napisał: kamar » 06 sie 2019, 19:16

senio pisze:
06 sie 2019, 15:57
Zerkniesz na to ?
Zerknąłem i nic nie widzę :)
Średnica z ułamkiem, frez też.

Obrazek Obrazek

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”