コード例 #1
0
ファイル: taijiezhou.py プロジェクト: zhaozhiyuesdu/jinlei
def taijiezhou_calcu(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k):
    def calcu_1():
        global quality_tjz
        global volume_tjz

        quality_gd=quality_tjz/0.77
        quality_gd=round(quality_gd,2)
        quality_tjz=round(quality_tjz,2)
        tk.Label(window_output,text='台阶轴毛坯锻件质量为'+str(quality_tjz)+'吨。成材率≥77%,钢锭质量为'+\
            str(quality_gd)+'吨。',font=(20)).place(x=30,y=30)

    global volume_tjz
    global quality_tjz
    D_list=[D1,D2,D3,D4,D5,D6,D7,D8,D9,D10]
    L_list=[L1,L2,L3,L4,L5,L6,L7,L8,L9,L10]
    # D_max=max(D1,D2,D3,D4,D5,D6,D7,D8,D9,D10)
    D_max=max(D_list)
    D_min=min(D_list)
    L=L1+L2+L3+L4+L5+L6+L7+L8+L9+L10
    allowance=0
    if 0<L<=4000:
        if 0<D_max<=400:
            allowance=30
        elif 400<D_max<600:
            allowance=35
        elif 600<=D_max<1000:
            allowance=40
        elif 1000<=D_max:
            allowance=45
    elif 4000<L<7000:
        if 0<D_max<=400:
            allowance=35
        elif 400<D_max<800:
            allowance=40
        elif 800<=D_max:
            allowance=45
    elif 7000<=L<10000:
        if 0<D_max<=400:
            allowance=40
        elif 400<D_max<1000:
            allowance=45
        elif 1000<=D_max:
            allowance=50
    elif L>=10000:
        if 0<D_max<600:
            allowance=45
        elif 600<=D_max<1200:
            allowance=50
        elif 1200<=D_max:
            allowance=55
    else:
        tk.messagebox.showinfo(title='出错',message='请检查输入的数据是否在合理范围内')

     #加上余量
    for i in range(len(D_list)):
        
        if D_list[i] == D_max:
            L_list[i]=L_list[i]+1.6*allowance#加轴向余量
        L_list[i]=quzheng(L_list[i])    
        if D_list[i] != 0:
            D_list[i]=D_list[i]+allowance#加径向余量
            D_list[i]=quzheng(D_list[i])#取整

    D1=D_list[0];D2=D_list[1];D3=D_list[2]
    D4=D_list[3]
    D5=D_list[4]
    D6=D_list[5]
    D7=D_list[6]
    D8=D_list[7]
    D9=D_list[8]
    D10=D_list[9]

    L1=L_list[0]
    L2=L_list[1]
    L3=L_list[2]
    L4=L_list[3]
    L5=L_list[4]
    L6=L_list[5]
    L7=L_list[6]
    L8=L_list[7]
    L9=L_list[8]
    L10=D_list[9]
    L=L1+L2+L3+L4+L5+L6+L7+L8+L9+L10
    if D_k !=0:
        D_k=D_k-1.5*allowance
    if D_k <0:
        D_k=0
    D_k=quzheng(D_k)

    #计算体积,单位为立方米,质量,单位为吨
    calcu_quality(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k)

    window_output=tk.Tk()
    window_output.geometry('650x720')
    window_output.title('台阶轴件计算结果')

    # 新建窗口上的label
    tk.Label(window_output,text='L总(加余量)为'+str(L)).place(x=150,y=70)
    tk.Label(window_output,text='L1(加余量)为'+str(L1)).place(x=150,y=110)
    tk.Label(window_output,text='D1(加余量)为'+str(D1)).place(x=350,y=110)
    tk.Label(window_output,text='L2(加余量)为'+str(L2)).place(x=150,y=150)
    tk.Label(window_output,text='D2(加余量)为'+str(D2)).place(x=350,y=150)
    tk.Label(window_output,text='L3(加余量)为'+str(L3)).place(x=150,y=190)
    tk.Label(window_output,text='D3(加余量)为'+str(D3)).place(x=350,y=190)
    tk.Label(window_output,text='L4(加余量)为'+str(L4)).place(x=150,y=230)
    tk.Label(window_output,text='D4(加余量)为'+str(D4)).place(x=350,y=230)
    tk.Label(window_output,text='L5(加余量)为'+str(L5)).place(x=150,y=270)
    tk.Label(window_output,text='D5(加余量)为'+str(D5)).place(x=350,y=270)
    tk.Label(window_output,text='L6(加余量)为'+str(L6)).place(x=150,y=310)
    tk.Label(window_output,text='D6(加余量)为'+str(D6)).place(x=350,y=310)
    tk.Label(window_output,text='L7(加余量)为'+str(L7)).place(x=150,y=350)
    tk.Label(window_output,text='D7(加余量)为'+str(D7)).place(x=350,y=350)
    tk.Label(window_output,text='L8(加余量)为'+str(L8)).place(x=150,y=390)
    tk.Label(window_output,text='D8(加余量)为'+str(D8)).place(x=350,y=390)
    tk.Label(window_output,text='L9(加余量)为'+str(L9)).place(x=150,y=430)
    tk.Label(window_output,text='D9(加余量)为'+str(D9)).place(x=350,y=430)
    tk.Label(window_output,text='L10(加余量)为'+str(L10)).place(x=150,y=470)
    tk.Label(window_output,text='D10(加余量)为'+str(D10)).place(x=350,y=470)
    tk.Label(window_output,text='D_孔(加余量)为'+str(D_k)).place(x=200,y=510)

     # 新建窗口上的button
    btn_yh_calcu=tk.Button(window_output,text='确定计算',command=calcu_1)
    btn_yh_calcu.place(x=250,y=550,width=100)
    btn_yh_calcu2=tk.Button(window_output,text='重新计算',command=lambda:\
    calcu_again(L1,D1,L2,D2,L3,D3,L4,D4,L5,D5,L6,D6,L7,D7,L8,D8,L9,D9,L10,D10,D_k))
    btn_yh_calcu2.place(x=250,y=600,width=100)
    window_output.mainloop() 
コード例 #2
0
ファイル: yuanpan.py プロジェクト: zhaozhiyuesdu/jinlei
def yuanpan_calcu(D2, D1, H):
    def calcu_1():
        # 直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量
        global quality_yp
        quality_gd = quality_yp / 0.77
        quality_gd = round(quality_gd, 2)
        quality_yp = round(quality_yp, 2)
        tk.Label(window_output,text='毛坯锻件质量为'+str(quality_yp)+'吨'+\
         '成材率≥77%,钢锭质量为'+str(quality_gd)+'吨',font=(20)).place(x=50,y=30)

    global volume_yp
    global quality_yp
    allowance = 0
    if 0 < D2 < 500:
        if 0 < H < 200:
            allowance = 30
        elif 200 <= H < 550:
            allowance = 35
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 500 <= D2 < 800:
        if 0 < H <= 100:
            allowance = 30
        elif 100 < H < 550:
            allowance = 35
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 800 <= D2 < 1100:
        if 0 < H < 350:
            allowance = 35
        elif 350 <= H < 800:
            allowance = 40
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1100 <= D2 < 1450:
        if 0 < H <= 100:
            allowance = 35
        elif 100 < H < 550:
            allowance = 40
        elif 550 <= H < 1050:
            allowance = 45
        elif 1050 <= H < 1300:
            allowance = 50
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1450 <= D2 < 1800:
        if 0 < H <= 100:
            allowance = 40
        elif 100 < H < 800:
            allowance = 45
        elif 800 <= H < 1300:
            allowance = 50
        elif 1300 <= H < 1600:
            allowance = 55
    elif 1800 <= D2 < 2150:
        if 0 < H < 350:
            allowance = 45
        elif 350 <= H < 1050:
            allowance = 50
        elif 1050 <= H < 1300:
            allowance = 55
        elif 1300 <= H < 1600:
            allowance = 60
    elif 2150 <= D2 < 2550:
        if 100 <= H < 200:
            allowance = 45
        elif 200 <= H < 800:
            allowance = 50
        elif 800 <= H < 1300:
            allowance = 55
        elif 1300 <= H < 1600:
            allowance = 65
    elif 2550 <= D2 < 3000:
        if 100 <= H < 350:
            allowance = 50
        elif 350 <= H < 800:
            allowance = 55
        elif 800 <= H < 1050:
            allowance = 60
        elif 1050 <= H < 1300:
            allowance = 65
        elif 1300 <= H < 1600:
            allowance = 70
    else:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    if H > 1600:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #加上余量
    D2 = D2 + allowance
    D1 = D1 - 1.5 * allowance
    H = H + 0.9 * allowance

    if D1 < 0:
        D1 = 0
    #取整 0 1 2舍去 8 9进10  3 4 5 6为5
    D2 = quzheng(D2)
    D1 = quzheng(D1)
    H = quzheng(H)

    # 计算体积 ,单位为立方米,计算质量,单位为吨
    calcu_quality(D2, D1, H)

    window_output = tk.Tk()
    window_output.geometry('600x600')
    window_output.title('圆盘件计算结果')

    # 新建窗口上的label
    tk.Label(window_output, text='H(加余量)为' + str(H)).place(x=250, y=100)
    tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200)
    tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300)

    # 新建窗口上的button
    btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1)
    btn_yh_calcu.place(x=250, y=400, width=100)
    btn_yh_calcu2 = tk.Button(window_output,
                              text='重新计算',
                              command=lambda: calcu_again(D2, D1, H))
    btn_yh_calcu2.place(x=250, y=450, width=100)
    window_output.mainloop()
コード例 #3
0
ファイル: duanyuan.py プロジェクト: zhaozhiyuesdu/jinlei
def duanyuan_calcu(D, L):
    #直接结算出不修改的值
    def calcu_1():
        global volume_dy
        global quality_dy
        quality_gd = quality_dy / 0.8
        quality_gd = round(quality_gd, 2)
        quality_dy = round(quality_dy, 2)
        tk.Label(Window_output,text='毛坯锻件质量为'+str(quality_dy)+'吨。成材率≥80%,钢锭质量为'\
            +str(quality_gd)+'吨。',font=(20)).place(x=30,y=30)

    global volume_dy
    global quality_dy
    allowance = 0
    if 0 < L <= 1000:
        if 0 < D < 700:
            allowance = 35
        elif 700 <= D < 850:
            allowance = 40
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1000 < L < 2000:
        if 0 < D < 700:
            allowance = 35
        elif 700 <= D < 850:
            allowance = 40
        elif 850 <= D < 1600:
            allowance = 45
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 2000 <= L < 3500:
        if 0 < D < 550:
            allowance = 35
        elif 550 <= D < 850:
            allowance = 40
        elif 850 <= D:
            allowance = 45
    elif 3500 <= L < 5000:
        if 0 < D < 550:
            allowance = 35
        elif 550 <= D < 850:
            allowance = 40
        elif 850 <= D < 1300:
            allowance = 45
        elif 1300 <= D:
            allowance = 50
    elif 5000 <= L < 7500:
        if 0 < D < 700:
            allowance = 40
        elif 700 <= D < 1050:
            allowance = 45
        elif 1050 <= D < 1300:
            allowance = 50
        elif D >= 1300:
            allowance = 55
    elif 7500 <= L < 10000:
        if 0 < D < 700:
            allowance = 45
        elif 750 <= D < 1050:
            allowance = 50
        elif 1050 <= L < 1600:
            allowance = 55
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif L >= 10000:
        if 0 < D < 550:
            allowance = 45
        elif 550 <= D < 700:
            allowance = 50
        elif 700 <= D < 1300:
            allowance = 55
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    else:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #确定余量系数
    if L / D >= 15:
        allowance = 1.1 * allowance
    elif L / D >= 30:
        allowance = 1.3 * allowance

    #加上余量
    D = D + allowance
    L = L + 2 * allowance

    #取整 个位数为5或0
    D = quzheng(D)
    L = quzheng(L)

    #计算体积,单位为立方米,质量,单位为吨
    calcu_quality(D, L)

    #建立新窗口
    Window_output = tk.Tk()
    Window_output.geometry('600x600')
    Window_output.title('锻圆件计算结果')

    #新建窗口上的label
    tk.Label(Window_output, text='D(加余量)为' + str(D)).place(x=250, y=100)
    tk.Label(Window_output, text='L(加余量)为' + str(L)).place(x=250, y=200)

    #新建窗口上的button
    btn_dy_calcu = tk.Button(Window_output, text='确定计算', command=calcu_1)
    btn_dy_calcu.place(x=250, y=400, width=100)
    btn_dy_calcu2 = tk.Button(Window_output,
                              text='重新计算',
                              command=lambda: calcu_again(D, L))
    btn_dy_calcu2.place(x=250, y=450, width=100)
    Window_output.mainloop()
コード例 #4
0
ファイル: fengjizhou.py プロジェクト: zhaozhiyuesdu/jinlei
def fengjizhou_calcu(L1, D1, L2, D2, L3, D3, L4, L5, D5, L6, D6):
    #直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量
    def calcu_1():
        global volume_fjz
        global quality_fjz
        # print("毛坯质量calcu_1"+str(quality_fjz))
        quality_gd = quality_fjz / 0.75
        quality_gd = round(quality_gd, 2)
        quality_fjz = round(quality_fjz, 2)
        tk.Label(window_output,text='风机轴毛坯锻件质量为'+str(quality_fjz)+'吨。成材率≥75%,钢锭质量为'+\
            str(quality_gd)+'吨。',font=(20)).place(x=30,y=30)

    global volume_fjz
    global quality_fjz
    allowance_D1 = 0  #法兰直径余量
    allowance_H = 0  #法兰厚度余量
    allowance_S = 0  #轴身直径余量
    if 1200 <= D1 < 1500:
        allowance_D1 = 55
        allowance_H = 45
        allowance_S = 40
    elif 1500 <= D1 < 1800:
        allowance_D1 = 65
        allowance_H = 50
        allowance_S = 40
    elif 1800 <= D1 < 2100:
        allowance_D1 = 75
        allowance_H = 50
        allowance_S = 45
    elif 2100 <= D1:
        allowance_D1 = 80
        allowance_H = 55
        allowance_S = 45
    else:
        # print("请检查输入的数据是否在合理范围内")
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #加上余量
    L1 = L1 + allowance_H
    D1 = D1 + allowance_D1
    D2 = D2 + allowance_S
    D3 = D3 + allowance_S
    if D5 != 0:
        D5 = D5 + allowance_S
    if D6 != 0:
        D6 = D6 + allowance_S

    #取整 0 1 2舍去 8 9进10  3 4 5 6为5
    L1 = quzheng(L1)
    D1 = quzheng(D1)
    D2 = quzheng(D2)
    D3 = quzheng(D3)
    D5 = quzheng(D5)
    D6 = quzheng(D6)

    # 计算体积 ,单位为立方米,计算质量,单位为吨
    calcu_quality(L1, D1, L2, D2, L3, D3, L4, L5, D5, L6, D6)
    # print("毛坯质量"+str(quality_fjz))

    window_output = tk.Tk()
    window_output.geometry('600x600')
    window_output.title('风机轴件计算结果')

    # 新建窗口上的label
    tk.Label(window_output, text='L1(加余量)为' + str(L1)).place(x=150, y=100)
    tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=350, y=100)
    tk.Label(window_output, text='L2(加余量)为' + str(L2)).place(x=150, y=150)
    tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=350, y=150)
    tk.Label(window_output, text='L3(加余量)为' + str(L3)).place(x=150, y=200)
    tk.Label(window_output, text='D3(加余量)为' + str(D3)).place(x=350, y=200)
    tk.Label(window_output, text='L4(加余量)为' + str(L4)).place(x=150, y=250)
    tk.Label(window_output, text='L5(加余量)为' + str(L5)).place(x=150, y=300)
    tk.Label(window_output, text='D5(加余量)为' + str(D5)).place(x=350, y=300)
    tk.Label(window_output, text='L6(加余量)为' + str(L6)).place(x=150, y=350)
    tk.Label(window_output, text='D6(加余量)为' + str(D6)).place(x=350, y=350)

    # 新建窗口上的button
    btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1)
    btn_yh_calcu.place(x=250, y=400, width=100)
    btn_yh_calcu2=tk.Button(window_output,text='重新计算',command=lambda:\
        calcu_again(L1,D1,L2,D2,L3,D3,L4,L5,D5,L6,D6))
    btn_yh_calcu2.place(x=250, y=460, width=100)
    window_output.mainloop()
コード例 #5
0
def mokuai_calcu(L, B, H):
    #计算出不修改的值
    def calcu_1():
        global volume_mk
        global quality_mk
        quality_gd = quality_mk / 0.75
        quality_gd = round(quality_gd, 2)
        quality_mk = round(quality_mk, 2)
        tk.Label(window_ouput,text='模块毛坯锻件质量为'+str(quality_mk)+'吨。成材率≥75%,钢锭质量为'+\
            str(quality_gd)+'吨。',font=(20)).place(x=30,y=30)

    global volume_mk
    global quality_mk
    allowance = 0
    D = max(B, H)
    if 0 < L <= 1000:
        if 0 < D < 700:
            allowance = 35
        elif 700 <= D < 850:
            allowance = 40
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1000 < L < 2000:
        if 0 < D < 700:
            allowance = 35
        elif 700 <= D < 850:
            allowance = 40
        elif 850 <= D < 1600:
            allowance = 45
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 2000 <= L < 3500:
        if 0 < D < 550:
            allowance = 35
        elif 550 <= D < 850:
            allowance = 40
        elif 850 <= D:
            allowance = 45
    elif 3500 <= L < 5000:
        if 0 < D < 550:
            allowance = 35
        elif 550 <= D < 850:
            allowance = 40
        elif 850 <= D < 1300:
            allowance = 45
        elif 1300 <= D:
            allowance = 50
    elif 5000 <= L < 7500:
        if 0 < D < 700:
            allowance = 40
        elif 700 <= D < 1050:
            allowance = 45
        elif 1050 <= D < 1300:
            allowance = 50
        elif D >= 1300:
            allowance = 55
    elif 7500 <= L < 10000:
        if 0 < D < 700:
            allowance = 45
        elif 750 <= D < 1050:
            allowance = 50
        elif 1050 <= L < 1600:
            allowance = 55
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif L >= 10000:
        if 0 < D < 550:
            allowance = 45
        elif 550 <= D < 700:
            allowance = 50
        elif 700 <= D < 1300:
            allowance = 55
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    else:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #加上余量
    L = L + 1.5 * allowance
    B = B + allowance
    H = H + allowance

    #取整个位数为5 或 0
    L = quzheng(L)
    B = quzheng(B)
    H = quzheng(H)

    #计算毛坯的体积和质量
    calcu_quality(L, B, H)

    #建立新窗口
    window_ouput = tk.Tk()
    window_ouput.geometry('600x600')
    window_ouput.title('模块件计算结果')

    #新建窗口上的label
    tk.Label(window_ouput, text='L(加余量)为' + str(L)).place(x=250, y=100)
    tk.Label(window_ouput, text='B(加余量)为' + str(B)).place(x=250, y=200)
    tk.Label(window_ouput, text='H(加余量)为' + str(H)).place(x=250, y=300)

    #新建窗口上的button
    btn_mk_calcu = tk.Button(window_ouput, text='确定计算', command=calcu_1)
    btn_mk_calcu.place(x=250, y=400, width=100)
    btn_mk_calcu2 = tk.Button(window_ouput,
                              text='重新计算',
                              command=lambda: calcu_again(L, B, H))
    btn_mk_calcu2.place(x=250, y=450, width=100)
    window_ouput.mainloop()
コード例 #6
0
def tongti_calcu(D2, D1, L):
    #直接计算出加余量后的毛坯质量和除以成形率后得到的钢锭质量
    def calcu_1():
        global quality_tt
        quality_gd = quality_tt / 0.75
        quality_gd = round(quality_gd, 2)
        quality_tt = round(quality_tt, 2)
        tk.Label(window_output,text='毛坯锻件质量为'+str(quality_tt)+'吨'+\
         '成材率≥75%,钢锭质量为'+str(quality_gd)+'吨',font=(20)).place(x=50,y=30)

    global volume_tt
    global quality_tt
    allowance = 0
    if D2 <= 500:
        if 0 < L < 2500:
            allowance = 35
        elif 2500 <= L <= 9000:
            allowance = 40
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 500 < D2 <= 700:
        if 0 < L < 4000:
            allowance = 40
        elif 4000 <= L:
            allowance = 45
    elif 700 <= D2 < 900:
        if 0 < L < 2500:
            allowance = 40
        elif 2500 <= L < 9000:
            allowance = 45
        elif 9000 <= L:
            allowance = 50
    elif 900 <= D2 < 1100:
        if 1000 <= L < 1600:
            allowance = 40
        elif 1600 <= L < 6300:
            allowance = 45
        elif 6300 <= L:
            allowance = 50
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1100 <= D2 < 1350:
        if 1000 <= L < 2500:
            allowance = 45
        elif 2500 <= L < 6300:
            allowance = 50
        elif 6300 <= L:
            allowance = 55
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1350 <= D2 < 1700:
        if 2500 <= L < 4000:
            allowance = 50
        elif 4000 <= L < 6300:
            allowance = 55
        elif 6300 <= L:
            allowance = 60
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1700 <= D2:
        if 2500 <= L < 4000:
            allowance = 55
        elif 4000 < L <= 9000:
            allowance = 60
        elif 9000 <= L:
            allowance = 65
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    else:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #加上余量
    if L <= 1000:
        n = 1.5
    elif 1000 < L < 2500:
        n = 1.8
    elif 2500 <= L < 7000:
        n = 2
    elif L >= 7000:
        n = 2.5
    D2 = D2 + allowance
    D1 = D1 - 1.5 * allowance
    if D1 < 0:
        D1 = 0
    L = L + n * allowance

    #取整 0 1 2舍去 8 9进10  3 4 5 6为5
    D2 = quzheng(D2)
    D1 = quzheng(D1)
    L = quzheng(L)

    # 计算体积 ,单位为立方米,计算质量,单位为吨
    calcu_quality(D2, D1, L)

    window_output = tk.Tk()
    window_output.geometry('600x600')
    window_output.title('筒体件计算结果')

    # 新建窗口上的label
    tk.Label(window_output, text='L(加余量)为' + str(L)).place(x=250, y=100)
    tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200)
    tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300)

    # 新建窗口上的button
    btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1)
    btn_yh_calcu.place(x=250, y=400, width=100)
    btn_yh_calcu2 = tk.Button(window_output,
                              text='重新计算',
                              command=lambda: calcu_again(D2, D1, L))
    btn_yh_calcu2.place(x=250, y=450, width=100)
    window_output.mainloop()
コード例 #7
0
ファイル: yuanhuan.py プロジェクト: zhaozhiyuesdu/jinlei
def yuanhuan_calcu(D2, D1, H):
    #直接计算出不修改的值
    def calcu_1():
        global volume_yh
        global quality_yh

        quality_gd = quality_yh / 0.75
        quality_gd = round(quality_gd, 2)
        quality_yh = round(quality_yh, 2)
        tk.Label(window_output,text='毛坯锻件质量为'+str(quality_yh)+'吨。成材率≥75%,钢锭质量为'+\
            str(quality_gd)+'吨。',font=20).place(x=30,y=30)

    global volume_yh
    global quality_yh
    allowance = 0

    if 0 < H <= 300:
        if 0 < D2 <= 500:
            allowance = 30
        elif 500 < D2 < 850:
            allowance = 35
        elif 850 <= D2 < 1300:
            allowance = 40
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 300 < H < 450:
        if 0 < D2 <= 500:
            allowance = 30
        elif 500 < D2 < 850:
            allowance = 35
        elif 850 <= D2 < 1100:
            allowance = 40
        elif 1100 <= D2 < 1300:
            allowance = 45
        elif 1300 <= D2 < 1750:
            allowance = 50
        elif 1750 <= D2 < 2000:
            allowance = 55
        elif 2000 <= D2 < 2300:
            allowance = 60
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 450 <= H < 600:
        if 0 < D2 < 650:
            allowance = 35
        elif 650 <= D2 < 850:
            allowance = 40
        elif 850 <= D2 < 1300:
            allowance = 45
        elif 1300 <= D2 < 1500:
            allowance = 50
        elif 1500 <= D2 < 2000:
            allowance = 55
        elif 2000 <= D2 < 2300:
            allowance = 60
        elif 2300 <= D2 < 2600:
            allowance = 65
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 600 <= H < 800:
        if 0 < D2 < 650:
            allowance = 40
        elif 650 <= D2 < 1100:
            allowance = 45
        elif 1100 <= D2 < 1300:
            allowance = 50
        elif 1300 <= D2 < 1750:
            allowance = 55
        elif 1750 <= D2 < 2000:
            allowance = 60
        elif 2000 <= D2 < 2300:
            allowance = 65
        elif 2300 <= D2 < 2900:
            allowance = 70
        elif 2900 <= D2 < 3300:
            allowance = 75
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 800 <= H < 1050:
        if 650 <= D2 < 1100:
            allowance = 45
        elif 1100 <= D2 < 1300:
            allowance = 50
        elif 1300 <= D2 < 1500:
            allowance = 55
        elif 1500 <= D2 < 1750:
            allowance = 60
        elif 1750 <= D2 < 2300:
            allowance = 65
        elif 2300 <= D2 < 2600:
            allowance = 70
        elif 2600 <= D2 < 2900:
            allowance = 75
        elif 2900 <= D2 < 3300:
            allowance = 85
        elif 3300 <= D2 < 3600:
            allowance = 90
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1050 <= H < 1400:
        if 850 <= D2 < 1300:
            allowance = 50
        elif 1300 <= D2 < 1500:
            allowance = 55
        elif 1500 <= D2 < 1750:
            allowance = 60
        elif 1750 <= D2 < 2000:
            allowance = 65
        elif 2000 <= D2 < 2300:
            allowance = 70
        elif 2300 <= D2 < 2600:
            allowance = 75
        elif 2600 <= D2 < 2900:
            allowance = 80
        elif 2900 <= D2 < 3300:
            allowance = 90
        elif 3300 <= D2 < 3600:
            allowance = 100
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    elif 1400 <= H < 1900:
        if 1100 <= D2 < 1300:
            allowance = 55
        elif 1300 <= D2 < 1500:
            allowance = 60
        elif 1500 <= D2 < 1750:
            allowance = 65
        elif 1750 <= D2 < 2000:
            allowance = 70
        elif 2000 <= D2 < 2300:
            allowance = 75
        elif 2300 <= D2 < 2600:
            allowance = 80
        elif 2600 <= D2 < 2900:
            allowance = 90
        elif 2900 <= D2 < 3300:
            allowance = 100
        elif 3300 <= D2 < 3600:
            allowance = 110
        else:
            tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')
    else:
        tk.messagebox.showinfo(title='出错', message='请检查输入的数据是否在合理范围内')

    #加上余量
    D2 = D2 + allowance
    D1 = D1 - 1.2 * allowance
    H = H + 1.2 * allowance
    if D1 < 0:
        D1 = 0

    #取整 个位数为5或0
    D2 = quzheng(D2)
    D1 = quzheng(D1)
    H = quzheng(H)

    #计算毛坯的体积和质量,单位为立方米和吨
    calcu_quality(D2, D1, H)

    #建立新窗口
    window_output = tk.Tk()
    window_output.geometry('600x600')
    window_output.title('圆环件计算结果')

    #新建窗口上的label
    tk.Label(window_output, text='D2(加余量)为' + str(D2)).place(x=250, y=300)
    tk.Label(window_output, text='D1(加余量)为' + str(D1)).place(x=250, y=200)
    tk.Label(window_output, text='H(加余量)为' + str(H)).place(x=250, y=100)

    #新建窗口上的button
    btn_yh_calcu = tk.Button(window_output, text='确定计算', command=calcu_1)
    btn_yh_calcu.place(x=250, y=400, width=100)
    btn_yh_calcu2 = tk.Button(window_output,
                              text='重新计算',
                              command=lambda: calcu_again(D2, D1, H))
    btn_yh_calcu2.place(x=250, y=450, width=100)
    window_output.mainloop()