Znaleziono 1 wynik

autor: kamar
23 mar 2012, 21:20
Forum: LinuxCNC (dawniej EMC2)
Temat: Frezowanie otworów i fasolek emc2 g-code
Odpowiedzi: 2
Odsłony: 4469

Tu masz procedurkę na kanałek pod NGCGUI.

Kod: Zaznacz cały

( ------------------------------ ) 
(         K A N A L E K          ) 
( ------------------------------ ) 
( Kamar                          ) 
( Time-stamp: <2012-01-24 14:26> ) 
( ------------------------------ ) 

(info: Frezowanie kanału ) 

o<kanalek> sub

#<frez> = #1 (=8 frez) 
#<dlugosc> = #2 (=20 długość) 
#<glebokosc> = #3  (=10 głębokość ABS ) 
#<glebokosc_poczatkowa> = #4  (=0 głębokość poczatkowa ) 
#<skok> = #5 (=2 skok) 
#<sr_kanalu> = #6 (=8 śr. kanału)  
#<predkosc_bok> = #7 (=60 prędkość bok) 
#<predkosc_dol> = #8 (=40 prędkość dół) 
#<srednica_lba> = #9 (=0 średnica łba) 
#<glebokosc_lba> = #10 (=0 głębokość łba) 

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

g17 g21 g61
g0 x0 y0
g0 z2
m3 s1
m8

#<glebokosc> = [#<glebokosc> * -1] ( koncowy Z ) 
#<sr_kanalu> = [[#<sr_kanalu> / 2] - [#<frez> / 2]] 
#<akt_glebokosc> = #<glebokosc_poczatkowa> ( aktualna glebokosc ) 

o99 if [#<dlugosc> gt 0] 
  #<znak> = 1
o99 else
  #<znak> = -1
o99 endif

o100 while [#<akt_glebokosc> GT #<glebokosc>] 
     #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci ) 

     ( jezeli nizej limitu to jade max ) 
     o110 if [#<akt_glebokosc> LT #<glebokosc>] 
     	  #<akt_glebokosc> = #<glebokosc> 
     o110 endif
		 
     g0 z[#<akt_glebokosc> + #<skok> + 0.5] 
     G1 Z#<akt_glebokosc> F#<predkosc_dol> ( dobieranie poczatkowe ) 

     o120 if [#<sr_kanalu> gt 0] 
        g1 y[#<sr_kanalu> * #<znak> * -1] F#<predkosc_bok> 
        g2 x[#<sr_kanalu> * #<znak> * -1] y0 r#<sr_kanalu> 
        g2 y[#<sr_kanalu> * #<znak>] x0 r#<sr_kanalu> 
     o120 endif
     G1 x#<dlugosc> F#<predkosc_bok> ( kopanie fasolki ) 
     o130 if [#<sr_kanalu> gt 0]     
        g2 x[#<dlugosc> + [#<sr_kanalu> * #<znak>]] y0 r#<sr_kanalu> 
        g2 y[#<sr_kanalu> * #<znak> * -1] x#<dlugosc> r#<sr_kanalu> 
     o130 endif

     g1 x0
     g1 y0
		 
o100 endwhile

g0 z2

#<glebokosc_lba> = [#<glebokosc_lba> * -1] ( koncowy Z lba ) 
#<srednica_lba> = [#<srednica_lba> - #<frez>] 
#<akt_glebokosc> = 0
o200 while [#<akt_glebokosc> GT #<glebokosc_lba>] 
     #<akt_glebokosc> = [#<akt_glebokosc> - #<skok>] ( ustalenie glebokosci ) 
     o210 if [#<akt_glebokosc> LT #<glebokosc_lba>] 
     	  #<akt_glebokosc> = #<glebokosc_lba> 
     o210 endif
     g0 z[#<akt_glebokosc> + #<skok> + 0.5] 
     G1 Z#<akt_glebokosc> F#<predkosc_dol> ( dobieranie poczatkowe ) 

     g1 y[#<srednica_lba> * #<znak> * -1] F#<predkosc_bok> 
     g2 x[#<srednica_lba> * #<znak> * -1] y0 r#<srednica_lba> 
     g2 y[#<srednica_lba> * #<znak>] x0 r#<srednica_lba> 
     G1 x#<dlugosc> F#<predkosc_bok> ( kopanie fasolki ) 
     g2 x[#<dlugosc> + [#<srednica_lba> * #<znak>]] y0 r#<srednica_lba> 
     g2 y[#<srednica_lba> * #<znak> * -1] x#<dlugosc> r#<srednica_lba> 

     g1 x0
     g1 y0
o200 endwhile

g0 z2

o<kanalek> endsub

Obrazek

Obrazek

Wróć do „Frezowanie otworów i fasolek emc2 g-code”