pÓs processador de catia v5r20 para emco pc … · catia, que abre um ficheiro de código cnc...

27
ADEM/ISEL GI-MOSM & CEEM Lisboa, 02 Novembro 2016 PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC TURN 55 Sérgio André Aguiar Góis 1 , Eduardo Faria Sousa 2 ADEM Área Departamental de Engenharia Mecânica ISEL Instituto Superior de Engenharia de Lisboa Rua Conselheiro Emídio Navarro, 1, 1959-007 Lisboa e-mail primeiro autor: [email protected] e-mail segundo autor: [email protected] Palavras-chave Engenharia mecânica, CATIA, CNC, torneamento, programação, conversor. Abstract Neste documento está apresentado um programa que funciona como pós- processador do CATIA, que abre um ficheiro de código gerado pelo pós-processador do CATIA V5R20, e corrige esse código de modo a ser lido pelo torno CNC i (EMCO PC TURN 55). O software CATIA V5R20 utiliza tecnologia CAM ii , que permite através da geometria de modelos tridimensionais gerados no mesmo ou outros softwares, gerar um código num formato adequado a ser lido nos modelos mais comuns de máquinas CNC e Tornos Mecânicos CNC, dependendo do tipo de geometria da peça e das operações que se pretende efetuar. O programa foi desenvolvido numa linguagem de programação atual, que é o Visual Basic.NET, que outrora foi programado em Visual Basic 6. A interface do programa foi criada de raiz, de forma a ser mais prática e compreensível para o utilizador. Foi também criado um manual de instruções no qual se auxilia o utilizador a criar uma peça para torneamento no CATIA, assim como a geração do código CNC, e posterior pós- processamento pelo programa. Foi também adicionado ao programa um leitor de pdf, de modo a ser possível visualizar os manuais de instruções de torneamento diretamente no programa. i CNC – Comando Numérico Computarizado ii CAM - Computer Assisted Machining

Upload: trancong

Post on 21-Nov-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

ADEM/ISEL

GI-MOSM & CEEM

Lisboa, 02 Novembro

2016

PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC TURN 55

Sérgio André Aguiar Góis1, Eduardo Faria Sousa2

ADEM – Área Departamental de Engenharia Mecânica

ISEL – Instituto Superior de Engenharia de Lisboa

Rua Conselheiro Emídio Navarro, 1, 1959-007 – Lisboa

e-mail primeiro autor: [email protected]

e-mail segundo autor: [email protected]

Palavras-chave Engenharia mecânica, CATIA, CNC, torneamento, programação, conversor.

Abstract Neste documento está apresentado um programa que funciona como pós-

processador do CATIA, que abre um ficheiro de código gerado pelo pós-processador do

CATIA V5R20, e corrige esse código de modo a ser lido pelo torno CNCi (EMCO PC TURN

55).

O software CATIA V5R20 utiliza tecnologia CAMii, que permite através da geometria de

modelos tridimensionais gerados no mesmo ou outros softwares, gerar um código num

formato adequado a ser lido nos modelos mais comuns de máquinas CNC e Tornos

Mecânicos CNC, dependendo do tipo de geometria da peça e das operações que se pretende

efetuar.

O programa foi desenvolvido numa linguagem de programação atual, que é o Visual

Basic.NET, que outrora foi programado em Visual Basic 6. A interface do programa foi

criada de raiz, de forma a ser mais prática e compreensível para o utilizador. Foi também

criado um manual de instruções no qual se auxilia o utilizador a criar uma peça para

torneamento no CATIA, assim como a geração do código CNC, e posterior pós-

processamento pelo programa. Foi também adicionado ao programa um leitor de pdf, de

modo a ser possível visualizar os manuais de instruções de torneamento diretamente no

programa.

i CNC – Comando Numérico Computarizado ii CAM - Computer Assisted Machining

Page 2: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

1. INTRODUÇÃO

Este trabalho vem na sequência do que se tem vindo a desenvolver nos semestres anteriores,

mais concretamente em relação ao modo de funcionamento do módulo de torneamento do

CATIA V5R20. O software CATIA V5R20 utiliza tecnologia CAM que permite através da

geometria de modelos tridimensionais gerados no mesmo ou outros softwares, gerar um

código num formato adequado a ser lido nos modelos mais comuns de máquinas CNC e

Tornos Mecânicos, dependendo do tipo de geometria da peça e das operações que se pretende

efetuar.

O primeiro trabalho realizado acerca do módulo de torneamento no CATIA V5R20 foi

efetuado pelos colegas David Bronze, João Pires e Rui Colaço, em semestres anteriores, onde

realizaram um “Manual de iniciação ao módulo de torneamento – CATIA V5R20”, onde os

mesmos descrevem detalhadamente os procedimentos a efetuar de modo a gerar um código

CNC através de um modelo tridimensional, identificando um pós-processador (fanuc), para

gerar o código. Este código gerado por este pós-processador (fanuc) não é compatível com o

torno existente no laboratório de maquinação CNC do ISEL, o EMCO to PC TURN 55, este

contêm erros que têm de ser corrigidos manualmente.

O trabalho seguinte foi realizado pelos colegas Fábio Damásio, José Berardo e Maximilian

Grasberger, identificou detalhadamente os erros e as incompatibilidades geradas pelo pós-

processador (fanuc).

Este grupo supramencionado tentou encontrar soluções junto de identidades competentes, ao

que estas chegaram a conclusão que o torno mecânico presente no ISEL necessita de um pós-

processador específico para funcionar com o CATIA, o que implicava uma atualização física

do equipamento.

O trabalho realizado no semestre anterior pelos alunos Gheorge-Ticu, Sérgio Afonso e Vítor

Pereira, foi a criação de um programa que funciona como um pós-processador externo ao

CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que

corrige o mesmo de modo a que este possa ser lido no torno presente no ISEL.

O programa foi criado em Visual Basic 6.0 e foi denominado de “CATIA to EMCO”.

O trabalho realizado pelo nosso grupo, vem em seguimento do que tem sido feito nos

semestres anteriores, onde a evolução tem sido a palavra de ordem chave. Como tal, o nosso

trabalho consiste num programa que realiza a mesma conversão que o programa anterior,

sendo que este está feito numa linguagem de programação mais atual, como é o caso do

Visual Basic.NET.

Esta medida visa a atualizar o programa, pois a linguagem Visual Basic já é muito antiga,

sendo até considerada uma linguagem ”morta”. Outra medida implementada de modo a

evoluir o programa foi a adição de um leitor de pdf no programa de modo a ser possível no

mesmo programa ser visto o manual de instruções de torneamento, além da conversão do

código gerado no CATIA.

O código usado para a criação do programa ficará disponível de modo a que futuros grupos

continuem com a evolução do mesmo.

Page 3: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

2. ERROS IDENTIFICADOS

Os erros identificados no código .nc do CATIA V5R20, foram os mesmos que os colegas nos

semestres anteriores identificaram e necessitam de ser corrigidos de modo a que este seja

possível de ser usado no torno.

As correções a efetuar no código são:

Remoção de linhas introdutórias ao código e informativas;

Remoção do número de operação (O1000,O0)

Remoção do código G43,G49,G64,G17,G0,G99

Introdução do código G94 e G71

Remoção do código H1,H2 e H6

Alteração do código para a chamada da ferramenta, exemplo: T0002 para T0202;

Todas as coordenadas “X” < 30 devem ser multiplicadas por 2. Esta medida deve-se

ao facto do torno EMCO reconhecer os valores de X como diâmetro e o código

gerado no CATIA considerar os valores de X como raio, daí os valores em X serem

multiplicados para o dobro.[1]

Como a posição de segurança onde se dá a troca das ferramentas ser x=30 e Z=100, conclui-

se que não é vantajoso multiplicar para o dobro o valor de 30. Sendo assim, no programa só

os valores inferiores a 30 é que são multiplicados pelo dobro. Esta solução não apresenta

nenhum inconveniente, pois o bruto de maquinagem usado no torno nunca ultrapassa os

20mm de diâmetro.

Figura 1: Erros Identificados

Fonte: Código gerado pelo CATIA

Page 4: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

3. MELHORIAS NO SOFTWARE DE CONVERSÃO

O programa realizado no semestre anterior foi um bom orientador para a elaboração deste

novo programa, mas este só serviu mesmo de guia e não pode ser aproveitado como base

tendo em conta que utiliza uma linguagem que já não é usada, como é o caso do Visual Basic

que até considerada uma linguagem morta. Assim o novo programa foi feito usando o

software Visual Studio em detrimento do Visual Basic 6.0, e a linguagem escolhida para

programar foi o Visual Basic.NET que foi criada para substituir o Visual Basic. O software

utilizado para converter o Visual Basic 6.0 para Visual Basic.NET foram o gmStudio, que

auxiliou a conversão de grande parte do código programado[2], e o Visual Studio 2013, onde

foi corrigido algum do código convertido que não era reconhecido.[3]

A alteração na linguagem de programação do programa irá permitir que futuros grupos não

tenham tanta dificuldade em conseguir complementar o programa, pois com esta nova

linguagem conseguem encontrar mais recursos, além de conseguirem mais ajuda por parte de

pessoas da área da informática, por estarem mais familiarizadas com esta linguagem.

O programa também teve uma melhoria a nível da interface e a nível da parte gráfica, sendo

este mais apelativo e mais atual.

A criação de um leitor de pdf de modo a que na aplicação seja possível ver o manual de

instruções de torneamento no CATIA, permitindo ao utilizador que assim possa ver como

fazer o torneamento da peça no CATIA e após a sua conclusão, sem ter que sair da aplicação

possa converter o código de modo a que este seja reconhecido pelo torno mecânico EMCO to

PC TURN 55.

Page 5: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

4. CÓDIGO DO SOFTWARE EM VISUAL BASIC.NET

Seleção da opção “Conversor”

Private Sub conversor_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _conversor_1.Click

Definição das janelas

Dim frm1 As System.Windows.Forms.Form = Nothing Dim frm5 As Form5 = Nothing

Código para abertura da janela da opção “Conversor”

frm5 = Form5.DefInstance frm5.Show()

Código para fecho da janela inicial

frm1 = Form1.DefInstance frm1.Hide() End Sub

Seleção do botão “Converter Código” Private Sub Converter_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Converter.Click

Definição das janelas

Dim frm5 As System.Windows.Forms.Form = Nothing Dim frm4 As Form4 = Nothing Dim i As Integer = 0 Dim numero As Integer = 0

Definição das variáveis a serem alteradas Dim ReadData As String = "" Dim texto_separadores As String = "" Dim restoTexto As String = "" Dim restoAnterior As String = "" Dim palavra As String = "" Dim fraseOut As String = "" Dim Entrada As String = "" Dim Saida As String = "" Dim nColCount As Single = 0.0 Dim pos_separador As Integer = 0 Dim comp_linha As Single = 0.0 Dim pos_separador_ant As Single = 0.0 Dim contador As Single = 0.0 Dim nIteracoes As Single = 0.0

Page 6: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Pedido da localização do ficheiro a ser convertido

Input de .txt através de seleção em pasta

OpenFileDialog1.FileName = "" OpenFileDialog1.Title = "Ficheiro original" OpenFileDialog1.Filter = "TXT Files|*.txt" OpenFileDialog1.ShowDialog()

Entrada = OpenFileDialog1.FileName

Pedido da localização do ficheiro após a sua conversão

'Output de .txt através de seleção em pasta SaveFileDialog1.FileName = "" SaveFileDialog1.Title = "Ficheiro Convertido" SaveFileDialog1.Filter = "Ficheiros de texto | *.txt" SaveFileDialog1.ShowDialog()

Saida = SaveFileDialog1.FileName

Leitura dos ficheiros de entrada e saida FileSystem.FileOpen(1,Entrada,OpenMode.Input,OpenAccess.Default,OpenShare.Default,-1) FileSystem.FileOpen(2,Saida,OpenMode.Output,OpenAccess.Default,OpenShare.Default,-1)

Início do ciclo 'faz até ao end of file 1 (ficheiro input) Do Until FileSystem.EOF(1)

Tratamento do texto a ser convertido ' lê a linha e coloca o conteúdo na variável ReadData

ReadData = FileSystem.LineInput(1) ' Determina o comprimento da linha comp_linha = Strings.Len(ReadData) 'Retira comentários If (Strings.Left(ReadData,1) = "(") Then ReadData = ""

End If ' Na primeira palavra, encontra o 1º separador pos_separador = Strings.InStr(1,ReadData," ",CompareMethod.Binary) restoTexto = Mid(ReadData,pos_separador + 1) pos_separador_ant = pos_separador palavra = Strings.Left(ReadData,pos_separador) ' Regra para eliminar texto

If Strings.RTrim(Strings.UCase(palavra)) = "%" Or Strings.RTrim(Strings.UCase(palavra)) = "O0" Or Strings.RTrim(Strings.UCase(palavra)) = "O1000" Or (Strings.RTrim(Strings.UCase(palavra)) = "G43" Or (Strings.RTrim(Strings.UCase(palavra)) = "G17" Or Strings.RTrim(Strings.UCase(palavra)) = "G49" Or Strings.RTrim(Strings.UCase(palavra)) = "H1" Or Strings.RTrim(Strings.UCase(palavra)) = "H2" Or Strings.RTrim(Strings.UCase(palavra)) = "H3" Or

Page 7: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Strings.RTrim(Strings.UCase(palavra)) = "H4" Or Strings.RTrim(Strings.UCase(palavra)) = "H5" Or Strings.RTrim(Strings.UCase(palavra)) = "H6" Or Strings.RTrim(Strings.UCase(palavra)) = "H7" Or Strings.RTrim(Strings.UCase(palavra)) = "H8" Or Strings.RTrim(Strings.UCase(palavra)) = "H9" Or Strings.RTrim(Strings.UCase(palavra)) = "H10")) Then

palavra = "" End If

'Regra para converter texto(alteraçaõ das funções G) If (Strings.RTrim(Strings.UCase(palavra)) = "G64") Then palavra = "G94 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "G99") Then palavra = "G71 " End If ' Regra para converter texto (compensação ferramenta) If (Strings.RTrim(Strings.UCase(palavra)) = "T0001") Then palavra = "T0101 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0002") Then palavra = "T0202 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0003") Then palavra = "T0303 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0004") Then palavra = "T0404 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0005") Then palavra = "T0505 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0006") Then palavra = "T0606 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0007") Then palavra = "T0707 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0008") Then palavra = "T0808 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0009") Then

Page 8: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

palavra = "T0909 " End If

' Regra para modificar o sentido de rotação If (Strings.RTrim(Strings.UCase(palavra)) = "M4") Then palavra = "M3 " End If ' Regra para duplicar o valor de X If (Strings.Left(Strings.RTrim(Strings.UCase(palavra)),1) = "X") Then numero = CSng(Mid(Strings.Replace(Strings.RTrim(palavra),".",","),2)) If (IsNumeric(numero)) Then If (numero < 30) Then numero = numero * 2 End If palavra = Strings.Replace("X" & numero & " ",",",".") End If End If

Função para definir o número de iterações a fazer

fraseOut = palavra nIteracoes = comp_linha - Strings.Len(Strings.Replace(ReadData," ","")) For i = 1 To nIteracoes Step 1 pos_separador = Strings.InStr(1,restoTexto," ",CompareMethod.Binary) palavra = Strings.Left(restoTexto,pos_separador) restoAnterior = restoTexto restoTexto = Mid(restoAnterior,pos_separador + 1)

Tratamento do texto a ser convertido

' Regra para eliminar texto

If Strings.RTrim(Strings.UCase(palavra)) = "%" Or Strings.RTrim(Strings.UCase(palavra)) = "O0" Or Strings.RTrim(Strings.UCase(palavra)) = "O1000" Or (Strings.RTrim(Strings.UCase(palavra)) = "G43" Or (Strings.RTrim(Strings.UCase(palavra)) = "G17" Or Strings.RTrim(Strings.UCase(palavra)) = "G49" Or Strings.RTrim(Strings.UCase(palavra)) = "H1" Or Strings.RTrim(Strings.UCase(palavra)) = "H2" Or Strings.RTrim(Strings.UCase(palavra)) = "H3" Or Strings.RTrim(Strings.UCase(palavra)) = "H4" Or Strings.RTrim(Strings.UCase(palavra)) = "H5" Or Strings.RTrim(Strings.UCase(palavra)) = "H6" Or Strings.RTrim(Strings.UCase(palavra)) = "H7" Or Strings.RTrim(Strings.UCase(palavra)) = "H8" Or Strings.RTrim(Strings.UCase(palavra)) = "H9" Or Strings.RTrim(Strings.UCase(palavra)) = "H10")) Then

palavra = "" End If

Page 9: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

'Regra para converter texto(alteraçaõ das funções G)

If (Strings.RTrim(Strings.UCase(palavra)) = "G64") Then palavra = "G94 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "G99") Then palavra = "G71 " End If ' Regra para converter texto (compensação ferramenta) If (Strings.RTrim(Strings.UCase(palavra)) = "T0001") Then palavra = "T0101 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0002") Then palavra = "T0202 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0003") Then palavra = "T0303 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0004") Then palavra = "T0404 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0005") Then palavra = "T0505 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0006") Then palavra = "T0606 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0007") Then palavra = "T0707 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0008") Then palavra = "T0808 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0009") Then palavra = "T0909 " End If ' Regra para modificar o sentido de rotação If (Strings.RTrim(Strings.UCase(palavra)) = "M4") Then palavra = "M3 "

Page 10: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

End If ' Regra para duplicar o valor de X If (Strings.Left(Strings.RTrim(Strings.UCase(palavra)),1) = "X") Then numero = CSng(Mid(Strings.Replace(Strings.RTrim(palavra),".",","),2)) If (IsNumeric(numero)) Then If (numero < 30) Then numero = numero * 2 End If palavra = Strings.Replace("X" & numero & " ",",",".") End If End If fraseOut = fraseOut & palavra Next ' tratamento da ultima palavra palavra = restoTexto ' Regra para eliminar texto

If Strings.RTrim(Strings.UCase(palavra)) = "%" Or Strings.RTrim(Strings.UCase(palavra)) = "O0" Or Strings.RTrim(Strings.UCase(palavra)) = "O1000" Or (Strings.RTrim(Strings.UCase(palavra)) = "G43" Or (Strings.RTrim(Strings.UCase(palavra)) = "G17" Or Strings.RTrim(Strings.UCase(palavra)) = "G49" Or Strings.RTrim(Strings.UCase(palavra)) = "H1" Or Strings.RTrim(Strings.UCase(palavra)) = "H2" Or Strings.RTrim(Strings.UCase(palavra)) = "H3" Or Strings.RTrim(Strings.UCase(palavra)) = "H4" Or Strings.RTrim(Strings.UCase(palavra)) = "H5" Or Strings.RTrim(Strings.UCase(palavra)) = "H6" Or Strings.RTrim(Strings.UCase(palavra)) = "H7" Or Strings.RTrim(Strings.UCase(palavra)) = "H8" Or Strings.RTrim(Strings.UCase(palavra)) = "H9" Or Strings.RTrim(Strings.UCase(palavra)) = "H10")) Then

palavra = "" End If

'Regra para converter texto(alteraçaõ das funções G) If (Strings.RTrim(Strings.UCase(palavra)) = "G64") Then palavra = "G94 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "G99") Then palavra = "G71 " End If ' Regra para converter texto (compensação ferramenta)

Page 11: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

If (Strings.RTrim(Strings.UCase(palavra)) = "T0001") Then palavra = "T0101 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0002") Then palavra = "T0202 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0003") Then palavra = "T0303 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0004") Then palavra = "T0404 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0005") Then palavra = "T0505 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0006") Then palavra = "T0606 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0007") Then palavra = "T0707 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0008") Then palavra = "T0808 " End If If (Strings.RTrim(Strings.UCase(palavra)) = "T0009") Then palavra = "T0909 " End If ' Regra para modificar o sentido de rotação If (Strings.RTrim(Strings.UCase(palavra)) = "M4") Then palavra = "M3 " End If ' Regra para duplicar o valor de X If (Strings.Left(Strings.RTrim(Strings.UCase(palavra)),1) = "X") Then numero = CSng(Mid(Strings.Replace(Strings.RTrim(palavra),".",","),2)) If (IsNumeric(numero)) Then If (numero < 30) Then numero = numero * 2 End If palavra = Strings.Replace("X" & numero & " ",",",".") End If

End If

Page 12: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Função para acabar com o ciclo

fraseOut = fraseOut & palavra If (fraseOut <> "") Then FileSystem.PrintLine(2,fraseOut) End If frm4 = Form4.DefInstance frm4.Show() frm5 = Form5.DefInstance frm5.Hide() Loop FileSystem.FileClose(1) FileSystem.FileClose(2)

End Sub

Janela de confirmação da conversão

Seleção do botão “Voltar ao Menu Principal” Private Sub Menu_Click(ByVal sender As Object, ByVal e As EventArgs) Handles

Menu.Click

Definição das janelas

Dim frm4 As System.Windows.Forms.Form = Nothing Dim frm1 As Form1 = Nothing

Código para abertura da janela “Menu Principal”

frm1 = Form1.DefInstance frm1.Show()

Código para fecho da janela de confirmação da conversão frm4 = Form4.DefInstance frm4.Hide() End Sub

Seleção da opção “Manual de Instruções CATIA Torneamento” Private Sub manual_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _manual_0.Click

Definição das variáveis Dim frm1 As System.Windows.Forms.Form = Nothing Dim frm2 As Form2 = Nothing

Código para abertura da janela da opção “Manual de Instruções CATIA Torneamento” frm2 = Form2.DefInstance frm2.Show()

Page 13: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Código para fecho da janela “Menu Principal”

frm1 = Form1.DefInstance frm1.Hide() End Sub

Seleção do botão “Abrir Manual de Instruções”

Private Sub Abrir_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Abrir.Click

Função para a abertura de ficheiros PDF

OpenFileDialog1.Filter = "PDF Files|*.pdf" If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then AxAcroPDF1.src = OpenFileDialog1.FileName End If End Sub

Seleção do botão “Menu Principal”

Private Sub Menu_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Menu.Click

Definição das janelas

Dim frm2 As System.Windows.Forms.Form = Nothing Dim frm1 As Form1 = Nothing

Código para abertura da janela “Menu Principal”

frm1 = Form1.DefInstance frm1.Show()

Código para fecho da janela “Manual de Instruções”

frm2 = Form2.DefInstance frm2.Hide() End Sub

Page 14: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

5. INTERFACE

A aplicação obtida é um ficheiro executável, que tanto permite a visualização de ficheiros

PDF por parte do utilizador, de modo a que este possa consultar o “Manual de Instruções de

Torneamento CATIA”, como também faz a correção do código (em formato .txt) gerado pelo

CATIA.

Após a conversão este guarda um ficheiro .txt na localização escolhida pelo utilizador com a

correção feita.

Para abertura da aplicação clicamos no seguinte ícone.

Figura 2: Ícone de arranque do programa

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Figura 3: Página Inicial da Aplicação

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Após abertura da aplicação iremos deparar-nos com a página inicial da mesma, sendo esta

igual a figura 3.

Selecionando o botão “Manual de Instruções CATIA Torneamento” iremos ter a uma outra

janela denominada de “Manual de Instruções”.

Page 15: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Figura 4: Manual de Instruções (Início)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Clicando no botão “Abrir Manual de Instruções”, irá aparecer uma janela para a seleção do

documento pdf a abrir.

Figura 5: Manual de Instruções (Janela de seleção do PDF)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Page 16: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Após a seleção do pdf pretendido iremos ter uma janela com um aspeto parecido a seguinte

imagem.

Figura 6: Manual de Instruções (Visualização do PDF)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

O pdf fica disponível para visualização, sendo possível fazer scroll ao longo do mesmo, como

também abrir outro pdf sem ser necessário sair da janela “Manual de Instruções”.

Se o utilizador pretender pode voltar a página inicial da aplicação ao clicar no botão “Menu

Principal” ou pode fechar a mesma clicando no “x” presente no canto superior direito da

janela.

Na página inicial, clicando no botão “Conversor” irá abrir-se uma janela onde será possível

converter o código (em formato .txt) gerado pelo CATIA.

Page 17: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Figura 7: Conversor (Início)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Clicando no botão “Converter código” irá surgir uma janela denominada de “Ficheiro

Original” a pedir para selecionar o documento a converter.

Figura 8: Conversor (Pedido do “Ficheiro original”)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Page 18: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Após a seleção do documento a converter, ira surgir uma nova janela denominada de

”Ficheiro Convertido”, a perguntar o nome a dar ao ficheiro convertido como também a sua

localização.

Figura 9: Conversor (Guardar o “Ficheiro Convertido”)

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Após o utilizador definir a localização e o nome do ficheiro convertido, surge uma nova

janela a informar que o ficheiro foi convertido com sucesso e com um agradecimento pela

preferência deste pós-processador, tendo o utilizador a hipótese de regressar ao menu

principal clicando no botão “Voltar ao Menu Principal” ou ainda fechar a aplicação clicando

no “X” existente no canto superior direito.

O documento convertido fica pronto a ser utilizado no torno após passar de formato .txt para

formato .nc.

Page 19: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Figura 10: Pós-Processador

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Page 20: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

6. MODO DE FUNCIONAMENTO DO SOFTWARE DE PÓS

PROCESSAMENTO

De modo a ser possível utilizar o software de pós processamento é necessário criar uma peça

para torneamento.

Figura 11: Peça e o seu Stock [4]

Fonte: Módulo de Torneamento do CATIA V5R20

Após a criação da mesma e do seu stock, de seguida deve ser criado o processo de

torneamento, de modo a que após este estar concluído seja possível gerar o código nc.

Figura 12: Peça maquinada [4]

Fonte: Módulo de Torneamento do CATIA V5R20

Após gerado o código nc o mesmo deve ser convertido para um documento de formato .txt, o

mesmo deve aberto e o utilizador deve apagar a referencias ao número de linhas (ex: N120) e

gravar.

Page 21: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Figura 13: Código em formato .txt e eliminação do número da linha

Fonte: Código Pós-Processado pelo módulo de torneamento do CATIA V5R20

Após estes procedimentos a aplicação está pronta a ser utilizada. Na mesma deve ser

selecionado o botão “Conversor”.

Figura 14: Seleção do botão “Conversor”

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Page 22: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Deve ser seguido os passos que já foram descritos da imagem 6 até a imagem 9,assim o

utilizador deverá obter um documento no formato .txt o qual o utilizador deve converter para

o formato .nc. Para tal o utilizador deve abrir o documento .txt e na opção salvar como deve

dar um nome ao ficheiro e no fim do nome colocar .nc, assim o ficheiro será guardado em

formato .nc e fica pronto a ser usado no torno mecânico.

Figura 15: Conversão de .txt para .nc

Fonte: Conversor CATIA V5R20 para EMCO PC TURN 55

Após a conversão para formato .nc deve-se obter um código com um aspeto similar a seguinte

imagem:

Figura 16: Código Pós-Processado em formato .nc [5]

Fonte: HSM Works

Page 23: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

7. COMPARAÇÃO DO CÓDIGO ANTES E DEPOIS DE SER PÓS-

PROCESSADO

Na seguinte imagem irá ser demonstrado algum do código da peça maquinada, não será

apresentado na íntegra devido ao facto de um ser um código com muitas linhas.

A vermelho encontram-se os parâmetros incorretos para o torno mecânico e a verde encontra-

se a alteração efetuada de modo a que estes fiquem adequados ao mesmo.

É possível verificar que o software alterou o modo de reconhecimento da ferramenta, por

exemplo esta passou de T0002 para T0202, outra das alterações efetuadas foi o sentido da

rotação que passou de M4 para M3, eliminação das funções G43,G49,G64,G17 e G99,

eliminação das funções H1,H2 e H6 assim como os valores em X passaram para o dobro.

Deste modo o código encontra-se pronto a ser utilizado no torno, uma vez que foi confirmado

pelo código gerado pelo MasterCam X4, pois este não tem qualquer incompatibilidade com o

torno CNC.[6]

Antes de ser Pós-Processado

%

O0

N1 G49 G64 G17 G80 G0 G90 G40 G99

N2 T0002 M6

N3 X10. S1000 M4

N4 G43 Z2.4 H2

N5 G1 G94 Z.4 F150.

N6 Z-.6

N7 X14.4

N8 G0 Z2.4

N9 X9.

N107 T0006 M6

N108 X12.4 S1000 M4

N109 G43 Z-26.65 H6

N110 G1 X10.4 F150.

N111 X5.4

N112 X12.4

N113 G0 Z-27.144

N114 G1 X10.4

N115 X5.4

Depois de ser Pós-Processado

N1 G94 G80 G0 G90 G40 G71

N2 T0202 M6

N3 X20 S1000 M3

N4 Z2.4

N5 G1 G94 Z.4 F150.

N6 Z-.6

N7 X28.8

N8 G0 Z2.4

N9 X18

N107 T0606 M6

N108 X24.8 S1000 M3

N109 Z-26.65

N110 G1 X20.8 F150.

N111 X10.8

N112 X24.8

N113 G0 Z-27.144

N114 G1 X20.8

N115 X10.8

Page 24: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

8. VERIFICAÇÃO DO SOFTWARE

De modo a verificar se aplicação estava a funcionar corretamente, foram maquinadas duas

peças com geometrias distintas de modo a que fosse verificado o maior número de “cenários”.

A primeira peça tem uma geometria onde se pudesse verificar se o software fazia

corretamente a conversão para geometrias diagonais, geometrias planas assim como se as

operações de sangramento e facejamento ficavam corretos para estas geometrias.

Figura 17: Primeira peça maquinada

Fonte: Fotografias da primeira peça maquinada

A segunda peça tem uma geometria onde se pudesse verificar se o software fazia

corretamente a conversão para geometrias redondas e curvilíneas, assim como se as operações

de desbaste e sangramento para estas geometrias ficavam correctas.

Page 25: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

Figura 18: Segunda peça maquinada

Fonte: Fotografias da segunda peça maquinada

Ambas as peças permitiram identificar alguns erros, como o aparecimento da função H2 e

códigos G gerados a mais, e a sua correção. Pode-se afirmar que o pós-processador encontra-

se totalmente pronto para qualquer tipo de geometria e não é preciso o utilizador fazer

qualquer alteração manual ao código gerado. Agora basta só o utilizador escolher o

documento que pretender converter com o pós-processador e este irá converte-lo sem

qualquer erro.

Page 26: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

9. CONCLUSÃO

Depois de uma revisão minuciosa aos trabalhos dos semestres anteriores e verificar-se os

erros enumerados pelos grupos e os aspetos a melhorar, concluiu-se que a aplicação do pós

processador externo ao CATIA seria uma boa solução a manter, sendo que a mesma

necessitava de uma atualização.

De modo a verificar-se esta atualização, a aplicação criada pelo grupo anterior, foi modificada

quer a nível de linguagem (passou do Visual Basic para o Visual Basic.NET), quer a nível

visual (o software foi criado no Visual Studio em do Visual Basic 6.0 o que permite melhores

formas gráficas) assim como foi introduzido um leitor de pdf.

A mudança de linguagem deveu-se ao facto do Visual Basic já ser considerada uma

linguagem “morta” e com esta mudança de linguagem para Visual Basic.NET, que é uma

linguagem mais recente, torna-se mais fácil para futuros grupos fazerem modificações no

programa pois há mas recursos acerca desta linguagem.

A mudança na linguagem de programação também permitiu a mudança do programa de

criação do software, que passou do Visual Basic 6.0 para o Visual Studio, mudança essa que

permitiu a criação de um programa com um melhor aspeto visual.

A introdução de um leitor de pdf na aplicação foi como objectivo de facilitar ao utilizador um

guia de como proceder na criação da peça para a maquinagem, o processo de maquinagem e a

criação do código NC. Assim é possível que numa só aplicação o utilizador tenha as

“ferramentas” necessárias para criar uma peça no torno mecânico usando o software CATIA.

O software final de pós-processamento corrige todos os erros e evita que o utilizador tenha de

fazer alguma alteração manualmente ao documento. Assim pode-se afirmar que o problema

de compatibilidade que havia entre o CATIA e o torno está resolvido.

Como possível melhoria a efetuar por futuros grupos, propomos que estes façam novos

manuais de instruções para diferentes peças de modo a que existam mais manuais disponíveis

para o utilizador, fazendo com que este tenha mais facilidade na criação de uma peça para o

torno.

Page 27: PÓS PROCESSADOR DE CATIA V5R20 PARA EMCO PC … · CATIA, que abre um ficheiro de código CNC gerado pelo CATIA em formato TXT e que corrige o mesmo de modo a que este possa ser

S.A.A. Góis1, E.F. Sousa2

10. REFERÊNCIAS

[1] Linguagem de Programação CNC: Torno e centro de usinagem; Azevedo, Domingos;

2013;

[2] gmStudio v1.0;

[3] Visual Studio 2013, Microsoft;

[4] CATIA V5R20, Dassault Systèmes;

[5] HSMWorks, Solidworks extension;

[6] MasterCam X4.