edit: dodałem możliwość podania promieni naroża.
Kod: Zaznacz cały
#gabaryt
#dane do wprowadzania
import timeit
dl_x = input('dlugosc scianki w osi X')
dl_y = input('dlugosc scianki w osi Y')
dl_z = input ('glebokosc gabarytu w osi Z: ')
wymiar_gabarytu = input ("wpisz ile odsunac narzedzie od scianki podczas zaglebiania")
srednica_narzedzia = input ('srednica narzedzia: ')
glebokosc = input ('glebokosc skrawania: ')
promien_freza = input ('wpisz o ile obnizyc obrobke w ostatnim przejezdzie: ')
naddatek = input ("naddatek: ")
posuw = input ("posuw: ")
promien_naroza = input ("wpisz promien naroza: ")
#obliczenie roznicy w ostatnim przejezdzie
resztki = dl_z + (promien_freza) % glebokosc
if wymiar_gabarytu < srednica_narzedzia:
#ustawienie bazy na srodku detalu
korekta = dl_y /2 + srednica_narzedzia /2 + naddatek
korek_y = dl_y /2 + srednica_narzedzia /2 + naddatek
kore_3 = dl_x /2 + srednica_narzedzia /2 + naddatek
core_4 = dl_x /2 + srednica_narzedzia /2 + naddatek
korke = (dl_y /2) + srednica_narzedzia /2 + naddatek
#generowanie poczatku programu
print "#########START_NC###########"
print "\n\nG40 G49 G80 G90 G0;\nT1M6;\nG54;\nG0 Z50 S3000 M3;"
print "G0 X0 Y-%s" % (korekta + wymiar_gabarytu)
print "G0 Z3 M8;"
if promien_naroza == 0:
glebo = glebokosc
#petla przejazdow
while glebo < dl_z + promien_freza:
print "G1 Z-%s F%s" % (glebo, posuw*2)
print "G1 X0 Y-%s F%s" % (korekta, posuw)
print "G1 X-%s" % (core_4)
print "G1 Y%s" % (korek_y)
print "G1 X%s" % (kore_3)
print "G1 Y-%s" %(korek_y)
print "G1 X0"
print "G1 Y-%s F%s" % (korke + wymiar_gabarytu, posuw*2)
glebo = glebo + glebokosc
else:
print "G1 Z-%s F%s" % (resztki, posuw*2)
print "G1 X0 Y-%s F%s" % (korekta, posuw)
print "G1 X-%s" % (core_4)
print "G1 Y%s" % (korek_y)
print "G1 X%s" % (kore_3)
print "G1 Y-%s" %(korek_y)
print "G1 X0"
print "G1 Y-%s F%s" % (korke + wymiar_gabarytu, posuw*2)
print 'G0 Z50;\nM30;'
if wymiar_gabarytu >= srednica_narzedzia:
print "srednica narzedzia zbyt mala!"
if promien_naroza != 0:
glebo = glebokosc
while glebo < dl_z + promien_freza:
print "G1 Z-%s F%s" % (glebo, posuw*2)
print "G1 X0 Y-%s F%s" % (korekta, posuw)
print "G1 X-%s" % (core_4 - promien_naroza)
print "G2 X-%s Y-%s R%s" %(core_4, korekta - promien_naroza, promien_naroza)
print "G1 Y%s" % (korek_y - promien_naroza)
print "G2 Y%s X-%s R%s" %(korek_y, core_4 - promien_naroza, promien_naroza)
print "G1 X%s" % (kore_3 - promien_naroza)
print "G2 X%s Y%s R%s" % (kore_3, korekta - promien_naroza, promien_naroza)
print "G1 Y-%s" %(korek_y - promien_naroza)
print "G2 X%s Y-%s R%s" %(core_4 - promien_naroza, korek_y, promien_naroza )
print "G1 X0"
print "G1 Y-%s F%s" % (korke + wymiar_gabarytu, posuw*2)
glebo = glebo + glebokosc
else:
print "G1 Z-%s F%s" % (resztki, posuw*2)
print "G1 X0 Y-%s F%s" % (korekta, posuw)
print "G1 X-%s" % (core_4)
print "G1 Y%s" % (korek_y)
print "G1 X%s" % (kore_3)
print "G1 Y-%s" %(korek_y)
print "G1 X0"
print "G1 Y-%s F%s" % (korke + wymiar_gabarytu, posuw*2)
print 'G0 Z50;\nM30;'
