Strona 1 z 1

Procedura cięcia okręgu z wejściem narzedzia dla NGCGUI

: 29 sie 2012, 00:25
autor: jarenio
Witam
Wie może krórys z kolegów jak napisać uniwersalna procedurę do cięcia okręgu z wejściem dla narzedzia (palnika)
w sumie to 2 procedury by mnie interesowały, jedna na wycinanie kółka, druga otworu :)

: 29 sie 2012, 13:08
autor: kamar
Zamówiłem :) Jak to powinno być - punkt przebicia w jakiej zależności od średnicy ?
Do fajrantu ma być.
I przypomnij w którą stronę otwór a w którą kontur ?

: 29 sie 2012, 13:44
autor: ArturM
kamar pisze:Zamówiłem :)
Do fajrantu ma być.
Gotowe.
Czyli do fajrantu mam wolne :D

Zrobiłem tak, że palnik ucieka o 1/4 promienia w bok i do góry, zapala łuk i potem łukiem najeżdża na pozycję palenia.

Podprogram do NCGGUI i wywołujący na początku suba touchoff.ngc

Kod: Zaznacz cały

( --------------------------------- ) 
(  W Y P A L A N I E   O T W O R U  ) 
(                                   ) 
( --------------------------------- ) 
( Kamar                             ) 
( Time-stamp: <2012-08-29 13:26>    ) 
( --------------------------------- ) 

(info: Wypalanie otworu) 

o<pl_otwor> sub

#<wys_przepalania> = #1 (=3 Wysokość przepalania) 
#<czas_przepalania> = #2 (=3 Czas przepalania) 
#<wys_palenia> = #3 (=3 Wysokość palenia) 
#<sr_otworu> = #4 (=20 śr. otworu) 
#<rodzaj> = #5 (=0 0 - otwór, 1 - koło) 
#<predkosc> = #6 (=200 Prędkość) 

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

#<promien> = [#<sr_otworu> / 2] ( promien otworu ) 

g17 G21 G61

g0 x0 y0

o100 if[#<rodzaj> eq 0] 
(otwór) 
  g0 X[#<promien> / 4] Y[#<promien> / 4] 
  o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] [#<wys_przepalania>] 
  G3 X0 Y0 I0 J[-1 * [#<promien> / 4]] 
  G2 X0 Y0 I#<promien> J0 F#<predkosc> 
o100 else
(koło) 
  g0 X[-1 * [#<promien> / 4]] Y[#<promien> / 4] 
  o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] [#<wys_przepalania>] 
  G2 X0 Y0 I0 J[-1 * [#<promien> / 4]] 
  G3 X0 Y0 I#<promien> J0 F#<predkosc> 
o100 endif

m5

o<pl_otwor> endsub

: 29 sie 2012, 14:20
autor: kamar
Niby działa chociaż przy małych srednicach odsunięcie trochę małe. Potestujcie i uwagi będą nanoszone :)

: 29 sie 2012, 17:13
autor: jarenio
moja wersja na bazie waszej :)
zroche zmieniłem 0,0 , dodałem kompensację narzędzia i wyjście po cięciu

Kod: Zaznacz cały

o<kolo> sub

#<wys_przepalania> = #1 (=3 Wysokość przepalania) 
#<czas_przepalania> = #2 (=3 Czas przepalania) 
#<wys_palenia> = #3 (=3 Wysokość palenia) 
#<sr_otworu> = #4 (=20 śr. otworu) 
#<pr_wpalenia> =#5 (=4 promień wpalenia) 
#<rodzaj> = #6 (=0 0 - otwór, 1 - koło) 
#<predkosc> = #7 (=200 Prędkość) 
#<srednica_dyszy> = #8 (=1.1 Srednica dyszy) 

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

#<promien> = [#<sr_otworu> / 2] ( promien otworu ) 
#<promien_dyszy> = [#<srednica_dyszy> / 2] 

g17 G21 G61 G40
G10 L1 P1 R#<promien_dyszy> 
T1M6 (Tool change to T1) 
g0 x0 y0
o100 if[#<rodzaj> eq 0] 
(otwór) 
  g0 X[#<pr_wpalenia>] Y[#<pr_wpalenia>+#<promien>] 

  o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] [#<wys_przepalania>] 

  G41
   G3 X0 Y#<promien> I0 J[-1 * #<pr_wpalenia>] 
  G3 X0 Y#<promien> I#<promien> J0 F#<predkosc> 
  G3 X#<pr_wpalenia> Y[#<promien>-#<pr_wpalenia>] I #<pr_wpalenia> J0
  G40
o100 else
(koło) 
  g0 X[-1 * [#<pr_wpalenia>]] Y[#<promien>-#<pr_wpalenia>] 
  o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>] [#<wys_przepalania>] 
  G41
  G3 X0 Y#<promien> I0 J#<pr_wpalenia> 
  G2 X0 Y#<promien> I#<promien> J0 F#<predkosc> 
  G3 X[-1 * #<pr_wpalenia>] Y[#<promien>+#<pr_wpalenia>] I-[#<pr_wpalenia>] J0
  G40
o100 endif

m5

o<kolo> endsub 

: 29 sie 2012, 18:33
autor: kamar
Wolnoć Tomku w swoim domku :)
My z założenia nie używamy kompensacji narzędzia nigdzie w subach, a już na plażmie to dubelt. Zbyt nieprzewidywalna szerokość wypałki.
Nie korzystamy również z magazynu narzędzi.
Za to promień wejścia i wyjścia jest dobrym pomysłem :)
jarenio pisze:

Kod: Zaznacz cały

 o<touchoff> call [#<wys_przepalania>] [#<czas_przepalania>][#<wys_przepalania>]
oba błędziarze :)