def saved_successfully(unit_weight, total_weight, cutting_distance, folder): message = "Your code has been successfully generated!\n\n" message += "Unit Weight: " + Auxiliares.pesoString(unit_weight) message += "\nTotal weight: " + Auxiliares.pesoString(total_weight) message += "\nCutting distance: " + Auxiliares.converterDist( cutting_distance) message += "\nNote: Weight for steel parts" message += "\n\nThe G-code is in this folder:\n " + folder dlg = wx.MessageDialog(parent=None, message=message, caption="Saved code", style=wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy()
def mensagemSucesso(pecas, pecasFaltantes, pecasGeradas, chapaX, chapaY): limparTela() if pecasFaltantes != 0: mensagem = "Não há espaço suficiente na chapa para\ncortar a quantidade de peças informadas!\n" mensagem += "A quantidade máxima suportada de peças\npara este tamanho de chapa foi gerada!\n\n" mensagem += "Informações sobre o programa gerado:\n" mensagem += "\nQuantidade pretendida de peças: " + str( pecas) + " pçs" mensagem += "\nQuantidade de peças que faltaram:" + str( pecasFaltantes) + " pçs" mensagem += "\nQuantidade de peças geradas: " + str( pecasGeradas) + " pçs" mensagem += "\nTamanho da chapa: " + str(chapaX) + " X " + str( chapaY) + " mm" print(mensagem) if pecasFaltantes == 0 and salvar != "": mensagem = "O seu código foi gerado com sucesso!\n\n" mensagem += "Peso unitário: " + Auxiliares.pesoString(pesoUnitario) mensagem += "\nPeso total: " + Auxiliares.pesoString(pesoTotal) mensagem += "\nDistância de corte: " + Auxiliares.converterDist( distCorte) mensagem += "\nObs: Peso para peças de aço\n\n" print(mensagem)
def formatos(processo): print("Processo escolhido: " + str(processo)) print("\nFerramentas disponíveis:") print("1-Retângulo") print("2-Circulo") print("3-Triângulo retângulo") print("4-Retângulo com furo central") ferramenta = input("\nFerramenta:") erros = True ####Mensagem de sucesso def mensagemSucesso(pecas, pecasFaltantes, pecasGeradas, chapaX, chapaY): limparTela() if pecasFaltantes != 0: mensagem = "Não há espaço suficiente na chapa para\ncortar a quantidade de peças informadas!\n" mensagem += "A quantidade máxima suportada de peças\npara este tamanho de chapa foi gerada!\n\n" mensagem += "Informações sobre o programa gerado:\n" mensagem += "\nQuantidade pretendida de peças: " + str( pecas) + " pçs" mensagem += "\nQuantidade de peças que faltaram:" + str( pecasFaltantes) + " pçs" mensagem += "\nQuantidade de peças geradas: " + str( pecasGeradas) + " pçs" mensagem += "\nTamanho da chapa: " + str(chapaX) + " X " + str( chapaY) + " mm" print(mensagem) if pecasFaltantes == 0 and salvar != "": mensagem = "O seu código foi gerado com sucesso!\n\n" mensagem += "Peso unitário: " + Auxiliares.pesoString(pesoUnitario) mensagem += "\nPeso total: " + Auxiliares.pesoString(pesoTotal) mensagem += "\nDistância de corte: " + Auxiliares.converterDist( distCorte) mensagem += "\nObs: Peso para peças de aço\n\n" print(mensagem) ####Gerar codigo da ferramenta escolhida if ferramenta == "1": erros = False #retangulo #Perguntar dados ao usuario limparTela() cliente = input("Cliente:") cliente = cliente.upper() espi = input("Espessura:") txd = input("Tamanho X:") tyd = input("Tamanho Y:") entrada = input("Entrada:") chapaX = input("Tamanho da chapa em X:") chapaY = input("Tamanho da chapa em Y:") pecas = input("Quantidade:") #Transformando espessura espi = espi.replace('.', ',') espi = espi.replace('/', '-') espi = espi.replace('\\', '-') espi = espi.replace('\'', '') espi = espi.replace('"', '') espessura = espi espessura = espessura.replace(' ', '') espessura = espessura.replace('m', '') #Trocar vírgula por ponto txd = txd.replace(',', '.') tyd = tyd.replace(',', '.') entrada = entrada.replace(',', '.') chapaX = chapaX.replace(',', '.') chapaY = chapaY.replace(',', '.') #Se o tamanho da chapa for deixado em branco definir como ZERO if chapaX == "": chapaX = 0 if chapaY == "": chapaY = 0 if entrada == "": entrada = 5 #Transformando a espessura em mm if espi.find("m") == -1: espessura = Auxiliares.PassarMilimetro(espessura) #Pegar os parâmetros if processo == "Oxicorte": Kerf, avanco = Auxiliares.Kerf(espessura) if processo == "Plasma": Kerf, avanco = Auxiliares.KerfPlasma(espessura) #Chamando a funcao que gera o codigo if processo == "Oxicorte": pecasGeradas, programa, distCorte = Oxicorte.Retangulo( txd, tyd, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Plasma": pecasGeradas, programa, distCorte = Plasma.Retangulo( txd, tyd, entrada, chapaX, chapaY, pecas, Kerf) #pass pecasFaltantes = int(pecas) - int(pecasGeradas) #Nome do arquivo nomePadrao = cliente + " " + espi + "X" + str(int(txd)) + "X" + str( int(tyd)) + "-" + str(int(pecasGeradas)) + "P" print(nomePadrao) #Calcular o peso em gramas pesoUnitario, pesoTotal = Auxiliares.pesoRetangulo( espessura, txd, tyd, pecasGeradas) #Adicionar os dados ao arquivo estat Auxiliares.adicionarEstat(distCorte, pesoTotal) #Adicionar dados ao historico if erros == 0: SpesoUnitario = Auxiliares.pesoString(pesoUnitario) SpesoTotal = Auxiliares.pesoString(pesoTotal) SdistCorte = Auxiliares.converterDist(distCorte) Auxiliares.escreverHist(nomePadrao, SpesoUnitario, SpesoTotal, SdistCorte, Auxiliares.versao()) ferramenta = str(txd) + '","' + str(tyd) + '","' + str( entrada) + '","' + str(chapaX) + '","' + str(chapaY) + '","' + str( pecas) + '","' + str(Kerf) linha = '"' + str(nomePadrao) + '","' + str(ferramenta) + '","' + str( pecasFaltantes) + '","' + str(pecasGeradas) + '","' + str( SpesoUnitario) + '","' + str(SpesoTotal) + '","' + str( SdistCorte) + '","' + Auxiliares.versao() + '","' + str( erros) + '","retangulo","' + str( processo) + '","Terminal"\n' Auxiliares.escreverCSV(linha) LegFerramenta = 'txd,tyd,entrada,chapaX,chapaY,pecas,Kerf' Leglinha = 'nomePadrao,' + LegFerramenta + ',pecasFaltantes,pecasGeradas,SpesoUnitario,SpesoTotal,SdistCorte,versao,erros,formato,processo,Terminal\n' Auxiliares.escreverCSV(Leglinha) elif ferramenta == "2": erros = False #circulo #Perguntar dados ao usuario limparTela() cliente = input("Cliente:") cliente = cliente.upper() espi = input("Espessura:") diam1 = input("Diâmetro 1:") diam2 = input("Diâmetro 2:") entrada = input("Entrada:") chapaX = input("Tamanho da chapa em X:") chapaY = input("Tamanho da chapa em Y:") pecas = input("Quantidade:") #Transformando espessura espi = espi.replace('.', ',') espi = espi.replace('/', '-') espi = espi.replace('\\', '-') espi = espi.replace('\'', '') espi = espi.replace('"', '') espessura = espi espessura = espessura.replace(' ', '') espessura = espessura.replace('m', '') #Trocar vírgula por ponto diam1 = diam1.replace(',', '.') diam2 = diam2.replace(',', '.') entrada = entrada.replace(',', '.') chapaX = chapaX.replace(',', '.') chapaY = chapaY.replace(',', '.') #Se o tamanho da chapa for deixado em branco definir como ZERO if diam1 == "": diam1 = 0 if diam2 == "": diam2 = 0 if chapaX == "": chapaX = 0 if chapaY == "": chapaY = 0 if entrada == "": entrada = 5 #Definir o maior diametro como diam1 if diam2 > diam1: maior = diam2 menor = diam1 diam2 = maior diam1 = menor #Se nao tiver furo o diametro e' u'nico if diam2 == 0: diam = diam1 #Transformando a espessura em mm if espi.find("m") == -1: espessura = Auxiliares.PassarMilimetro(espessura) #Pegar os parâmetros if processo == "Oxicorte": Kerf, avanco = Auxiliares.Kerf(espessura) if processo == "Plasma": Kerf, avanco = Auxiliares.KerfPlasma(espessura) #Chamando a funcao que gera o codigo if processo == "Oxicorte" and diam2 > 0: pecasGeradas, programa, distCorte = Oxicorte.Circulo( diam1, diam2, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Plasma" and diam2 > 0: pecasGeradas, programa, distCorte = Plasma.Circulo( diam1, diam2, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Oxicorte" and diam2 == 0: pecasGeradas, programa, distCorte = Oxicorte.CirculoSimples( diam, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Plasma" and diam2 == 0: pecasGeradas, programa, distCorte = Plasma.CirculoSimples( diam, entrada, chapaX, chapaY, pecas, Kerf) pecasFaltantes = int(pecas) - int(pecasGeradas) #Nome do arquivo if diam2 > 0: nomePadrao = cliente + " " + espi + "XD" + str( int(diam1)) + "XD" + str(int(diam2)) + "-" + str( int(pecasGeradas)) + "P" if diam2 == 0: nomePadrao = cliente + " " + espi + "X D" + str( int(diam)) + "-" + str(int(pecasGeradas)) + "P" print(nomePadrao) #Calcular o peso em gramas if diam2 > 0: pesoUnitario, pesoTotal = Auxiliares.pesoAnel( espessura, diam1, diam2, pecasGeradas) if diam2 == 0: pesoUnitario, pesoTotal = Auxiliares.pesoCirculo( espessura, diam, pecasGeradas) #Adicionar os dados ao arquivo estat Auxiliares.adicionarEstat(distCorte, pesoTotal) #Adicionar dados ao historico if erros == False and diam2 > 0: SpesoUnitario = Auxiliares.pesoString(pesoUnitario) SpesoTotal = Auxiliares.pesoString(pesoTotal) SdistCorte = Auxiliares.converterDist(distCorte) Auxiliares.escreverHist(nomePadrao, SpesoUnitario, SpesoTotal, SdistCorte, Auxiliares.versao()) if erros == False and diam2 == 0: SpesoUnitario = Auxiliares.pesoString(pesoUnitario) SpesoTotal = Auxiliares.pesoString(pesoTotal) SdistCorte = Auxiliares.converterDist(distCorte) Auxiliares.escreverHist(nomePadrao, SpesoUnitario, SpesoTotal, SdistCorte, Auxiliares.versao()) if diam2 > 0: ferramenta = str(diam1) + '","' + str(diam2) + '","' + str( entrada) + '","' + str(chapaX) + '","' + str( chapaY) + '","' + str(pecas) + '","' + str(Kerf) linha = '"' + str(nomePadrao) + '","' + str( ferramenta) + '","' + str(pecasFaltantes) + '","' + str( pecasGeradas) + '","' + str(SpesoUnitario) + '","' + str( SpesoTotal) + '","' + str( SdistCorte) + '","' + Auxiliares.versao( ) + '","' + str(erros) + '",anel,"' + str( processo) + '","Terminal"\n' Auxiliares.escreverCSV(linha) LegFerramenta = 'diam1,diam2,entrada,chapaX,chapaY,pecas,Kerf' Leglinha = 'nomePadrao,' + LegFerramenta + ',pecasFaltantes,pecasGeradas,SpesoUnitario,SpesoTotal,SdistCorte,versao,erros,formato,processo,Terminal\n' Auxiliares.escreverCSV(Leglinha) if diam2 == 0: ferramenta = str(diam1) + '","","' + str(entrada) + '","' + str( chapaX) + '","' + str(chapaY) + '","' + str( pecas) + '","' + str(Kerf) linha = '"' + str(nomePadrao) + '","' + str( ferramenta) + '","' + str(pecasFaltantes) + '","' + str( pecasGeradas) + '","' + str(SpesoUnitario) + '","' + str( SpesoTotal) + '","' + str( SdistCorte) + '","' + Auxiliares.versao( ) + '","' + str(erros) + '",circulo,"' + str( processo) + '","Terminal"\n' Auxiliares.escreverCSV(linha) LegFerramenta = 'diam1,,entrada,chapaX,chapaY,pecas,Kerf' Leglinha = 'nomePadrao,' + LegFerramenta + ',pecasFaltantes,pecasGeradas,SpesoUnitario,SpesoTotal,SdistCorte,versao,erros,formato,processo,Terminal\n' Auxiliares.escreverCSV(Leglinha) elif ferramenta == "3": erros = False #"triangulo-retangulo" #Perguntar dados ao usuario limparTela() cliente = input("Cliente:") cliente = cliente.upper() espi = input("Espessura:") txd = input("Tamanho X:") tyd = input("Tamanho Y:") entrada = input("Entrada:") chapaX = input("Tamanho da chapa em X:") chapaY = input("Tamanho da chapa em Y:") pecas = input("Quantidade:") #Transformando espessura espi = espi.replace('.', ',') espi = espi.replace('/', '-') espi = espi.replace('\\', '-') espi = espi.replace('\'', '') espi = espi.replace('"', '') espessura = espi espessura = espessura.replace(' ', '') espessura = espessura.replace('m', '') #Trocar vírgula por ponto txd = txd.replace(',', '.') tyd = tyd.replace(',', '.') entrada = entrada.replace(',', '.') chapaX = chapaX.replace(',', '.') chapaY = chapaY.replace(',', '.') #Se o tamanho da chapa for deixado em branco definir como ZERO if chapaX == "": chapaX = 0 if chapaY == "": chapaY = 0 if entrada == "": entrada = 5 #Transformando a espessura em mm if espi.find("m") == -1: espessura = Auxiliares.PassarMilimetro(espessura) #Pegar os parâmetros if processo == "Oxicorte": Kerf, avanco = Auxiliares.Kerf(espessura) if processo == "Plasma": Kerf, avanco = Auxiliares.KerfPlasma(espessura) #Chamando a funcao que gera o codigo if processo == "Oxicorte": pecasGeradas, programa, distCorte = Oxicorte.TrianguloRetangulo( txd, tyd, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Plasma": pecasGeradas, programa, distCorte = Plasma.TrianguloRetangulo( txd, tyd, entrada, chapaX, chapaY, pecas, Kerf) pecasFaltantes = int(pecas) - int(pecasGeradas) #Nome do arquivo nomePadrao = cliente + " " + espi + "X" + str(int(txd)) + "X" + str( int(tyd)) + "-" + str(int(pecasGeradas)) + "P" print(nomePadrao) #Calculando o peso das peças em gramas pesoUnitario, pesoTotal = Auxiliares.pesoTrianguloRetangulo( espessura, txd, tyd, pecasGeradas) #Adicionar os dados ao arquivo estat Auxiliares.adicionarEstat(distCorte, pesoTotal) #Adicionar dados ao historico if erros == False: SpesoUnitario = Auxiliares.pesoString(pesoUnitario) SpesoTotal = Auxiliares.pesoString(pesoTotal) SdistCorte = Auxiliares.converterDist(distCorte) Auxiliares.escreverHist(nomePadrao, SpesoUnitario, SpesoTotal, SdistCorte, Auxiliares.versao()) ferramenta = str(txd) + '","' + str(tyd) + '","' + str( entrada) + '","' + str(chapaX) + '","' + str(chapaY) + '","' + str( pecas) + '","' + str(Kerf) linha = '"' + str(nomePadrao) + '","' + str(ferramenta) + '","' + str( pecasFaltantes) + '","' + str(pecasGeradas) + '","' + str( SpesoUnitario) + '","' + str(SpesoTotal) + '","' + str( SdistCorte) + '","' + Auxiliares.versao() + '","' + str( erros) + '","triangulo retangulo","' + str( processo) + '","Terminal"\n' Auxiliares.escreverCSV(linha) LegFerramenta = 'txd,tyd,entrada,chapaX,chapaY,pecas,Kerf' Leglinha = 'nomePadrao,' + LegFerramenta + ',pecasFaltantes,pecasGeradas,SpesoUnitario,SpesoTotal,SdistCorte,versao,erros,formato,processo,Terminal\n' Auxiliares.escreverCSV(Leglinha) elif ferramenta == "4": erros = False ##Retângulo com furo central #Perguntar dados ao usuario limparTela() cliente = input("Cliente:") cliente = cliente.upper() espi = input("Espessura:") txd = input("Tamanho X:") tyd = input("Tamanho Y:") furo = input("Furo:") entrada = input("Entrada:") chapaX = input("Tamanho da chapa em X:") chapaY = input("Tamanho da chapa em Y:") pecas = input("Quantidade:") #Transformando espessura espi = espi.replace('.', ',') espi = espi.replace('/', '-') espi = espi.replace('\\', '-') espi = espi.replace('\'', '') espi = espi.replace('"', '') espessura = espi espessura = espessura.replace(' ', '') espessura = espessura.replace('m', '') #Trocar vírgula por ponto txd = txd.replace(',', '.') tyd = tyd.replace(',', '.') furo = furo.replace(',', '.') entrada = entrada.replace(',', '.') chapaX = chapaX.replace(',', '.') chapaY = chapaY.replace(',', '.') #Se o tamanho da chapa for deixado em branco definir como ZERO if chapaX == "": chapaX = 0 if chapaY == "": chapaY = 0 if entrada == "": entrada = 5 #Transformando a espessura em mm if espi.find("m") == -1: espessura = Auxiliares.PassarMilimetro(espessura) #Pegar os parâmetros if processo == "Oxicorte": Kerf, avanco = Auxiliares.Kerf(espessura) if processo == "Plasma": Kerf, avanco = Auxiliares.KerfPlasma(espessura) #Chamando a funcao que gera o codigo if processo == "Oxicorte": pecasGeradas, programa, distCorte = Oxicorte.RetanguloFuro( txd, tyd, furo, entrada, chapaX, chapaY, pecas, Kerf) if processo == "Plasma": pecasGeradas, programa, distCorte = Plasma.RetanguloFuro( txd, tyd, furo, entrada, chapaX, chapaY, pecas, Kerf) pecasFaltantes = int(pecas) - int(pecasGeradas) #Nome do arquivo nomePadrao = cliente + " " + espi + "X" + str(int(txd)) + "X" + str( int(tyd)) + "XD" + str(int(furo)) + "-" + str( int(pecasGeradas)) + "P" print(nomePadrao) #Calcular o peso em gramas pesoUnitario, pesoTotal = Auxiliares.pesoRetanguloFuro( espessura, txd, tyd, furo, pecasGeradas) #Adicionar os dados ao arquivo estat Auxiliares.adicionarEstat(distCorte, pesoTotal) #Adicionar dados ao historico if erros == 0: SpesoUnitario = Auxiliares.pesoString(pesoUnitario) SpesoTotal = Auxiliares.pesoString(pesoTotal) SdistCorte = Auxiliares.converterDist(distCorte) Auxiliares.escreverHist(nomePadrao, SpesoUnitario, SpesoTotal, SdistCorte, Auxiliares.versao()) ferramenta = str(txd) + '","' + str(tyd) + '","' + str( furo) + '","' + str(entrada) + '","' + str(chapaX) + '","' + str( chapaY) + '","' + str(pecas) + '","' + str(Kerf) linha = '"' + str(nomePadrao) + '","' + str(ferramenta) + '","' + str( pecasFaltantes) + '","' + str(pecasGeradas) + '","' + str( SpesoUnitario) + '","' + str(SpesoTotal) + '","' + str( SdistCorte) + '","' + Auxiliares.versao() + '","' + str( erros) + '","retangulo com furo","' + str( processo) + '","Terminal"\n' Auxiliares.escreverCSV(linha) LegFerramenta = 'txd,tyd,DiamFuro,entrada,chapaX,chapaY,pecas,Kerf' Leglinha = 'nomePadrao,' + LegFerramenta + ',pecasFaltantes,pecasGeradas,SpesoUnitario,SpesoTotal,SdistCorte,versao,erros,formato,processo,Terminal\n' Auxiliares.escreverCSV(Leglinha) else: #Se uma ferramenta invalida for escolhida reiniciar codigo limparTela() print('Ferramenta "' + str(ferramenta) + '" não reconhecida!') print('Por favor digite o número da ferramenta novamente\n') formatos(processo) ####Para não colocar a os avanços definir velocidades como ZERO icorte, fcorte, extencao, mesaX, mesaY, numerar, colocarVelocidadeAvanco, colocarVelocidadeAvancoRapido, velocidadeAvancoRapido, pastaPadWin, pastaPadLinux = Auxiliares.Parametros( ) if colocarVelocidadeAvanco == 0: avanco = 0 if colocarVelocidadeAvancoRapido == 0: velocidadeAvancoRapido = 0 ####Chamando a função que cria o arquivo def salvarPrograma(programa, salvar, avanco, velocidadeAvancoRapido, numerar): Auxiliares.escreverPrograma(programa, salvar) if (avanco > 0): Auxiliares.ColocarVelocidadeAvanco(salvar, avanco) if (velocidadeAvancoRapido > 0): Auxiliares.ColocarVelocidadeAvancoRapido(salvar, velocidadeAvancoRapido) if (numerar == 1): Auxiliares.NumerarLinhas(salvar) if erros == False: salvar = "CNC/" + str(nomePadrao) salvarPrograma(programa, salvar, avanco, velocidadeAvancoRapido, numerar) #Se a pasta padrao existir salvar nela if os.path.isdir(Auxiliares.Parametros()[10]) == True: pastaPad = Auxiliares.Parametros()[10] salvar = pastaPad + "/" + str(nomePadrao) salvarPrograma(programa, salvar, avanco, velocidadeAvancoRapido, numerar) if os.path.isdir(Auxiliares.Parametros()[9]) == True: pastaPad = Auxiliares.Parametros()[9] salvar = pastaPad + "/" + str(nomePadrao) salvarPrograma(programa, salvar, avanco, velocidadeAvancoRapido, numerar) mensagemSucesso(pecas, pecasFaltantes, pecasGeradas, chapaX, chapaY)