Znaleziono 3 wyniki

autor: Graphart
02 lip 2013, 20:40
Forum: Software
Temat: Prosty skrypt na przeliczanie parametrów + inne
Odpowiedzi: 3
Odsłony: 6135

Dopiero za 2 tyg. do pracy, więc w wolnym czasie biorę się za konwertowanie wszystkich cykli heidenhaina na kodowanie ISO'wskie, może komuś przyda się do starych maszyn itd. Dziś obróbka gabarytów + opisane zmienne po polsku, więc jeśli ktoś ma dostęp do Fanuca to może sobie przepisać bezpośrednio na maszynę. Program wyciąga różnicę wynikającą z niepodzielności wysokości w osi Z przez głębokość skrawania i dodaje dodatkowy przejazd. Układ na środku.

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;'
        

foto:
Obrazek
autor: Graphart
01 lip 2013, 20:36
Forum: Software
Temat: Prosty skrypt na przeliczanie parametrów + inne
Odpowiedzi: 3
Odsłony: 6135

Ostatni raz kodziłem coś 2 lata temu, przypominam sobie Pythona, wrzucam następny "przydatny" kodzik:
Skrypt ma na celu generowanie programu na wiercenie z łamaniem wióra, dodatkowo po wpisaniu średnicy freza, w programie wpisze odpowiednie obroty.

Kod: Zaznacz cały

####cykl_wiercenie_z_lamaniem_wiora########
import math
choose = raw_input ("wpisz 1 aby wybrać wiercenie bez cyklu, lub 2 z cyklem: ") 
deep_drill = input('glebokosc otworu: ') 
Diam = input('srednica wiertla: ') 
backdrill = input ('co ile lamanie: ') 
wspol = input ('wpisz pos. w osi X: ') 
wspol2 = input ('wpisz pos. w osi Y: ') 
vcs = 25 #Vc
wycs = vcs * 1000
asas = wycs / Diam
feed = (asas/3.14) 
feed2 = int(feed) 
back = 500 #Posuw przy szybkim wyjezdzie
if choose == "1": 
    print "\n\n\nG49 G40 G80 G90 G0; \nG54;" 
    print "T1 M6;\nS%s M3;\nG0 Z100;\nG0 X%s Y%s;\nG0 Z3 M8;\nG01 Z0.5 F21;" % (feed2, wspol, wspol2) 
    deep_drill2 = deep_drill + 1
    F_int_1 = 1
    F_int_2 = 0.5
    xoxoxo = F_int_1 - backdrill
    while F_int_1 < deep_drill: 
        print "G01 Z-%s;" % (F_int_1) 
        print "G01 Z-%s;" % (F_int_1 - F_int_2) 
        F_int_1 = F_int_1 + backdrill
    else: 
        print "G01 Z-%s;" % (F_int_1,) 
        print "G01 Z3 F%s;\nG0 Z50 M9;\nG49 G90 G80 G40;\nM30;" % (back) 
if choose == "2": 
    print "\n\n\nG90 G40 G49 G80 G0\nT1 M6;\nG54;\nG0 Z100;\nS%s M3;\nG0 Z3 M8;" % (feed2) 
    print "G73 Z-%s Q%s R3 F21;\nX%s Y%s;" % (deep_drill,backdrill,wspol,wspol2) 
    print "G80;" 
    print "G0 Z50;\nG40 G49 G80 G90 G0;\nM30;" 

Obrazek

[ Dodano: 2013-07-02, 20:23 ]
autor: Graphart
30 cze 2013, 11:05
Forum: Software
Temat: Prosty skrypt na przeliczanie parametrów + inne
Odpowiedzi: 3
Odsłony: 6135

Prosty skrypt na przeliczanie parametrów + inne

Sprzątam na dysku, może komuś się przyda - kiedyś w pracy napisałem sobie z nudów. Po zdefiniowaniu Vc dla wiertła np. HSS w stali (opisana linia) wystarczy wpisać średnicę wiertła aby otrzymać parametry.

Kod: Zaznacz cały

#!/usr/bin/python
#przeliczanie parametrow
wybor = raw_input("Wybierz 'frez' lub 'wiertlo': ") 
if  wybor == "frez": 
    Vc = input (" Vc: ") 
    D = input ("D freza: ") 
    Fz = input ("podaj posuw na zab: ") 
    Z = input ("podaj liczbe zebow: ") 
    Pi = D * 3.14159
    Vc2 = Vc * 1000
    print "obroty: " ,Vc2 / Pi
    Vc3 = Vc2 / Pi
    print "posuw: " ,Vc3 * Z * Fz
if wybor == "wiertlo": 
    wiertloD = input ("wpisz srednice wiertla: ") 
    vcs = 25 #wpisz tu Vc
    wycs = vcs * 1000
    asas = wycs / wiertloD
    print asas / 3.14
  

Wróć do „Prosty skrypt na przeliczanie parametrów + inne”