Znaleziono 4 wyniki

autor: kamar
11 paź 2012, 15:10
Forum: G-CODE - programowanie
Temat: Pomoc dla totalnego laika
Odpowiedzi: 17
Odsłony: 3024

hecza pisze: Proponuję na stałe stosować zasadę - najpierw Z <wyjazd> a dopiero później najazd XY.
Pozdrawiam
Różnie to bywa. Wyjazd zetki w programie z założenia niewielki a dojechać do pojedyńczej sztuki trzeba omijając łapy czy inne przeszkody. Dlatego zetka przy starcie max wysoko.
autor: kamar
11 paź 2012, 10:00
Forum: G-CODE - programowanie
Temat: Pomoc dla totalnego laika
Odpowiedzi: 17
Odsłony: 3024

ElSor pisze: Zapytam z ciekawosci - nie trzeba zmieniac kata w stopniach na radiany aby wyniki funkcji COS i SIN byly prawidlowe ?
Nie ma potrzeby.

Kody na wszelki wypadek podmieniłem na maszynowy :) Masz rację bo i data inna :)
autor: kamar
10 paź 2012, 12:42
Forum: G-CODE - programowanie
Temat: Pomoc dla totalnego laika
Odpowiedzi: 17
Odsłony: 3024

Możliwe. Wklejałem z domowego symulatora. W wolnej chwili zciągnę z maszyn.

[ Dodano: 2012-10-10, 16:19 ]
Sprawdziłem, działa dobrze, może masz z configami inaczej.
Przy takich parametrach :

Obrazek

Obrazek
autor: kamar
09 paź 2012, 20:44
Forum: G-CODE - programowanie
Temat: Pomoc dla totalnego laika
Odpowiedzi: 17
Odsłony: 3024

A tu masz otwory po okregu, dowolnym frezem, dowolnej średnicy, na dowolnym okregu z ewentualnym chowaniem łba sruby. Na machu nie pójdzie ale ciekawe jak z Hassem :)

Kod: Zaznacz cały

( ------------------------------ ) 
(  O T W O R Y  P O  O K R E G U ) 
( ------------------------------ ) 
( Kamar                          ) 
( Time-stamp: <2012-09-17 07:42> ) 
( ------------------------------ ) 
(          USTAWIENIA            ) 
( ------------------------------ ) 

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

#<frez> = #1 (=6 frez) 
#<sr_otworu> = #2 (=6 średnica otworu) 
#<srednica> = #3 (=100 średnica ) 
#<il_otworow> = #4 (=5 ilosc otworow ) 
#<kat_poczatkowy> = #5 (=0 kąt początkowy) 
#<glebokosc> = #6 (=20 glebokosc ABS) 
#<skok> = #7 (=2 skok) 
#<wyjazd> = #8 (=5 wyjazd) 
#<predkosc_bok> = #9 (=60 prędkość bok) 
#<predkosc_dol> = #10 (=30 prędkosć dół) 
#<glebokosc_lba> = #11 (=0 gł. łba) 
#<srednica_lba> = #12 (=0 śr. łba) 
#<woda> = #13 (=1 Woda: 1 - wł, 0 - wył) 

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

#<glebokosc> = [#<glebokosc> * -1] ( glebokosc ) 
#<promien> = [#<srednica> / 2] ( promien ) 
#<kat> = [360 / #<il_otworow>] ( kat ) 
#<akt_otwor> = 0 ( aktualny otwor - od 0) 
#<glebokosc_lba> = [#<glebokosc_lba> * -1] 
#<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 X#<poz_x> Y#<poz_y> ( ustawiam pozycje ) 
G0 Z#<wyjazd> 

( ------------------------------ ) 
(           OPERACJA             ) 
( ------------------------------ ) 
m3 s1
o1 if [#<woda> eq 1] 
m8
o1 endif

o105 if [#<sr_otworu> gt #<frez>] 
( frezuję ) 
#<akt_glebokosc> = 0
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

g1 x[#<poz_x>] y[#<poz_y> + #<przesuniecie>] F#<predkosc_bok> 
g1 z[#<akt_glebokosc>] F#<predkosc_dol> 
g2 x[#<poz_x>] y[[#<poz_y> + #<przesuniecie>]] i0 j[#<przesuniecie> * -1] 
(g0 y[#<poz_y>]) 
o20 endwhile

o105 else

G83 X#<poz_x> Y#<poz_y> Z#<glebokosc> R1 q2 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] 
     	  (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> 

o<otwory_po_okregu> endsub

Wróć do „Pomoc dla totalnego laika”