Kod: Zaznacz cały
( ------------------------------ )
( Frezowanie po obwodzie )
( ------------------------------ )
( Kamar )
( Time-stamp: <2013-07-24 12:40> )
( ------------------------------ )
o<frezowanie_po_obwodzie> sub
#<obr> = #1 (=1500 obroty)
#<liczba_operacji> = #2 (=20 liczba operacji)
#<kat> = #3 (=-17 kąt)
#<predkosc> = #4 (=100 prędkość)
#<a_poczatkowe> = #5 (=0 A początkowe)
#<xpocz> = #6 (=0 X poczatkowy)
#<xkonc> = #7 (=57 X końcowy)
#<ypocz> = #8 (=0 Y początkowy)
#<ykonc> = #9 (=0 Y końcowy)
#<glebokosc> = #10 (=-2 głębokość)
#<skok> = #11 (=0.5 skok)
#<zpocz> = #12 (=0 Z początkowy)
#<woda> = #13 (=1 <> chłodzenie)
#<w_z> = #14 (wyjazd Z)
#<w_x> = #15 (wyjazd X)
#<w_y> = #16 (wyjazd Y)
( ------------------------------ )
#<operacja> = 0
g0 z5
g0 x#<xpocz> y#<ypocz>
m3 s#<obr>
o1 if [#<woda> eq 1]
m8
o1 endif
o100 while [#<operacja> lt #<liczba_operacji>]
g0 a[#<a_poczatkowe> + [#<operacja> * #<kat>]]
( --- tu operacja --- )
#<akt_z> = #<zpocz>
o200 while [#<akt_z> gt #<glebokosc>]
#<akt_z> = [#<akt_z> - #<skok>]
o210 if [#<akt_z> lt #<glebokosc>]
#<akt_z> = #<glebokosc>
o210 endif
g0 z#<akt_z>
g1 x#<xkonc> y#<ykonc> f#<predkosc>
g0 z5
g0 x#<xpocz> y#<ypocz>
o200 endwhile
( --- koniec operacji --- )
#<operacja> = [#<operacja> + 1]
o100 endwhile
g0 z#<w_z>
g0 x#<w_x>
g0 y#<w_y>
o<frezowanie_po_obwodzie> endsub
[ Dodano: 2014-05-27, 21:51 ]
Kod: Zaznacz cały
( ------------------------------ )
( O T W O R Y P O O K R E G U )
( ------------------------------ )
( Kamar )
( Time-stamp: <2013-08-09 13:59> )
( ------------------------------ )
( USTAWIENIA )
( ------------------------------ )
(info: Wycinanie otworów po okręgu)
o<otwory_po_okregu> sub
#<obr> = #1 (=1500 obroty)
#<frez> = #2 (=6 frez)
#<sr_otworu> = #3 (=6 średnica otworu)
#<srednica> = #4 (=100 średnica podziału)
#<il_otworow> = #5 (=5 ilosc otworow )
#<kat_poczatkowy> = #6 (=0 kąt początkowy)
#<glebokosc> = #7 (=-10 glebokosc )
#<skok> = #8 (=2 skok)
#<wyjazd> = #9 (=5 wyjazd)
#<predkosc_bok> = #10 (=60 prędkość bok)
#<predkosc_dol> = #11 (=30 prędkosć dół)
#<glebokosc_lba> = #12 (=0 głębokość łba)
#<srednica_lba> = #13 (=0 średnica łba)
#<woda> = #14 (=1 <> chłodzenie)
#<pompowanie> = #15 (=2 pompowanie)
#<wyjazd_wiertla> = #16 (=2 wyjazd wiertła)
#<w_z> = #17 (wyjazd Z)
#<w_x> = #18 (wyjazd X)
#<w_y> = #19 (wyjazd Y)
( ------------------------------ )
#<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]]
( ustawiam pozycję startowa )
( G0 X#<promien> Y0 Z#<wyjazd> )
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
G0 Z#<wyjazd>
G0 X#<poz_x> Y#<poz_y> ( ustawiam pozycje )
g0 z1
( ------------------------------ )
( OPERACJA )
( ------------------------------ )
m3 s#<obr>
o1 if [#<woda> eq 1]
m8
o1 endif
o105 if [#<sr_otworu> gt #<frez>]
( frezuję )
#<akt_glebokosc> = 0
g0 z[#<akt_glebokosc>+1]
o20 while [#<akt_glebokosc> GT #<glebokosc>]
#<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci )
( jezeli nizej limitu to jade max )
o30 if [#<akt_glebokosc> LT #<glebokosc>]
#<akt_glebokosc> = #<glebokosc>
o30 endif
g0 x[#<poz_x>] y[#<poz_y> + #<przesuniecie>]
g1 z[#<akt_glebokosc>] F#<predkosc_dol>
g2 x[#<poz_x>] y[[#<poz_y> + #<przesuniecie>]] i0 j[#<przesuniecie> * -1] F#<predkosc_bok>
(g0 y[#<poz_y>])
o20 endwhile
o105 else
G83 X#<poz_x> Y#<poz_y> Z#<glebokosc> R#<wyjazd_wiertla> Q#<pompowanie> F#<predkosc_dol>
o105 endif
G0 Z#<wyjazd>
( wybieram leb )
#<akt_glebokosc_lba> = 0
o110 if [#<glebokosc_lba> LT 0]
#<akt_glebokosc_lba> = 0
g0 z0
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
g0 x[#<poz_x>] y[#<poz_y> + #<przesuniecie_lba>] F#<predkosc_bok>
g1 z#<akt_glebokosc_lba> F#<predkosc_dol>
g2 x[#<poz_x>] y[[#<poz_y> + #<przesuniecie_lba>]] i0 j[#<przesuniecie_lba> * -1] F#<predkosc_bok>
(g0 y[#<poz_y>] )
o120 endwhile
( g0 y[#<poz_y>])
g0 z#<wyjazd>
o110 endif
( ------------------------------ )
( ------------------------------ )
#<akt_otwor> = [#<akt_otwor> + 1] ( nastepny otwor )
o100 endwhile
g0 z#<wyjazd>
g0 z#<w_z>
g0 x#<w_x>
g0 y#<w_y>
o<otwory_po_okregu> endsub