NGCGUI - podstawowe procedury, ciut bardziej funkcjonalne

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 3705
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

NGCGUI - podstawowe procedury, ciut bardziej funkcjonalne

#1

Post napisał: MlKl » 30 paź 2012, 06:27

Rok temu jeszcze nie wiedziałem, że będę pracował na CNC, dziś już złapałem trochę praktyki. Oczywiście - daleko mi do doświadczenia starych wyjadaczy. Ale od zawsze lubiłem sobie życie upraszczać w miarę dostępnych możliwości.

Kamar pewnie zaraz bedzie marudził, że to wszystko da się poskładać z prostych klocków - pewnie, że się da, ale po co wypełniać kilka tabelek, jak można kilka procedur zrobić w jednej?

I tak powstała procedura walca z możliwością korekty stożka, i z fazowaniem krawędzi na prosto i z promieniem wypukłym, oraz wklęsłym. W tej samej procedurze można zrobić półkulę. Jest też możliwość ustawienia, o ile ma odjeżdżać od czoła materiału nóż z osi Z - ilekroć toczę plastik, wkurza mnie nawijający się na materiał wiór, którego nie można usunąć w trakcie, bo nóż ani na chwilę nie odjeżdża od materiału.

Kod: Zaznacz cały

; Author: jthornton
; Zmodyfikował: Z. Maciej "Miki" Bajkowski

(info: Toczenie wałka od zewnątrz) 
o<walec> sub
#<Material_Dia> =  #1 (=26 Średnica początkowa) 
   #<Final_Dia> =  #2 (=22 Średnica końcowa) 
   #<przybranie_materialu> =  #3 (=0.3 Przybranie) 
   #<Final_Cut> =  #4 (=0.1 Ostatnia warstwa) 
    #<FeedRate> =  #5 (=150 Posuw roboczy) 
     #<Max_RPM> =  #6 (=1500 Maksymalne obroty wrzeciona) 
  #<Z_EndOfCut> =  #7 (=-20 Punkt końcowy na osi Z) 
#<Z_StartOfCut> =  #8 (=0 Punkt początkowy na osi Z) 
      #<Coolant> = #9(=8 Chłodziwo 8, 9 wyłączone) 
 #<korekta> = #10(=0 korekta stożka) 
#<szerokosc_fazki> = #11 (=0 Szerokość fazki, zero wyłącza) 
#<glebokosc_fazki> =#12 (=0 Głębokość fazki) 
#<promien_fazki> =#13 (=0 Promień fazki, zero wyłącza) 
#<wkleslosc_fazki> =#14 (=0 Wklęsłość fazki, zero wyłącza) 
#<odjazd_z> =#15 (=1 odjazd od materiału w osi Z) 
#<odjazd_x> =#16 (=1 odjazd od materiału w osi X) 
#<skos_z_p> =#17 (=0 skos na początku w osi Z) 
#<skos_z> =#18 (=0 skos na końcu w osi Z) 
#<odjazd_z_k> =#19 (=99 pozycja końcowa w osi Z, 99 wyłącza) 
#<odjazd_x_k> =#20 (=99 pozycja końcowa w osi X, 99 wyłącza) 



; G7:  diameter mode
; G96: constant surface speed
G43 G7 G96 D#<Max_RPM> S720

; Turn the OD
M3 M#<Coolant> ; spindle cw, coolant on/off
G0 Z[#<Z_StartOfCut>+#<odjazd_z>] 

G0 X#<Material_Dia> 
#<Current_Dia>=#<Material_Dia> 

o100 while [#<Current_Dia> gt #<Final_Dia>] 

O101   if [#<Current_Dia>-#<przybranie_materialu> gt #<Final_Dia>] 
         #<Current_Dia>=[#<Current_Dia>-#<przybranie_materialu>] 
#<Z_EndOfCut> = [#<Z_EndOfCut>+#<skos_z>] 
#<Z_StartOfCut>=[#<Z_StartOfCut>-[#<skos_z_p>]] 
O101   else
         #<Current_Dia>=#<Final_Dia> 
#<Z_EndOfCut> = [#<Z_EndOfCut>+#<skos_z>] 
#<Z_StartOfCut>=[#<Z_StartOfCut>-[#<skos_z_p>]] 
O101   endif

      g1 X[#<Current_Dia>] Z#<Z_StartOfCut>  F#<FeedRate> 
     
       G1 Z#<Z_EndOfCut> x[#<Current_Dia>+#<korekta>]   F#<FeedRate> 
       G1 X[[#<Current_Dia>+#<korekta>]+#<odjazd_x>] Z[#<Z_EndOfCut>-#<skos_z>] F#<FeedRate> 
       g0 X[#<Current_Dia>+#<korekta>+#<odjazd_x>] 
          Z[#<Z_StartOfCut>+#<skos_z_p>+#<odjazd_z>] X[#<Current_Dia>+#<odjazd_x>] 
o100 endwhile

o110 if [#<szerokosc_fazki> gt 0] 
#<szerokosc_fazki_1> = 0
#<glebokosc_fazki_1> = 0
g0 Z[#<Z_StartOfCut>+#<odjazd_z>] 

o111 while [#<szerokosc_fazki_1> lt #<szerokosc_fazki>] 
#<szerokosc_fazki_1>=[#<szerokosc_fazki_1>+#<przybranie_materialu>/2] 
#<glebokosc_fazki_1>=[#<glebokosc_fazki_1>+[#<glebokosc_fazki>*#<przybranie_materialu>/#<szerokosc_fazki>/2]] 
 o112 if [#<szerokosc_fazki_1> gt #<szerokosc_fazki>] 
    #<szerokosc_fazki_1> = #<szerokosc_fazki> 
  o112 endif     
  o113 if [#<glebokosc_fazki_1> gt #<glebokosc_fazki>] 
    #<glebokosc_fazki_1> = #<glebokosc_fazki> 
  o113 endif   
x[#<Final_Dia>-#<glebokosc_fazki_1>*2]             ( wjazd do fazki na fi #<Final_Dia>) 
z[#<Z_StartOfCut>] 

o114 if [#<promien_fazki> lt 0.00001] 
g1 x[#<Final_Dia>] z[#<Z_StartOfCut>-[#<szerokosc_fazki_1>]]  F#<FeedRate>   ( toczenie fazki na fi #<sr_pocz>) 
o114 endif
o115 if [#<promien_fazki> gt 0] 
o116 if [#<wkleslosc_fazki> gt 0] 
g2 x[#<Final_Dia>] z[#<Z_StartOfCut>-[#<szerokosc_fazki_1>]] r[#<promien_fazki>]   F#<FeedRate> 
o116 endif
o117 if [#<wkleslosc_fazki> lt 0.000001] 
g3 x[#<Final_Dia>] z[#<Z_StartOfCut>-[#<szerokosc_fazki_1>]] r[#<promien_fazki>]   F#<FeedRate> 
o117 endif


o115 endif
g0 x[[#<Final_Dia>]+#<odjazd_x>] 
Z[#<Z_StartOfCut>+#<odjazd_z>] 
o111 endwhile ( koniec pętli ) 
o110 endif




o120 if[#<odjazd_x_k> gt 99] 
g0 x#<odjazd_x_k> 
o120 endif

o130 if[#<odjazd_z_k> gt 99] 
 Z#<odjazd_z_k> 
o130 endif

o140 if[#<odjazd_x_k> lt 99] 
g0 x#<odjazd_x_k> 
o140 endif

o150 if[#<odjazd_z_k> lt 99] 
 Z#<odjazd_z_k> 
o150 endif
M5 M9               ; stop spindle, all coolant off

o<walec> endsub
Procedura ma jeszcze wadę - gubi się, gdy początek w osi Z nie jest ustawiony na zero.

Przy korekcie stożka też powstaje schodek na fazce. Ale to się z czasem poprawi, na razie wrzucam jak jest, może komuś się przyda.

Procedura zastępuje całkowicie poprzednie: walec i półkula, i częściowo stożek. Półkulę robi lepiej od poprzedniczki, bo przybranie materiału jest zgodne z zadeklarowanym, i można tę półkulę dowolnie rozciągać lub spłaszczać tocząc owale.

Kolejną zmodyfikowaną procedurą jest czoło

Kod: Zaznacz cały

( ------------------------------ ) 
(           C Z O Ł O            ) 
( ------------------------------ ) 
( Kamar                          ) 
( Time-stamp: <05-02-2012 17:31> ) 
( ------------------------------ ) 

(info: Czoło ) 

o<czolo> sub

#<sr_pocz> = #1 (=26 Średnica początkowa) 
#<sr_koncowa> = #2 (=0 Średnica końcowa) 
#<poczatek> = #3 (=0  Początek) 
#<koniec> = #4 (=-1 Koniec) 
#<przybranie_materialu> = #5 (=0.2 Dobieranie) 
#<szybkosc_posuwu> = #6 (=50 Posuw) 
#<szerokosc_fazki> = #7 (=0 Szerokość fazki, zero wyłącza) 
#<glebokosc_fazki> =#8 (=0 Głębokość fazki) 
#<promien_fazki> =#9 (=0 Promień fazki, zero wyłącza) 




g7
m3 s1
M8

o1 if [#<poczatek> lt #<koniec>] 
(msg, Początek musi być większy niż koniec!) 
m30
o1 endif

g0 z[#<poczatek>] 
g0 x[#<sr_pocz> + 2] 
#<akt_pozycja> = #<poczatek> 

o100 while [#<akt_pozycja> gt #<koniec>] 
  #<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>] 
  o102 if [#<akt_pozycja> lt #<koniec>] 
    #<akt_pozycja> = #<koniec> 
  o102 endif

  g0 z#<akt_pozycja> 

  g1 x#<sr_koncowa> f#<szybkosc_posuwu> 
  g0 z[#<akt_pozycja> + 1] 
  g0 x[#<sr_pocz> + 2] 

o100 endwhile

o110 if [#<szerokosc_fazki> gt 0] 
#<szerokosc_fazki_1> = 0
#<glebokosc_fazki_1> = 0
g0 z[#<koniec>] 

o111 while [#<szerokosc_fazki_1> lt #<szerokosc_fazki>] 
#<szerokosc_fazki_1>=[#<szerokosc_fazki_1>+#<przybranie_materialu>] 
#<glebokosc_fazki_1>=[#<glebokosc_fazki_1>+[#<glebokosc_fazki>*#<przybranie_materialu>/#<szerokosc_fazki>]] 
 o112 if [#<szerokosc_fazki_1> gt #<szerokosc_fazki>] 
    #<szerokosc_fazki_1> = #<szerokosc_fazki> 
  o112 endif     
  o113 if [#<glebokosc_fazki_1> gt #<glebokosc_fazki>] 
    #<glebokosc_fazki_1> = #<glebokosc_fazki> 
  o113 endif   
x[#<sr_pocz>-#<glebokosc_fazki_1>*2]             ( wjazd do fazki na fi #<sr_pocz>) 
z[#<koniec>] 

o114 if [#<promien_fazki> lt 0.00001] 
g1 x[#<sr_pocz>] z[#<koniec>-[#<szerokosc_fazki_1>]] f[#<szybkosc_posuwu>]   ( toczenie fazki na fi #<sr_pocz>) 
o114 endif
o115 if [#<promien_fazki> gt 0] 
g3 x[#<sr_pocz>] z[#<koniec>-[#<szerokosc_fazki_1>]] r[#<promien_fazki>]  f[#<szybkosc_posuwu>] 
o115 endif
g0 x[[#<sr_pocz>]+2] 
z[#<koniec>+2] 
o111 endwhile ( koniec pętli ) 
o110 endif 

m5


o<czolo> endsub

Dodałem fazowanie zwykłe i wypukłe, jak komuś potrzeba wklęsłego, to wystarczy zmodyfikować według poprzedniego kodu na fazowanie walca.


I kolejna procedura - czop wału. Też z fazowaniem płasko i wypukle obu krawędzi

Kod: Zaznacz cały

( ------------------------------ ) 
( czop ) 
( ------------------------------ ) 
( Z. Maciej Miki Bajkowski) 
(---na podstawie kodu Kamara-----) 
( Time-stamp: <2012-04-14 00:39> ) 

(info: Czop ) 

o<czop> sub

( ------------------------------ ) 
( Zmienne do tabelki ) 
( ------------------------------ ) 

(wszystkie wartosci w milimetrach) 
#<srednica_surowego_walka> = #1 (=23 Średnica surowego wałka) 
#<dlugosc_detalu> = #2 (=15  Długość gotowego detalu) 
#<srednica_walka> = #3 (=22 Średnica gotowego detalu) 
#<srednica_czopu> = #4 (=19 Średnica czopu) 
#<dlugosc_czopu> = #5 (=10 Długość czopu) 
#<glebokosc_fazki_czopu> = #6 (=1 Głębokość fazki czopu) 
#<szerokosc_fazki_czopu> = #7 (=1 Szerokość fazki czopu, zero wyłącza) 
#<promien_fazki_czopu> = #8 (=0 Promień fazki czopu, zero wyłącza) 
#<glebokosc_fazki_walka> = #9 (=0 Głebokość fazki wałka) 
#<szerokosc_fazki_walka> = #10 (=0 Szerokość fazki wałka, zero wyłącza) 
#<promien_fazki_walka> = #11 (=0 Promień fazki wałka, zero wyłącza) 
#<planowanie_czola> =#12 (=0 O ile mm splanować czoło, zero wyłącza) 
#<poczatek_z>=#13 (=0 Początek na osi Z) 
#<szybkosc_posuwu> = #14 (=120 Posuw) 
#<obroty_wrzeciona> = #15 (=1000 Obroty) 
#<przybranie_materialu> = #16 (=0.3  Przybranie) 
#<odjazd_z> =#17 (=2 odjazd od materiału w osi Z) 
(koniec zmiennych) 


#<baza_x> = [#<srednica_walka> + 2]   (tu zjedzie w osi x noz po pracy, ustawić tyle, by można swobodnie zmierzyć, czy wyjąć materiał) 
#<srednica_walka_do_fazki> = #<srednica_walka> (zmienna #<srednica_walka> zmniejsza się w trakcie wykonywania programu, zapamietuję ją więec w zmiennej do późniejszego fazowania) 

M3 s#<obroty_wrzeciona> (wlaczamy wrzeciono) 
(Planowanie powierzchni) 

G0 X[#<srednica_surowego_walka>+2] Z[#<poczatek_z>+#<odjazd_z>] 
X#<srednica_surowego_walka> 
#<Current_Dia>=#<srednica_surowego_walka> 

o60 while [#<Current_Dia> gt #<srednica_walka>] 

o61   if [#<Current_Dia>-#<przybranie_materialu> gt #<srednica_walka>] 
         #<Current_Dia>=[#<Current_Dia>-#<przybranie_materialu>] 
o61   else
         #<Current_Dia>=#<srednica_walka> 
o61   endif

       X#<Current_Dia> 
       Z#<poczatek_z> 
       G1 Z-[#<dlugosc_detalu>] F#<szybkosc_posuwu> 
       G0 X[#<Current_Dia>+2] 
       Z[#<poczatek_z>+#<odjazd_z>] 
o60 endwhile


(Koniec planowania powierzchni) 

(Planowanie czoła) 


g0 z[#<poczatek_z> + #<odjazd_z>] 
g0 x[#<srednica_walka> + 2] 
#<akt_pozycja> = #<poczatek_z> 

o50 while [#<akt_pozycja> gt -[#<planowanie_czola>]] 
  #<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>] 
  o52 if [#<akt_pozycja> lt -[#<planowanie_czola>]] 
    #<akt_pozycja> = -[#<planowanie_czola>] 
  o52 endif

  g0 z#<akt_pozycja> 

  g1 x0 f[#<szybkosc_posuwu>/3] 
  g0 z[#<akt_pozycja> + #<odjazd_z>] 
  g0 x[#<srednica_walka> + 2] 

o50 endwhile


(Koniec planowania czoła) 


(Toczenie czopa) 

G0 z[#<odjazd_z>-[#<planowanie_czola>+#<poczatek_z>]] 

o100 while [#<srednica_walka> gt #<srednica_czopu>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu> ) 
#<srednica_walka>=[#<srednica_walka>-#<przybranie_materialu>] ( deklarowane zmniejszenie) 

 o102 if [#<srednica_walka> lt #<srednica_czopu>] 
    #<srednica_walka> = #<srednica_czopu> 
  o102 endif

G0 x[#<srednica_walka>+2] (ustawienie noza na pozycji ) 
x[#<srednica_walka>] 
z-[#<planowanie_czola>] 
g1 z[[-#<dlugosc_czopu>]-[#<planowanie_czola>+#<poczatek_z>]] f#<szybkosc_posuwu> ( toczenie ) 
G0 x[#<srednica_walka>+2] ( odjazd od materialu) 
z[#<odjazd_z>-[#<planowanie_czola>+#<poczatek_z>]] ( powrot na poczatek i wykonywanie ponowne ) 
o100 endwhile ( koniec toczenia czopa) 

o110 if [#<szerokosc_fazki_czopu> gt 0] (procedura wykonania fazki na wytoczonym czopie, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)  
#<szerokosc_fazki_czopu_1> = 0
#<glebokosc_fazki_czopu_1> = 0
z[[#<poczatek_z>]-[#<planowanie_czola>]+#<odjazd_z>]  
o111 while [#<szerokosc_fazki_czopu_1> lt #<szerokosc_fazki_czopu>] ( wykonuj dopoki #<szerokosc_fazki_czopu_1> wiekszy od zera) 
#<szerokosc_fazki_czopu_1>=[#<szerokosc_fazki_czopu_1>+#<przybranie_materialu>] ( deklarowane zmniejszenie) 
#<glebokosc_fazki_czopu_1>=[#<glebokosc_fazki_czopu_1>+[#<glebokosc_fazki_czopu>*#<przybranie_materialu>/#<szerokosc_fazki_czopu>]] 
 o112 if [#<szerokosc_fazki_czopu_1> gt #<szerokosc_fazki_czopu>] 
    #<szerokosc_fazki_czopu_1> = #<szerokosc_fazki_czopu> 
  o112 endif     
  o113 if [#<glebokosc_fazki_czopu_1> gt #<glebokosc_fazki_czopu>] 
    #<glebokosc_fazki_czopu_1> = #<glebokosc_fazki_czopu> 
  o113 endif   
x[#<srednica_czopu>-#<glebokosc_fazki_czopu_1>*2]             ( wjazd do fazki na fi #<srednica_czopu>) 
z[[#<poczatek_z>]-[#<planowanie_czola>]] 

o114 if [#<promien_fazki_czopu> lt 1] 
g1 x[#<srednica_czopu>] z-[[#<szerokosc_fazki_czopu_1>]+[#<planowanie_czola>]] f[#<szybkosc_posuwu>]   ( toczenie fazki na fi #<srednica_czopu>) 
o114 endif
o115 if [#<promien_fazki_walka> gt 0] 
g3 x[#<srednica_czopu>] z-[[#<szerokosc_fazki_czopu_1>]+[#<planowanie_czola>]] r[#<promien_fazki_czopu>]  f[#<szybkosc_posuwu>] 
o115 endif
g0 x[[#<srednica_czopu>]+2] 
z[[#<poczatek_z>]-[#<planowanie_czola>]+#<odjazd_z>]  
o111 endwhile ( koniec pętli czopa) 
o110 endif (koniec procedury fazowania krawędzi czopa) 


o120 if [#<szerokosc_fazki_walka> gt 0]  (procedura wykonania fazki na pozostałej krawędzi wałka, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)   
    
#<szerokosc_fazki_walka_1> = 0
#<glebokosc_fazki_walka_1> = 0
g0 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka>*2] ( dojazd do fazki na fi #<srednica_walka_do_fazki>)  
o121 while [#<szerokosc_fazki_walka_1> lt #<szerokosc_fazki_walka>] ( wykonuj dopoki #<szerokosc_fazki_walka_1> wiekszy od zera) 
#<szerokosc_fazki_walka_1>=[#<szerokosc_fazki_walka_1>+#<przybranie_materialu>] ( deklarowane zmniejszenie) 
#<glebokosc_fazki_walka_1>=[#<glebokosc_fazki_walka_1>+[#<glebokosc_fazki_walka>*#<przybranie_materialu>/#<szerokosc_fazki_walka>]] 
 o122 if [#<szerokosc_fazki_walka_1> gt #<szerokosc_fazki_walka>] 
    #<szerokosc_fazki_walka_1> = #<szerokosc_fazki_walka> 
  o122 endif     
  o123 if [#<glebokosc_fazki_walka_1> gt #<glebokosc_fazki_walka>] 
    #<glebokosc_fazki_walka_1> = #<glebokosc_fazki_walka> 
  o123 endif   
x[#<srednica_walka_do_fazki>-#<glebokosc_fazki_walka_1>*2]             ( wjazd do fazki na fi #<srednica_czopu>) 
z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka_1>*2] 
o124 if [#<promien_fazki_walka> lt 1] 
g1 x[#<srednica_walka_do_fazki>] z-[[#<szerokosc_fazki_walka_1>]+[#<planowanie_czola>]+#<dlugosc_czopu>] f[#<szybkosc_posuwu>]   ( toczenie fazki na fi #<srednica_czopu>) 
o124 endif
o125 if [#<promien_fazki_walka> gt 0] 
g3 x[#<srednica_walka_do_fazki>] z-[[#<szerokosc_fazki_walka_1>]+[#<planowanie_czola>]+#<dlugosc_czopu>] r[#<promien_fazki_walka>]  f[#<szybkosc_posuwu>] 
o125 endif
g0 x[[#<srednica_walka_do_fazki>]+2] 
z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] 
o121 endwhile ( koniec pętli czopa) 






o120 endif (koniec procedury fazowania pozostałej krawędzi wałka) 
g0 x[[#<srednica_walka_do_fazki>]+2] 

G0 z0
M30

o<czop> endsub
Oczywiście wszystkie fazy wykonywane są z przybraniami, jakie zadeklarowano, czyli można temperować wałki jak ołówki, czy kończyć je półkulami.



Tagi:

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1473
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#2

Post napisał: senio » 23 sty 2016, 11:53

Odgrzebię kotleta. Pierwszy sub toczenie zewnętrzne jest dla mnie idealny. Gdyby jeszcze działała funkcja

Kod: Zaznacz cały

#<Final_Cut> =  #4 (=0.1 Ostatnia warstwa) 
było by full. Nie wiem czy Miki zagląda na to forum jeszcze ale może ktoś kumaty na to zerknie i poprawi żeby to działało. Nie jednemu ten sub przypasuje.


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

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#3

Post napisał: szary11 » 26 sty 2016, 21:52

senio pisze:Odgrzebię kotleta. Pierwszy sub toczenie zewnętrzne jest dla mnie idealny. Gdyby jeszcze działała funkcja

Kod: Zaznacz cały

#<Final_Cut> =  #4 (=0.1 Ostatnia warstwa) 
było by full. Nie wiem czy Miki zagląda na to forum jeszcze ale może ktoś kumaty na to zerknie i poprawi żeby to działało. Nie jednemu ten sub przypasuje.
Miki chciał zrobić tą opcję, ale nigdzie w subie jej nie dodał, zobacz sam <Final_Cut> występuje tylko raz w linijce w której wpisujesz wartość. Nigdzie więcej w obliczeniach nie uwzględnił tego parametru.
Dużo zmian nie ma sensu
Trzeba Ci jakiś dziwny to pisz, może mam :?:

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1473
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#4

Post napisał: senio » 26 sty 2016, 23:37

szary11 pisze:Miki chciał zrobić tą opcję, ale nigdzie w subie jej nie dodał,
To nie tak. Ten sub jest przerobiony z jakiegoś angielsko języcznego suba. Znalazłem oryginał i ta opcja też tam jest, ale nie ma działającej tej opcji. Ten sub jest nie dokończony. Autor miał dobry zamysł tylko pary zabrakło.Miki dodał tam tylko fazki w skosach i promieniach, oraz trochę go spolszczył.

Ostatni przejazd wykończeniowy jest to super sprawa przy wykańczaniu np . kwasówki. Takie programy pisze teraz w CAM-ie jak muszę. Ładna powierzchnia powstaje. A jak by to było w subie było by prościej. Jeszcze posuw mógł by być też na ostatnią warstwę zmienny. To są przydatne rzeczy przy toczeniu na tzw. "pokazówkę". Dlatego zapytałem czy ktoś, kto się na tym zna to może zerknie żeby dokończyć tego suba w 100%. I tak go używam do toczenia na co dzień, bo nie znalazłem lepszego do moich zastosowań. Ma odjazdy od materiału, dojazdy w plusie zetki przy toczeniu i inne przydatne rzeczy. Żadnego innego nie znalazłem z takimi bajerami.


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

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#5

Post napisał: kamar » 27 sty 2016, 21:03

senio pisze:
Ostatni przejazd wykończeniowy jest to super sprawa przy wykańczaniu np . kwasówki. .
A jaki to proble z byle subem ?
Masz zjechać ze 100 do 40 z wykańczającym po np. 6mm ze średnicy. Wpisujesz początkową 100.2 i masz ostatnie przejście 0.2


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

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#6

Post napisał: szary11 » 27 sty 2016, 22:03

kamar pisze:
A jaki to proble z byle subem ?
Masz zjechać ze 100 do 40 z wykańczającym po np. 6mm ze średnicy. Wpisujesz początkową 100.2 i masz ostatnie przejście 0.2
chyba nie dorośliśmy jeszcze do tak skutecznie prostych rozwiązań :idea: i na siłę komplikujemy

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1473
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#7

Post napisał: senio » 27 sty 2016, 22:37

kamar pisze: A jaki to proble z byle subem ? Masz zjechać ze 100 do 40 z wykańczającym po np. 6mm ze średnicy. Wpisujesz początkową 100.2 i masz ostatnie przejście 0.2
Tak masz rację jest to jakiś sposób na duże maszyny. Przy liczbach całkowitych szybkie do przeliczenia w głowie. Ale jak się robi przybranie 0,25 albo 0,35, bo przy małych tokarkach trzeba delikatnie to dopasować , to już wyliczenie ostatniego przejazdu na 0,1mm jest operacją z kalkulatorem. Dochodzą do tego niepełne liczy średnic jak na przykład zdjęcie z wałka 30,15 na 25,35 na gotowo. Wyliczaj to teraz. A tak tabelka cyferka i do przodu bez przeliczania i kombinowania.


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

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#8

Post napisał: kamar » 28 sty 2016, 04:16

senio pisze:. Przy liczbach całkowitych szybkie do przeliczenia w głowie. Ale jak się robi przybranie 0,25 albo 0,35, bo przy małych tokarkach trzeba delikatnie to dopasować , to już wyliczenie ostatniego przejazdu na 0,1mm jest operacją z kalkulatorem. Dochodzą do tego niepełne liczy średnic jak na przykład zdjęcie z wałka 30,15 na 25,35 na gotowo. Wyliczaj to teraz. A tak tabelka cyferka i do przodu bez przeliczania i kombinowania.
Co tu wyliczać ?
przybierasz po 1 to :
początkowa - 30.45 i masz dychę na ostatnie przejście. No chyba , że nie masz w subie
takiego modułu

Kod: Zaznacz cały

    ( jezeli nizej limitu to jade max )
     o110 if [#<akt_glebokosc> LT #<glebokosc>] 
     	  #<akt_glebokosc> = #<glebokosc>
     o110 endif
A to już dyskwalifikuje subopisanta :)

Awatar użytkownika

senio
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 9
Posty: 1473
Rejestracja: 25 maja 2006, 14:39
Lokalizacja: koło.wlkp

Re: NGCGUI - podstawowe procedury, ciut bardziej funkcjonaln

#9

Post napisał: senio » 28 sty 2016, 10:14

kamar pisze:przybierasz po 1 to :
O to chodzi że nie przybieram po 1. Nie mam takiej możliwości.

-Do zebrania jest ? - trzeba wyliczyć
-Chcę żeby dobierał na przejazd 0,25 bo tak jest dobrze dla mojej maszyny w danym materiale
-Ostatni przejazd wykończeniowy dobieranie na 0,1
-Co mam wpisać w dobieranie z głowy na szybko żeby się wykonało ?

Obrazek


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

#10

Post napisał: kamar » 28 sty 2016, 11:07

A możesz przybierać i po 0.25 :) i tak ostatnie przejście będzie dychą.
Sub nie mój wiec nie wiem co tam wymodzili.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”