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.hecza pisze: Proponuję na stałe stosować zasadę - najpierw Z <wyjazd> a dopiero później najazd XY.
Pozdrawiam
Znaleziono 4 wyniki
Wróć do „Pomoc dla totalnego laika”
- 11 paź 2012, 15:10
- Forum: G-CODE - programowanie
- Temat: Pomoc dla totalnego laika
- Odpowiedzi: 17
- Odsłony: 3024
- 11 paź 2012, 10:00
- Forum: G-CODE - programowanie
- Temat: Pomoc dla totalnego laika
- Odpowiedzi: 17
- Odsłony: 3024
- 10 paź 2012, 12:42
- Forum: G-CODE - programowanie
- Temat: Pomoc dla totalnego laika
- Odpowiedzi: 17
- Odsłony: 3024
- 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