gente pues si me pueden ayudar con este programa, el tema es que es con interfaz grafica, y en la parte del principal() tengo una variable llamada Pc y otra llamada Z, ambas son muy importantes para los cálculos que se realizan mas adelante, el caso es que estas variables agarran los datos de las interfaces de "numero de dientes" y la sección de paso circular, para la variable pc, si permite agarrar el dato ingresado, sin embargo Z no lo agarra y presenta el error !=Entry. para ver si alguien me colabora.
en caso de que me ayuden, corran el programa y en las interfaces coloquen como valores 1 en cada ventana, cuando se abra la de paso circular o modulo, seleccionen paso circular, y de igual modo ingresan un 1.
gracias de antemano, estare pendiente.
en caso de que me ayuden, corran el programa y en las interfaces coloquen como valores 1 en cada ventana, cuando se abra la de paso circular o modulo, seleccionen paso circular, y de igual modo ingresan un 1.
gracias de antemano, estare pendiente.
Código:
from ast import Mod
from tkinter import*
from tkinter import messagebox
import tkinter as tk
import math
from webbrowser import get
pi=math.pi
Dp=0.0
M=0
Pc=0
Z=0.0
De=0.0
S=0.0
W=0.0
Di=0.0
PieDiente=0.0
CabezaDiente=0.0
AlturaDiente=0.0
ModOK=0.0
PcOK=0.0
k=0
NumEngra=0
Paso=""
PasoC=""
Determinante=0
PasoMod=""
PasoPaso=""
Engr=0
def Principal():
Pc=float(entradaPaso.get())
Z=float(entradaDientes.get())
if Pc>0:
M=Pc/(math.pi)
Dp=Z*ModOK
De=Dp+2*ModOK
S=(Pc*19)/40
W=(Pc*21)/40
Di=Dp-(2*1.25*(M))
PieDiente=1.250*(M)
CabezaDiente=M
AlturaDiente=(2.25*M)
else:
Dp=(Z)*(ModOK)
PcOK=(math.pi)*(ModOK)
De=(Dp)+2*(ModOK)
S=((PcOK)*19)/40
W=((PcOK)*21)/40
Di=Dp-(2*1.25*(ModOK))
PieDiente=1.250*(ModOK)
CabezaDiente=M
AlturaDiente=(2.25*(ModOK))
print ("Número de dientes: ", Z)
print ("Módulo: ", M)
print ("Paso circular: ", Pc)
print ("Diametro primitivo: ", Dp)
print ("Grueso del diente: ", S)
print ("Hueco del diente: ", W)
print ("Diámetro interior: ", Di)
print ("Pie del diente: ", PieDiente)
print ("Cabeza del diente: ", CabezaDiente)
print ("Altura del diente: ", AlturaDiente)
#RECORDATORIO AL USUARIO
def Bienvenida ():
messagebox.showinfo(message="Bienvenido a la calculadora de geometria de engranajes rectos. Recuerde que las unidades de medida introducidas serán coincidentes con los resultados.", title="Información")
Bienvenida()
def pregengranajes():
global entradaEngranajes
VentEngr=Tk()
VentEngr.title("Número de engranajes")
VentEngr.geometry ("400x200+20+10")
textoEngr=Label(VentEngr, text = "Introduzca cuantos engranajes desea crear: ").grid(row=0,
column=0, sticky = NW)
entradaEngranajes=Entry(VentEngr)
entradaEngranajes.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
btnEngr=Button(VentEngr, text="Confirmar", command=VentEngr.destroy)
btnEngr.place(x=80, y=100)
VentEngr.columnconfigure(1, weight=1, minsize=75)
VentEngr.rowconfigure(0, weight=1, minsize=50)
VentEngr.mainloop()
return(entradaEngranajes)
pregengranajes()
def numdientes():
global entradaDientes
VentDien=Tk()
VentDien.title("Número de dientes")
VentDien.geometry ("450x200+20+10")
textoDien=Label(VentDien, text = "Introduzca cuantos dientes desea que el engranaje tenga: ").grid(row=0,
column=0, sticky = NW)
entradaDientes=Entry(VentDien)
entradaDientes.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
btnDien=Button(VentDien, text="Confirmar", command=VentDien.destroy)
btnDien.place(x=80, y=100)
VentDien.columnconfigure(1, weight=1, minsize=75)
VentDien.rowconfigure(0, weight=1, minsize=50)
VentDien.mainloop()
return entradaDientes
numdientes()
def pasomodulo():
VentQuest=Tk()
VentQuest.title("¿Paso o Modulo?")
VentQuest.geometry ("400x200+20+10")
textoPasoModu=Label(VentQuest, text = "Por favor indique si desea usar el módulo o el paso para los cálculos").grid(row=0,column=0, sticky = "w")
btnVentQuestPaso=Button(VentQuest, text="Paso Circular", command=detPasoCircular)
btnVentQuestPaso.place(x=40, y=100)
btnVentQuestModulo=Button(VentQuest, text="Módulo", command=detModulo)
btnVentQuestModulo.place(x=200, y=100)
VentQuest.mainloop()
def detPasoCircular():
global VentPaso
global entradaPaso
VentPaso=Tk()
VentPaso.title("Número de dientes")
VentPaso.geometry ("450x200+20+10")
textoPaso=Label(VentPaso, text = "Introduzca el valor del paso circular: ").grid(row=0,
column=0, sticky = NW)
entradaPaso=Entry(VentPaso)
entradaPaso.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
btnPaso=Button(VentPaso, text="Confirmar", command=Principal)
btnPaso.place(x=80, y=100)
VentPaso.columnconfigure(1, weight=1, minsize=75)
VentPaso.rowconfigure(0, weight=1, minsize=50)
VentPaso.mainloop()
return entradaPaso
###SI ESCOGE MODULO
def detModulo():
global entradaModulo
global VentModulo
VentModulo=Tk()
VentModulo.title("Número de dientes")
VentModulo.geometry ("450x200+20+10")
textoModulo=Label(VentModulo, text = "Introduzca el valor del módulo: ").grid(row=0,
column=0, sticky = NW)
entradaModulo=Entry(VentModulo)
entradaModulo.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
btnModulo=Button(VentModulo, text="Confirmar", command=Principal)
btnModulo.place(x=80, y=100)
VentModulo.columnconfigure(1, weight=1, minsize=75)
VentModulo.rowconfigure(0, weight=1, minsize=50)
VentModulo.mainloop()
return entradaModulo
pasomodulo()