Mnie nic nie straszne, ino robić cos sobie a muzom, to nie jaMlKl pisze: wtedy żaden rodzaj nie straszny. ]

I tak muszę poprawiać bo podcięcia się u mnie robi z zasady na czopach szlifowanych i trzeba
uwzglednić naddatek.
Kod: Zaznacz cały
o8000 else (wykonuje się po zaznaczeniu stożka)
#<sr_materialu>=[#<sr_pocz>+#<korekta>]
o8010 if[#<z_pocz> le #<z_koncowe>]
o<stozek> call [#<sr_materialu>][#<sr_koncowa>][#<sr_pocz>][#<z_koncowe>][#<z_pocz>][#<kat_stozka>][#<przybranie_materialu>][#<posuw>][#<pomijaj_srednica>][#<woda>]
o8010 else
o<stozek> call [#<sr_materialu>][#<sr_koncowa>][#<sr_pocz>][#<z_pocz>][#<z_koncowe>][#<kat_stozka>][#<przybranie_materialu>][#<posuw>][#<pomijaj_srednica>][#<woda>]
o8010 endif
#<sr_pocz>=[#<sr_pocz>+#<korekta>]
o8000 endif
Kod: Zaznacz cały
#<podciecie>=0
o109 if[#<podciecie> eq 1 or [[#<podciecie> eq 3 or #<podciecie> eq 4] and #<sr_koncowa>gt 10]]
#<korekta_podciecie>=1
o109 endif
Kod: Zaznacz cały
o1500 if[#<podciecie> gt 0 and #<podciecie> lt 5] (wykonywanie podcięcia na końcu czopu)
o1510 if[#<podciecie> eq 1] (wybieramy podcięcie typu A)
o1520 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 3]
#<b> = 1
#<a> = 0.1
#<z> = 0.1
#<b1> = 0.8
#<c> = 0.5
#<r1> = 0.25
o1520 elseif[#<sr_koncowa> gt 3 and #<sr_koncowa> le 10]
#<b>=2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1520 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18]
#<b> = 2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1520 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30]
#<b> = 2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1520 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80]
#<b> = 4
#<a> = 0.3
#<z> = 0.1
#<b1> = 3.3
#<c> = 1.5
#<r1> = 0.6
o1520 else
#<b> = 6
#<a> = 0.4
#<z> = 0.1
#<b1> = 5
#<c> = 2.3
#<r1> = 1
o1520 endif
g0 z[#<z_koncowe>+#<b>]
g1 x#<sr_koncowa> F#<posuw>
g2 z[#<z_koncowe>+[#<b>-[#<b>-#<b1>]]] x[#<sr_koncowa>-#<a>*2] r[#<r1>*2] F#<posuw>
g1 z[#<z_koncowe>+#<r1>] F#<posuw>
g2 z[#<z_koncowe>] x[#<sr_koncowa>+#<a>*2] r[#<r1>*2] F#<posuw>
g1 x#<sr_pocz> F#<posuw>
o1510 elseif[#<podciecie> eq 2] (wybieramy podcięcie typu B)
o1530 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 3]
#<b> = 1
#<a> = 0.1
#<z> = 0.1
#<b1> = 0.8
#<c> = 0.5
#<r1> = 0.25
o1530 elseif[#<sr_koncowa> gt 3 and #<sr_koncowa> le 10]
#<b>=2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1530 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18]
#<b> = 2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1530 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30]
#<b> = 2
#<a> = 0.2
#<z> = 0.1
#<b1> = 1.5
#<c> = 1
#<r1> = 0.4
o1530 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80]
#<b> = 4
#<a> = 0.3
#<z> = 0.1
#<b1> = 3.3
#<c> = 1.5
#<r1> = 0.6
o1530 else
#<b> = 6
#<a> = 0.4
#<z> = 0.1
#<b1> = 5
#<c> = 2.3
#<r1> = 1
o1530 endif
g0 z[#<z_koncowe>+#<b>]
g1 x#<sr_koncowa> F#<posuw>
g2 z[#<z_koncowe>+[#<b>-[#<b>-#<b1>]]] x[#<sr_koncowa>-#<a>*2] r[#<r1>*2] F#<posuw>
g1 z[#<z_koncowe>+[#<r1>/2]] F#<posuw>
g2 z[#<z_koncowe>-#<r1>/2] x[#<sr_koncowa>+#<a>*2] r[#<r1>] F#<posuw>
g1 z[#<z_koncowe>] x[#<sr_koncowa>+#<a>*2+#<c>] F#<posuw>
g1 x#<sr_pocz> F#<posuw>
o1510 elseif[#<podciecie> eq 3] (wybieramy podcięcie typu C)
o1540 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 10]
(msg, Uwaga, podcięcia typu C nie wykonuje się poniżej 10 mm średnicy!)
o1540 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18]
#<r> = 1
#<a1> = 0.2
#<z> = 0.1
#<b2> = 1.6
#<b3> = 1.4
o1540 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30]
#<r> = 1.6
#<a1> = 0.3
#<z> = 0.1
#<b2> = 2.5
#<b3> = 2.2
o1540 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80]
#<r> = 2.5
#<a1> = 0.3
#<z> = 0.1
#<b2> = 3.7
#<b3> = 3.4
o1540 else
#<r> = 2.5
#<a1> = 0.3
#<z> = 0.1
#<b2> = 3.7
#<b3> = 3.4
o1540 endif
o1570 if[#<sr_koncowa> gt 10]
g0 z[#<z_koncowe>+#<b2>]
g1 x#<sr_koncowa> F#<posuw>
g2 z[#<z_koncowe>] x[#<sr_koncowa>+#<a1>*2] r[#<r>] F#<posuw>
g1 x#<sr_pocz> F#<posuw>
o1570 endif
o1510 elseif [#<podciecie> eq 4] (wybieramy podcięcie typu D)
o1550 if[#<sr_koncowa> gt 0 and #<sr_koncowa> le 10]
(msg, Uwaga, podcięcia typu D nie wykonuje się poniżej 10 mm średnicy!)
o1550 elseif[#<sr_koncowa> gt 10 and #<sr_koncowa> le 18]
#<r> = 1
#<a1> = 0.2
#<z> = 0.1
#<b2> = 1.6
#<b3> = 1.4
o1550 elseif[#<sr_koncowa> gt 18 and #<sr_koncowa> le 30]
#<r> = 1.6
#<a1> = 0.3
#<z> = 0.1
#<b2> = 2.5
#<b3> = 2.2
o1550 elseif[#<sr_koncowa> gt 30 and #<sr_koncowa> le 80]
#<r> = 2.5
#<a1> = 0.3
#<z> = 0.1
#<b2> = 3.7
#<b3> = 3.4
o1550 else
#<r> = 2.5
#<a1> = 0.3
#<z> = 0.1
#<b2> = 3.7
#<b3> = 3.4
o1550 endif
o1580 if[#<sr_koncowa> gt 10]
g0 z[#<z_koncowe>+#<b3>]
g1 x#<sr_koncowa> F#<posuw>
g2 z[#<z_koncowe>-#<a1>] x[#<sr_koncowa>+#<a1>*2] r[#<r>] F#<posuw>
g2 z[#<z_koncowe>] x[#<sr_koncowa>+#<b2>*2] r[#<r>] F#<posuw>
g1 x#<sr_pocz> F#<posuw>
o1580 endif
o1510 endif
o1500 endif (koniec procedury podcięcia)
Co racja to racja - poprawione w oryginalnym poście.tuxcnc pisze: Tak przy okazji, to bardziej elegancko jest postawić warunkiczyli nie znaleziono łańcucha iKod: Zaznacz cały
if {[string first "<> " $::ngc($hdl,arg,comment,$num02)] == -1}
czyli łańcuch znaleziono.Kod: Zaznacz cały
if {[string first "<> " $::ngc($hdl,arg,comment,$num02)] != -1}
.