implementação de desenhos automáticos elemento hidráulico...

53
Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado Concepção e Fabrico Assistidos por Computador Programação – VBA Faculdade de Engenharia da Universidade do Porto Licenciatura em Gestão e Engenharia Industrial 4º Ano - 1º Semestre 2004/2005

Upload: others

Post on 02-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador Programação – VBA

Faculdade de Engenharia da Universidade do Porto

Licenciatura em Gestão e Engenharia Industrial 4º Ano - 1º Semestre

2004/2005

Page 2: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

Implementação de Desenhos Automáticos - Elemento Hidráulico Normalizado

Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado

Cilindro Hidráulico Z 160

André Filipe Mouta Sousa: [email protected]

4º LGEI

Concepção e Fabrico Assistidos por Computador

Programação Prof. João Tavares / Eng. Joaquim Fonseca

Licenciatura em Gestão e Engenharia Industrial

4º Ano - 1º Semestre

2004/2005

i

Page 3: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

Implementação de Desenhos Automáticos - Elemento Hidráulico Normalizado

ESTE RELATÓRIO INSERE-SE NO ÂMBITO DA AVALIAÇÃO DA DISCIPLINA DE

CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR DA LICENCIATURA EM GESTÃO E

ENGENHARIA INDUSTRIAL.

PRETENDE-SE COM ESTE TIPO DE TRABALHOS, DOTAR O PROGRAMA DA DISCIPLINA DE

UMA FACETA MAIS PRÁTICA, TRANSPONDO PARA O ENSINO UNIVERSITÁRIO CENÁRIOS DA

REALIDADE INDUSTRIAL E DESTE MODO PROPORCIONAR AOS ALUNOS A OPORTUNIDADE DE

ADQUIRIR UMA MAIOR SENSIBILIDADE PARA ESTE TIPO DE PROBLEMAS.

ii

Page 4: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

Implementação de Desenhos Automáticos - Elemento Hidráulico Normalizado

Agradecimentos

Reconhecendo a importância de todo o tempo e atenção dispendido ao longo do desenvolvimento do corrente trabalho, gostaria, de através do presente, agradecer aos professores:

Eng. Joaquim Oliveira Fonseca

Prof. João Manuel R. da Silva Tavares

iii

Page 5: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

1

ÍNDICE SUMÁRIO .....................................................................................................................................2 OBJECTIVOS.................................................................................................................................2 PROJECTO DE IMPLEMENTAÇÃO DE DESENHOS AUTOMÁTICOS...................................................................2

ESPECIFICAÇÃO DOS REQUISITOS FUNCIONAIS DO UTILIZADOR ................................................................2 ESPECIFICAÇÃO DE SUPORTES LÓGICOS E INTERFACES GRÁFICAS.............................................................3

MAQUETAS DE INTERFACES GRÁFICAS COM O UTILIZADOR..................................................................3 LISTAGEM DE FICHEIROS FONTE .....................................................................................................4 ESPECIFICAÇÃO DAS SUB-ROTINAS UTILIZADAS/DESENVOLVIDAS .............................................................4

PROCEDIMENTO PARA ACEDER AOS VALORES ARMAZENADOS NA BASE DE DADOS ......................................4 PROCEDIMENTO PARA TORNAR VISÍVEL AS DIMENSÕES CARACTERÍSTICAS DAS OPÇÕES CONSTRUTIVAS M1/B1.6 PROCEDIMENTO PARA SAIR/FECHAR O PROJECTO ...........................................................................6 PROCEDIMENTO PARA EXECUTAR O MÓDULO “mod2D”, E ATRIBUIÇÃO DOS VALORES DA BD ÀS VARIÁVEIS..6 DECLARAÇÃO DAS VARIÁVEIS NO MÓDULO “modGlobal” TORNANDO-AS PÚBLICAS NO PROJECTO.............7 CONSTANTES .........................................................................................................................8 FUNÇÃO QUE EXECUTA A JANELA DE DIÁLOGO “GUARDAR COMO...”..................................................8 PROCEDIMENTO PARA EXECUÇÃO GRÁFICA 2D DO ELEMENTO NORMALIZADO ..........................................8 FUNÇÕES AUXILIARES...............................................................................................................9

APONTAMENTO DO AUTOR .........................................................................................................10 PROCEDIMENTO DE INSTALAÇÃO ..................................................................................................10

TRABALHOS FUTUROS ..................................................................................................................10 CONLUSÕES ...............................................................................................................................10 REFERÊNCIAS..............................................................................................................................11 BIBLIOGRAFIA .............................................................................................................................11 ANEXO A...................................................................................................................................12

Listagem do Código Fonte Desenvolvido...........................................................................12 PROCEDIMENTO PARA EXECUÇÃO GRÁFICA 2D DO ELEMENTO NORMALIZADO ........................................12

Page 6: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

2

SUMÁRIO

O presente relatório tem como objectivo documentar a aplicação desenvolvida no âmbito da disciplina Concepção e Desenho Assistidos por Computador, que visa a implementação de um desenho automático de um elemento normalizado com o recurso a uma linguagem de programação suportada pelo Autocad.

Para o desenvolvimento deste trabalho foram utilizadas as seguintes aplicações de software, MS Access 2003, MS Visual Basic 6.0 e Autocad 2004. Para atingir o objectivo proposto, optou-se pelo recurso à linguagem de programação Visual Basic for Applications.

OBJECTIVOS

Implementação de um desenho automático de um elemento normalizado;

ELEMENTO NORMALIZADO: Cilindro Hidráuico Z160

Manipulação de uma linguagem de programação suportada pelo Autocad;

Elaboração da documentação necessária para assistir/acompanhar a aplicação desenvolvida;

Comentar de forma standard o código desenvolvido sempre que necessário/relevante;

PROJECTO DE IMPLEMENTAÇÃO DE DESENHOS AUTOMÁTICOS ESPECIFICAÇÃO DOS REQUISITOS FUNCIONAIS DO UTILIZADOR util.projectoZ160 1 A aplicação permite obter um desenho 2D de um cilindro hidráulico de referência Z160 do fabricante HEB util.projectoZ160 2 As dimensões standard do elemento fornecidas pelo fabricante são carregadas a partir de uma base de dados criada para o efeito. Estas dimensões podem ser seleccionadas pelo utilizador de acordo com as suas necessidades. util.projectoZ160 3 É possível optar por uma das duas opções construtivas adoptadas pelo fabricante, por cada execução da aplicação. util.projectoZ160 4 O desenho 2D será sempre executado num template anteriormente existente e que deve acompanhar sempre o projecto. util.projectoZ160 5 Na interface com o utilizador, deve seleccionar-se o diâmetro do pistão, a opção de construção e a série (a partir de L1) do cilindro pretendido. util.projectoZ160 6 Na interface estarão visíveis as dimensões de construção fornecidas pelo fabricante de acordo com as escolhas feitas pelo utilizador anteriomente. util.projectoZ160 7 Existe, na interface, um botão de execução da aplicação e outro para sair da mesma. util.projectoZ160 8 Sempre que as dimensões de referência fornecidas pelo fabricante forem alteradas pelo mesmo, é possível actualizar a base de dados sem que o projecto se torne obsoleto, já que em antevisão a estas situações foram criadas funções em linguagem de programação que asseguram o bom funcionamento do projecto sem grandes alterações da base de dados.

Page 7: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

ESPECIFICAÇÃO DE SUPORTES LÓGICOS E INTERFACES GRÁFICAS

MAQUETAS DE INTERFACES GRÁFICAS COM O UTILIZADOR

Figura 1: Interface com o utilizador da aplicação “projectoZ160”

Figura 2: Interface com o utilizador da aplicação “projectoZ160” – Janela de diálogo “Guardar Como...”

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

3

Page 8: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

4

LISTAGEM DE FICHEIROS FONTE Para a concretização do projecto em questão foram criados os seguintes ficheiros fonte onde se encontra

todo o código desenvolvido: Z160.vbp modGlobal.bas mod2d.bas Z160.frm projectoZ160.exe

O desenvolvimento deste projecto implicou ainda o desenvolvimento de uma base de dados a que se

deu o nome de “dbwcfac.mdb” e de um template Autocad denominado “acadZ160.dwt”. Estes dois ficheiros devem acompanhar sempre os restantes ficheiros do projecto.

ESPECIFICAÇÃO DAS SUB-ROTINAS UTILIZADAS/DESENVOLVIDAS

PROCEDIMENTO PARA ACEDER AOS VALORES ARMAZENADOS NA BASE DE DADOS Private Sub txtDiametroPistao_Change()

recDimensoes.RecordSource = "SELECT tbl_dados.* FROM tbl_dados INNER JOIN tbl_elemento ON tbl_dados.cod_dp = tbl_elemento.cod_dp WHERE (((tbl_elemento.dp)=" & txtDiametroPistao.Text & "))" recDimensoes.Refresh

txtd1.Text = recDimensoes.Recordset("d1") txtd2.Text = recDimensoes.Recordset("d2") txtd2G.Text = recDimensoes.Recordset("d2g") txtd3.Text = recDimensoes.Recordset("d3") txtd11.Text = recDimensoes.Recordset("d11") txtL2.Text = recDimensoes.Recordset("l2") txtL3.Text = recDimensoes.Recordset("l3") txtL4.Text = recDimensoes.Recordset("l4") txtL11.Text = recDimensoes.Recordset("l11") txtL12.Text = recDimensoes.Recordset("l12") txtL13.Text = recDimensoes.Recordset("l13") txtL14.Text = recDimensoes.Recordset("l14") txtL15.Text = recDimensoes.Recordset("l15") txtL19.Text = recDimensoes.Recordset("l19") txtL20.Text = recDimensoes.Recordset("l20") txtb8.Text = recDimensoes.Recordset("b8") txtb9.Text = recDimensoes.Recordset("b9") txtd7.Text = recDimensoes.Recordset("d7") txtR2.Text = recDimensoes.Recordset("r2") txtw1.Text = recDimensoes.Recordset("w1") txta.Text = recDimensoes.Recordset("a") txtADin.Text = recDimensoes.Recordset("adin") txtE.Text = recDimensoes.Recordset("e") txta4.Text = recDimensoes.Recordset("l3") txta5.Text = recDimensoes.Recordset("a5") txta6.Text = recDimensoes.Recordset("a6") txtcrs.Text = recDimensoes.Recordset("crs") a1 = recDimensoes.Recordset("a1") pd2g = recDimensoes.Recordset("pd2g") padin = recDimensoes.Recordset("padin")

Page 9: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

5

pa6 = recDimensoes.Recordset("pa6") If txtl1i.Value = True Then txtl1i_Click If txtl1ii.Value = True Then txtl1ii_Click If txtl1iii.Value = True Then txtl1iii_Click End Sub Private Sub txtl1i_Click()

If txtDiametroPistao.Text <> "" Then recL1.RecordSource = "SELECT tbl_dpL1.l1 FROM tbl_elemento INNER JOIN

tbl_dpL1 ON tbl_elemento.cod_dp = tbl_dpL1.cod_dp WHERE (((tbl_elemento.dp)=" & txtDiametroPistao.Text & ") AND ((tbl_dpL1.cod_L1)=1))"

recL1.Refresh

txtL1.Text = recL1.Recordset("l1")

Else

MsgBox "Dimensão do Diâmetro do Pistão não definida!", vbExclamation + vbOKOnly, "Aviso"

End If

End Sub Private Sub txtl1ii_Click()

If txtDiametroPistao.Text <> "" Then recL1.RecordSource = "SELECT tbl_dpL1.l1 FROM tbl_elemento INNER JOIN

tbl_dpL1 ON tbl_elemento.cod_dp = tbl_dpL1.cod_dp WHERE (((tbl_elemento.dp)=" & txtDiametroPistao.Text & ") AND ((tbl_dpL1.cod_L1)=2))"

recL1.Refresh

txtL1.Text = recL1.Recordset("l1")

Else MsgBox "Dimensão do Diâmetro do Pistão não definida!", vbExclamation +

vbOKOnly, "Aviso"

End If End Sub Private Sub txtl1iii_Click()

If txtDiametroPistao.Text <> "" Then recL1.RecordSource = "SELECT tbl_dpL1.l1 FROM tbl_elemento INNER JOIN

tbl_dpL1 ON tbl_elemento.cod_dp = tbl_dpL1.cod_dp WHERE (((tbl_elemento.dp)=" & txtDiametroPistao.Text & ") AND ((tbl_dpL1.cod_L1)=3))"

recL1.Refresh

Page 10: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

6

txtL1.Text = recL1.Recordset("l1")

Else

MsgBox "Dimensão do Diâmetro do Pistão não definida!", vbExclamation + vbOKOnly, "Aviso"

End If

End Sub

PROCEDIMENTO PARA TORNAR VISÍVEL AS DIMENSÕES CARACTERÍSTICAS DAS OPÇÕES CONSTRUTIVAS M1/B1 Private Sub txtM1_Click()

fraM1.Visible = True FraB1.Visible = False

End Sub Private Sub txtB1_Click()

FraB1.Visible = True fraM1.Visible = False

End Sub

PROCEDIMENTO PARA SAIR/FECHAR O PROJECTO Private Sub sair_Click()

End End Sub

PROCEDIMENTO PARA EXECUTAR O MÓDULO “mod2D”, E ATRIBUIÇÃO DOS VALORES DA BD ÀS VARIÁVEIS Private Sub exedesenho2d_Click() If BuscaFicheiro() = False Then Exit Sub Screen.MousePointer = vbHourglass d1 = txtd1.Text diametropistao = txtDiametroPistao.Text d2 = txtd2.Text d2g = txtd2G.Text d3 = txtd3.Text d11 = txtd11.Text l1 = txtL1.Text l2 = txtL2.Text l3 = txtL3.Text l4 = txtL4.Text l11 = txtL11.Text l12 = txtL12.Text l13 = txtL13.Text l14 = txtL14.Text l15 = txtL15.Text l19 = txtL19.Text

Page 11: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

7

l20 = txtL20.Text b8 = txtb8.Text b9 = txtb9.Text d7 = txtd7.Text r2 = txtR2.Text w1 = txtw1.Text a = txta.Text adin = txtADin.Text e = txtE.Text a4 = txta4.Text a5 = txta5.Text a6 = txta6.Text crs = txtcrs.Text desenha2d ' executa, chamando o módulo mod2d Screen.MousePointer = vbDefault

End Sub

DECLARAÇÃO DAS VARIÁVEIS NO MÓDULO “modGlobal” TORNANDO-AS PÚBLICAS NO PROJECTO Public acCordstart(2) As Double Public acCord3(2) As Double Public acCord4(2) As Double Public acCord5(2) As Double Public acCord6(2) As Double Public acCord7(2) As Double Public acCordE(2) As Double Public acCordE1(2) As Double Public acCordE3(2) As Double Public acCordA(2) As Double 'Campos de texto Public d1 As String Public diametropistao As String Public d2 As String Public d2g As String Public d3 As String Public d11 As String Public l1 As String Public l2 As String Public l3 As String Public l4 As String Public l11 As String Public l12 As String Public l13 As String Public l14 As String Public l15 As String Public l19 As String Public l20 As String Public b8 As String Public b9 As String Public d7 As String Public r2 As String Public w1 As String Public a As String Public adin As String

Page 12: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

8

Public e As String Public a4 As String Public a5 As String Public a6 As String Public crs As String 'Directamente da BD Public a1 As String Public pd2g As String Public padin As String Public pa6 As String

CONSTANTES Public Const pi = 3.14159265358979

FUNÇÃO QUE EXECUTA A JANELA DE DIÁLOGO “GUARDAR COMO...” Public Function BuscaFicheiro() ' Abre a janela de diálogo "guardar como" frmZ160.cmdSaveAs.FileName = "" frmZ160.cmdSaveAs.DialogTitle = "Guardar desenho..." frmZ160.cmdSaveAs.Filter = "Ficheiros Autocad (*.dwg)|*.dwg" frmZ160.cmdSaveAs.InitDir = App.Path frmZ160.cmdSaveAs.ShowSave If frmZ160.cmdSaveAs.FileName = "" Then

BuscaFicheiro = False Else

BuscaFicheiro = True End If

End Function

PROCEDIMENTO PARA EXECUÇÃO GRÁFICA 2D DO ELEMENTO NORMALIZADO Devido à extensão do código desenvolvido para a concretização deste item, reporta-se a totalidade

daquele para anexo. Por este motivo será apenas apresentada nesta rubrica, a sintaxe que se considera mais relevante e que se pode encontrar neste fascículo de código em particular.

Exemplo da criação de uma linha – indicação de dois pontos e correspondentes coordenadas x,y,z acCord1(0) = acCordstart(0)

acCord1(1) = acCordstart(1) - CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - CDbl(d2g) + 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

Exemplo da criação de um arco – indicação do centro, raio, startangle, endangle

acAplic.ActiveDocument.ModelSpace.AddArc acCord2, CDbl(d3) / 2, angadin1(CDbl(adin), CDbl(a1), CDbl(d3)), angadin2(CDbl(adin), CDbl(a1), CDbl(d3))

Page 13: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

9

Exemplo da criação de uma circunferência – indicação do centro, raio acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d3) / 2 Exemplo da activação de uma layer existente no template autocad

acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg")

FUNÇÕES AUXILIARES Estas funções foram criadas com o objectivo de obter dimensões indispensáveis à criação do desenho.

Estas, são obtidas a partir das dimensões armazenadas na base de dados através de relações matemáticas, desta forma uma alteração do fabricante não implicará grandes alterações de código nem grandes actualizações da base de dados.

Private Function angadin1(larg, altcaixa, diamcil) As Double angadin1 = (3 * pi / 2) - Arcsin(Sin((larg / 2 + altcaixa / 2) /

(diamcil / 2))) End Function Private Function angadin2(larg, altcaixa, diamcil) As Double angadin2 = (3 * pi / 2) + Arcsin(Sin((larg / 2 + altcaixa / 2) /

(diamcil / 2))) End Function Private Function r2i(raio, larg) As Double r2i = raiEnd Function

o - Tan(Arcsin((larg / 2) / raio)) * (larg / 2)

Private Function e1(diamcil, alt) As Double e1 = Sqr((diamcil / 2) ^ 2 - (alt / 2) ^ 2) End Function Private Function e2(diamcil, alt) As Double e2 = Sqr((diamcil / 2) ^ 2 - (alt * 0.3) ^ 2) End Function Private Function r2adin(diamcil, larg, altcaixa) As Double r2adin = End Function

Sqr((diamcil / 2) ^ 2 - (larg / 2 + altcaixa / 2) ^ 2)

Private Function Arcsin(valor) As Double Arcsin = End Function

Atn(valor / Sqr(-valor * valor + 1))

Private Function aint(diamcil, alt) As Double aint = Sqr((diamcil / 2) ^ 2 - ((diamcil / 2) - alt) ^ 2) End Function Private Function di(diamt, p) As Double di = diamt - 1.0825 * p End Function Private Function y(diamt11, larg) As Double y = Sqr((diaEnd Function

mt11 / 2) ^ 2 - (larg / 2) ^ 2)

Page 14: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

10

APONTAMENTO DO AUTOR O facto do enunciado se encontrar em alemão levantou algumas dúvidas quanto ao curso dos cilindros normalizados nos seus vários segmentos disponibilizados pelo fabricante. Por este motivo foi arbitrado um valor de curso para cada um dos segmentos do elemento normalizado. Esta situação não é problemática para a concretização dos objetivos do trabalho uma vez que a qualquer momento a base de dados pode ser actualizada.

PROCEDIMENTO DE INSTALAÇÃO

O CD que acompanha este relatório contém uma pasta na raiz à qual foi dado o nome de “trabalhodeCFAC”. Esta pasta deverá ser copiada para o disco da máquina. No interior desta pasta, para além de todos os ficheiros necessários ao projecto, existe um ficheiro “projectoZ160.exe” o qual sempre que executado dá início à aplicação.

TRABALHOS FUTUROS No que diz respeito à prossecução deste projecto em particular, a minha sugestão vai de encontro à necessidade de muitas vezes o utilizador personalizar as dimensões do elemento, pelo que a criação de novas rotinas de programação permitirião esta faculdade ao projecto. A representação gráfica 3D deste elemento como complemento deste projecto faz também todo o sentido.

Para além de incentivar o contínuo desenvolvimento de aplicações que implementem desenhos automáticos de elementos normalizados que se revelem de maior interesse para a Secção de Desenho Industrial, gostaria de sugerir o desenvolvimento de uma base de dados que armazene todas as aplicações até aqui desenvolvidas, e as que no futuro se venham a desenvolver. Deste modo é possível optimizar-se a gestão documental destas aplicações, com a certeza que esta iniciativa trará benefícios para todos os que trabalham com a Secção.

CONLUSÕES As propostas feitas para trabalhos futuros poderiam ter sido desenvolvidas no âmbito deste projecto. Esta opção foi no entanto deixada de parte por considerar que tais desenvolvimentos não são indispensáveis para a concretização plena dos objectivos deste trabalho.

Page 15: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

11

REFERÊNCIAS Como referências deste trabalho serviram todas as aplicações desenvolvidas no âmbito da disciplina, no que concerne à implementação de desenhos automáticos, utilizando várias linguagens de programação disponíveis para o efeito, tendo assumido principal relevo o seguinte trabalho:

Título: Representação gráfica 3D em AutoCAD de um cilindro de duplo efeito Aplicações utilizadas: AutoCAD, Visual Basic e Access Linguagens utilizadas: Visual Basic for Aplications e Access Autores: Noé Pierre Gros e Nuno Daniel Tavares de Fontes (LGEI)

Ano Lectivo: 2003/2004

BIBLIOGRAFIA FERREIRA, Fernando Luís, SANTOS João, Programação em AutoCAD – Curso Completo, FCA, 2002, Programação. TAVARES, João M., FONSECA, Joaquim O., MARAFONA, José D., Sebenta de Concepção e Desenho Assistidos por Computador, SDI, Faculdade de Engenharia da Universidade do Porto, 2004. Morais, Simões, Desenho de Construções Mecânicas 3, Porto Editora, Desenho Técnico Básico. TAVARES, João M., Acetatos de Concepção e Desenho Assistidos por Computador, SDI, Faculdade de Engenharia da Universidade do Porto, 2004. Sebenta de Desenho e Construções Mecânicas, SDI, Faculdade de Engenharia da Universidade do Porto.

Page 16: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

ANEXO A

Listagem do Código Fonte Desenvolvido

PROCEDIMENTO PARA EXECUÇÃO GRÁFICA 2D DO ELEMENTO NORMALIZADO Public Sub desenha2d() Dim acAplic As AutoCAD.AcadApplication Dim acCordCentro(2) As Double Dim acCordCentro1(2) As Double Dim acCordCentro2(2) As Double Dim acCordCentro3(2) As Double Dim acCord1(2) As Double Dim acCord2(2) As Double Dim strAplic As String ' Variável para ficar com o local onde está instalado o Autocad Set acAplic = New AutoCAD.AcadApplication ' Cria o objecto acAplic como aplicação autocad strAplic = acAplic.FullName ' Coloca na variável o local onde o autocad está instalado acAplic.ActiveDocument.Close 'Fecha o documento activo (o autocad abre sempre um documento em branco por defeito) acAplic.Documents.Add App.Path & "\acadZ160.dwt" ' Cria um novo documento de autocad com o nome acadZ160.dwt

' Vista Principal ' B1

If frmZ160.txtB1.Value = True Then acCordstart(0) = 30 acCordstart(1) = 210 acCordstart(2) = 0

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

12

Page 17: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

13

acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) acCord2(1) = acCordstart(1) - CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) - CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - CDbl(d2g) + 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) + 0.1 * CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) acCord2(1) = acCordstart(1) - CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

Page 18: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

14

acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tf") acCord1(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - 0.1 * CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) + 0.1 * CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - CDbl(d2g) + 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg")

acCord1(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) + 1.5 * CDbl(pd2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - CDbl(d2g) + 1.5 * CDbl(pd2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - 1.5 * CDbl(pd2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a5) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - 1.5 * CDbl(pd2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5

Page 19: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

15

acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) - CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + CDbl(d2g) * 2/6 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2)

Page 20: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

16

acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) * 0.5 + 0.25 * CDbl(d2g) * 2 / 3 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) - CDbl(d2g) * 0.5 - 0.25 * CDbl(d2g) * 2 / 3 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) - CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2)

Page 21: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

17

acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + (((CDbl(l4) + 0.5) * 1 / 8) * (Tan(45 * pi / 180))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5))))

Page 22: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (((CDbl(l4) + 0.5) * 1 / 8) * (Tan(45 * pi / 180))) acCord2(2) = acCordstart(2) acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

'Criar Vista lateral esquerda B1

'Centro da vista lateral esquerda acCordCentro(0) = acCordstart(0) + CDbl(l3) + CDbl(l20) + CDbl(l2) acCordCentro(1) = acCordstart(1) - CDbl(d3) * 1.6 acCordCentro(2) = 0 ' Linhas de traço misto da vista lateral esquerda acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordCentro(0) - 1.1 * CDbl(d3) / 2 acCord1(1) = acCordCentro(1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + 1.1 * CDbl(d3) / 2 acCord2(1) = acCordCentro(1) acCord2(2) = acCordCentro(2)

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

18

Page 23: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

19

acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) acCord1(1) = acCordCentro(1) - 1.1 * CDbl(d3) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) acCord2(1) = acCordCentro(1) + 1.1 * CDbl(d3) / 2 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 ' Linha que mostra que a peça é roscada acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tf") acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d2g) / 2 - 0.1 * CDbl(d2g), -pi / 3, 1.2 * pi

' Restante vista lateral esquerda acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2g) / 2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2) / 2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2g) / 2 + 0.5 * Tan(45 * pi / 180) acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 3.2 / 180, pi * 86.8 / 180 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

Page 24: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

20

acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 93.2 / 180, pi * 176.8 / 180 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 183.2 / 180, pi * 266.8 / 180 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord1(2) = acCordCentro(2)

Page 25: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 273.2 / 180, pi * 356.8 / 180 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d3) / 2 Else ' M1

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

21

Page 26: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

22

acCordstart(0) = 30 acCordstart(1) = 210 acCordstart(2) = 0 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) + 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - 0.1 * CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) + 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0)

Page 27: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

23

acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a4) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) + 0.1 * CDbl(d2g) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(a4) - 0.1 * CDbl(d2g) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) - 0.1 * CDbl(d2g) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("ti") acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2)

Page 28: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

24

acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (di(CDbl(a6), CDbl(pa6)) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (di(CDbl(a6), CDbl(pa6)) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (di(CDbl(a6), CDbl(pa6)) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (di(CDbl(a6), CDbl(pa6)) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (di(CDbl(a6), CDbl(pa6)) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (di(CDbl(a6), CDbl(pa6)) / 2) acCord2(2) = acCordstart(2)

Page 29: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

25

acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (di(CDbl(a6), CDbl(pa6)) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (di(CDbl(a6), CDbl(pa6)) / 2) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6)

Page 30: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

26

acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) acCord1(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + 0.4 * CDbl(a6) acCord1(2) = acCordstart(2)

Page 31: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

27

acCord2(0) = acCordstart(0) - 0.1 * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) + 0.6 * CDbl(a6) acCord2(1) = acCordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - 0.4 * CDbl(a6) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Criar Vista lateral esquerda M1 'Centro da vista lateral esquerda acCordCentro(0) = acCordstart(0) + CDbl(l3) + CDbl(l20) + CDbl(l2) acCordCentro(1) = acCordstart(1) - CDbl(d3) * 1.6 acCordCentro(2) = 0

' Linhas de traço misto da vista lateral esquerda acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordCentro(0) - 1.1 * CDbl(d3) / 2 acCord1(1) = acCordCentro(1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + 1.1 * CDbl(d3) / 2 acCord2(1) = acCordCentro(1) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) acCord1(1) = acCordCentro(1) - 1.1 * CDbl(d3) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) acCord2(1) = acCordCentro(1) + 1.1 * CDbl(d3) / 2 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 ' Linha que mostra que a peça é roscada acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tf") acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(a6) / 2, -pi / 3, 1.2 * pi ' Restante vista lateral esquerda acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2) / 2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, di(CDbl(a6), CDbl(pa6)) / 2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2) / 2 + 0.1 * CDbl(d2) acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d2) / 2 - 0.1 * CDbl(d2) acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 3.2 / 180, pi * 86.8 / 180

Page 32: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

28

acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 93.2 / 180, pi * 176.8 / 180 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2)

Page 33: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

29

acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 183.2 / 180, pi * 266.8 / 180 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro, CDbl(d11) / 2, pi * 273.2 / 180, pi * 356.8 / 180 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 acCord1(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord1(1) = acCordCentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180)

Page 34: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acCord2(1) = acCordCentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro, CDbl(d3) / 2 End If

' Corpo do cilindro

acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (CDbl(d11) / 2) + (CDbl(d11) * Sin(3.2 * pi / 180)) * 0.5 acCord1(2) = acCordstart(2)

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

30

Page 35: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

31

acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (CDbl(d11) / 2) + (CDbl(d11) * Sin(3.2 * pi / 180)) * 0.5 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (CDbl(d11) / 2) - (CDbl(d11) * Sin(3.2 * pi / 180)) * 0.5 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (CDbl(d11) / 2) - (CDbl(d11) * Sin(3.2 * pi / 180)) * 0.5 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 acCord1(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20)

Page 36: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

32

acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - 0.02 * CDbl(d11) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) acCord1(2) = acCordstart(2) acCord4(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) + (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) acCord4(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acCord4(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord4 acCord4(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) + (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) acCord4(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acCord4(2) = acCordstart(2) acCord3(0) = acCord4(0) acCord3(1) = acCord4(1) - CDbl(d3) acCord3(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord3, acCord4 acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) acCord2(1) = acCordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * 0.5 - ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - 0.02 * CDbl(d11) acCord2(2) = acCordstart(2) acCord3(0) = acCord4(0) acCord3(1) = acCord4(1) - CDbl(d3) acCord3(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord2, acCord3 acCord1(0) = acCord4(0) acCord1(1) = acCord4(1) - CDbl(d3) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord4(1) - CDbl(d3) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

Page 37: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

33

acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord4(1) - CDbl(d3) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord2(1) = acCord4(1) - CDbl(d3) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord4(1) - CDbl(d3) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord4(1) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord4(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) + (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) acCord4(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acCord4(2) = acCordstart(2) acCord2(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) + CDbl(l11) - (CDbl(adin) * 0.5 + CDbl(a1) * 0.5) acCord2(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord4, acCord2 acCord1(0) = acCordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) - 0.1 * CDbl(d2g) + 0.5 + CDbl(l20) + CDbl(l11) + (CDbl(adin) * 0.5 + CDbl(a1) * 0.5) acCord1(1) = acCordstart(1) + Tan(45 * pi / 180) * 0.5 + ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + 0.02 * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acCord1(2) = acCordstart(2) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord4(1) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2

Page 38: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

34

acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord1(1) = acCord4(1) - CDbl(d3) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord2(1) = acCord4(1) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord4(1) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord2(1) = acCord4(1) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord1(1) = acCord4(1) - CDbl(d3) + 0.5 * CDbl(d3) - 0.5 * CDbl(d1) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord2(1) = acCord4(1) - CDbl(d3) + 0.5 * CDbl(d3) - 0.5 * CDbl(d1) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord1(1) = acCord4(1) - (0.5 * CDbl(d3) - 0.5 * CDbl(d1)) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) acCord2(1) = acCord4(1) - (0.5 * CDbl(d3) - 0.5 * CDbl(d1)) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord1(1) = acCord4(1) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord2(1) = acCord4(1) - CDbl(d3) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4)

Page 39: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

35

acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord1(1) = acCord4(1) - CDbl(d3) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord2(1) = acCord4(1) - CDbl(d3) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord1(1) = acCord4(1) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord2(1) = acCord4(1) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord1(1) = acCord4(1) - CDbl(d3) acCord1(2) = acCord4(1) acCord2(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord2(1) = acCord4(1) acCord2(2) = acCord4(1) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord5(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord5(1) = acCord4(1) - CDbl(d3) acCord5(2) = acCord4(1) acCord6(0) = acCord4(0) - (((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) / (Tan(35 * pi / 180))) + CDbl(l2) + ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) acCord6(1) = acCord4(1) acCord6(2) = acCord4(2) acCord1(0) = acCord5(0) acCord1(1) = acCord5(1) acCord1(2) = acCord5(2)

Page 40: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

36

acCord2(0) = acCord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord5(1) acCord2(2) = acCord5(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord5(1) acCord1(2) = acCord5(2) acCord2(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord6(1) acCord2(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord5(1) acCord1(2) = acCord5(2) acCord2(0) = acCord5(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord5(1) acCord2(2) = acCord5(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord6(1) acCord1(2) = acCord6(2) acCord2(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord6(1) acCord2(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord7(0) = acCord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord7(1) = acCord6(1) acCord7(2) = acCord6(2) acCord1(0) = acCord6(0) acCord1(1) = acCord6(1) acCord1(2) = acCord6(2) acCord2(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) - CDbl(l14) - ((CDbl(adin) + CDbl(a1)) * 0.5) acCord2(1) = acCord6(1) acCord2(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) - CDbl(l14) + ((CDbl(adin) + CDbl(a1)) * 0.5)

Page 41: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

37

acCord1(1) = acCord6(1) acCord1(2) = acCord6(2) acCord2(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord6(1) acCord2(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord5(1) + (CDbl(r2) - r2i(CDbl(r2), CDbl(b8))) acCord1(2) = acCord5(2) acCord2(0) = acCord5(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord5(1) + (CDbl(r2) - r2i(CDbl(r2), CDbl(b8))) acCord2(2) = acCord5(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord1(1) = acCord6(1) - (CDbl(r2) - r2i(CDbl(r2), CDbl(b8))) acCord1(2) = acCord6(2) acCord2(0) = acCord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCord2(1) = acCord6(1) - (CDbl(r2) - r2i(CDbl(r2), CDbl(b8))) acCord2(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCordCentro1(0) = acCord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) - 0.5 * CDbl(d1)) * 0.4) acCordCentro1(1) = acCord6(1) - CDbl(r2) acCordCentro1(2) = acCord6(2) acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro1, CDbl(r2), pi * (-90) / 180, pi * (90) / 180 acAplic.ActiveDocument.ModelSpace.AddArc acCordCentro1, r2i(CDbl(r2), CDbl(b8)), pi * (-90) / 180, pi * (90) / 180 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro1, CDbl(d7) / 2 acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro1, CDbl(d7) / 2 + 0.5 * CDbl(d7) * (3 / 11) acAplic.ActiveDocument.ModelSpace.AddCircle acCordCentro1, CDbl(d7) / 2 + 0.5 * CDbl(d7) * (5 / 11) ' Linha de eixo do cilindro acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordstart(0) - 0.5 * CDbl(d2) acCord1(1) = acCordstart(1) - CDbl(d2g) / 2 acCord1(2) = acCordstart(2) acCord2(0) = acCordstart(0) + 2 * 0.5 * CDbl(d2) + CDbl(l3) + CDbl(l20) + CDbl(l1) + CDbl(crs) + CDbl(r2)

Page 42: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

38

acCord2(1) = acCordstart(1) - CDbl(d2g) / 2 acCord2(2) = acCordstart(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Linha de eixo das circunferências (rolamento) acCord1(0) = acCordCentro1(0) acCord1(1) = acCordCentro1(1) + 1.2 * (CDbl(d7) / 2 + CDbl(d7) / 2 * (5 / 11)) acCord1(2) = acCordCentro1(2) acCord2(0) = acCordCentro1(0) acCord2(1) = acCordCentro1(1) acCord2(2) = acCordCentro1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro1(0) acCord1(1) = acCordCentro1(1) - 1.2 * (CDbl(d7) / 2 + CDbl(d7) / 2 * (5 / 11)) acCord1(2) = acCordCentro1(2) acCord2(0) = acCordCentro1(0) acCord2(1) = acCordCentro1(1) acCord2(2) = acCordCentro1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Dispositivo EII acCordE(0) = acCord7(0) - CDbl(l15) acCordE(1) = acCord7(1) + CDbl(e) acCordE(2) = acCord7(2) ' Linhas de traço misto acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordE(0) acCord1(1) = acCordE(1) + 0.2 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) acCord2(1) = acCordE(1) - 1.2 * CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordE(0) + 0.2 * CDbl(e) acCord1(1) = acCordE(1) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.2 * CDbl(e) acCord2(1) = acCordE(1) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) + 0.2 * CDbl(e) acCord1(1) = acCordE(1)

Page 43: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

39

acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) + 0.2 * CDbl(e) acCord2(1) = acCordE(1) - 0.6 * CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) - 0.2 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.2 * CDbl(e) acCord2(1) = acCordE(1) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) - 0.2 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.5 * CDbl(e) acCord2(1) = acCordE(1) - 0.6 * CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) + 0.5 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) + 0.2 * CDbl(e) acCord2(1) = acCordE(1) - 0.6 * CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) + 0.5 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) + 0.5 * CDbl(e) acCord2(1) = acCordE(1) - CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) - 0.5 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.5 * CDbl(e) acCord2(1) = acCordE(1) - CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) + 0.3 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2)

Page 44: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

40

acCord2(0) = acCordE(0) + 0.3 * CDbl(e) acCord2(1) = acCordE(1) - CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) - 0.3 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.3 * CDbl(e) acCord2(1) = acCordE(1) - CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE(0) + 0.2 * CDbl(e) acCord1(1) = acCordE(1) - 0.6 * CDbl(e) acCord1(2) = acCordE(2) acCord2(0) = acCordE(0) - 0.2 * CDbl(e) acCord2(1) = acCordE(1) - 0.6 * CDbl(e) acCord2(2) = acCordE(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Dispositivo EI acCordE1(0) = acCord7(0) - (CDbl(l1) + CDbl(crs)) + CDbl(l19) acCordE1(1) = acCord7(1) + CDbl(e) acCordE1(2) = acCord7(2) ' Linhas de traço misto acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordE1(0) acCord1(1) = acCordE1(1) + 0.2 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) acCord2(1) = acCordE1(1) - 1.2 * CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordE1(0) + 0.2 * CDbl(e) acCord1(1) = acCordE1(1) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.2 * CDbl(e) acCord2(1) = acCordE1(1) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) + 0.2 * CDbl(e) acCord1(1) = acCordE1(1)

Page 45: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

41

acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) + 0.2 * CDbl(e) acCord2(1) = acCordE1(1) - 0.6 * CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) - 0.2 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.2 * CDbl(e) acCord2(1) = acCordE1(1) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) - 0.2 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.5 * CDbl(e) acCord2(1) = acCordE1(1) - 0.6 * CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) + 0.5 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) + 0.2 * CDbl(e) acCord2(1) = acCordE1(1) - 0.6 * CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) + 0.5 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) + 0.5 * CDbl(e) acCord2(1) = acCordE1(1) - CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) - 0.5 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.5 * CDbl(e) acCord2(1) = acCordE1(1) - CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) + 0.3 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2)

Page 46: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

42

acCord2(0) = acCordE1(0) + 0.3 * CDbl(e) acCord2(1) = acCordE1(1) - CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) - 0.3 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.3 * CDbl(e) acCord2(1) = acCordE1(1) - CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE1(0) + 0.2 * CDbl(e) acCord1(1) = acCordE1(1) - 0.6 * CDbl(e) acCord1(2) = acCordE1(2) acCord2(0) = acCordE1(0) - 0.2 * CDbl(e) acCord2(1) = acCordE1(1) - 0.6 * CDbl(e) acCord2(2) = acCordE1(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Dispositivo E da vista lateral esquerda acCordE3(0) = acCordCentro(0) acCordE3(1) = acCordCentro(1) + CDbl(d3) / 2 + CDbl(e) acCordE3(2) = acCordCentro(2) ' Linhas de traço misto acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordE3(0) acCord1(1) = acCordE3(1) + 0.2 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) acCord2(1) = acCordE3(1) - 0.7 * CDbl(e) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord1(0) = acCordE3(0) + 0.2 * CDbl(e) acCord1(1) = acCordE3(1) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) - 0.2 * CDbl(e) acCord2(1) = acCordE3(1) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) + 0.2 * CDbl(e) acCord1(1) = acCordE3(1)

Page 47: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

43

acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) + 0.2 * CDbl(e) acCord2(1) = acCordE3(1) - 0.6 * CDbl(e) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) - 0.2 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) - 0.2 * CDbl(e) acCord2(1) = acCordE3(1) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) - 0.2 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) - 0.5 * CDbl(e) acCord2(1) = acCordE3(1) - 0.6 * CDbl(e) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) + 0.5 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) + 0.2 * CDbl(e) acCord2(1) = acCordE3(1) - 0.6 * CDbl(e) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) + 0.5 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordCentro(0) + 0.5 * CDbl(e) acCord2(1) = acCordCentro(1) + e1(CDbl(d3), CDbl(e)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) - 0.5 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordCentro(0) - 0.5 * CDbl(e) acCord2(1) = acCordCentro(1) + e1(CDbl(d3), CDbl(e)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) + 0.3 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2)

Page 48: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

44

acCord2(0) = acCordCentro(0) + 0.3 * CDbl(e) acCord2(1) = acCordCentro(1) + e2(CDbl(d3), CDbl(e)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) - 0.3 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordCentro(0) - 0.3 * CDbl(e) acCord2(1) = acCordCentro(1) + e2(CDbl(d3), CDbl(e)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordE3(0) + 0.2 * CDbl(e) acCord1(1) = acCordE3(1) - 0.6 * CDbl(e) acCord1(2) = acCordE3(2) acCord2(0) = acCordE3(0) - 0.2 * CDbl(e) acCord2(1) = acCordE3(1) - 0.6 * CDbl(e) acCord2(2) = acCordE3(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 'Dispositivo AII acCordA(0) = acCord7(0) - CDbl(l13) - CDbl(l14) acCordA(1) = acCord7(1) acCordA(2) = acCord7(2) acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordA(0) acCord1(1) = acCordA(1) + CDbl(adin) * 0.5 acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) acCord2(1) = acCordA(1) - ((CDbl(d3) - CDbl(d11)) * 0.5) * 1.2 acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 ' Linhas de traço interrompido acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("ti") acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + CDbl(adin) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1)

Page 49: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

45

acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - CDbl(adin) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord1(1) = acCordA(1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord1(1) = acCordA(1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord2(0) = acCordA(0)

Page 50: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

46

acCord2(1) = acCordA(1) + r2adin(CDbl(d3), CDbl(adin), CDbl(a1)) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddArc acCord2, CDbl(d3) / 2, angadin1(CDbl(adin), CDbl(a1), CDbl(d3)), angadin2(CDbl(adin), CDbl(a1), CDbl(d3)) 'Dispositivo AI acCordA(0) = acCord7(0) - (CDbl(l1) + CDbl(crs)) + CDbl(l11) acCordA(1) = acCord7(1) acCordA(2) = acCord7(2) acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordA(0) acCord1(1) = acCordA(1) + CDbl(adin) * 0.5 acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) acCord2(1) = acCordA(1) - ((CDbl(d3) - CDbl(d11)) * 0.5) * 1.2 acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("ti") acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + CDbl(adin) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - CDbl(adin) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2)

Page 51: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

47

acCord2(0) = acCordA(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordA(1) - (CDbl(d3) * 0.5 - CDbl(d11) * 0.5) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord1(1) = acCordA(1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord1(1) = acCordA(1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordA(0) + CDbl(adin) * 0.5 + CDbl(a1) * 0.5 acCord1(1) = acCordA(1) - CDbl(a1) acCord1(2) = acCordA(2) acCord2(0) = acCordA(0) - CDbl(adin) * 0.5 - CDbl(a1) * 0.5 acCord2(1) = acCordA(1) - CDbl(a1) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tg") acCord2(0) = acCordA(0) acCord2(1) = acCordA(1) + r2adin(CDbl(d3), CDbl(adin), CDbl(a1)) acCord2(2) = acCordA(2) acAplic.ActiveDocument.ModelSpace.AddArc acCord2, CDbl(d3) / 2, angadin1(CDbl(adin), CDbl(a1), CDbl(d3)), angadin2(CDbl(adin), CDbl(a1), CDbl(d3)) 'Dispositivo A na vista lateral esquerda acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("tm") acCord1(0) = acCordCentro(0) acCord1(1) = acCordCentro(1) + 0.2 * CDbl(adin) * 0.5 acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) acCord2(1) = acCordCentro(1) - 1.3 * CDbl(adin) * 0.5 acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 ' Linhas de traço interrompido

Page 52: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado

CFAC – Implementação de Desenhos Automáticos - programação

Elemento Hidráulico Normalizado

Concepção e Fabrico Assistidos por Computador – 4º Ano 1º Semestre Licenciatura em Gestão Engenharia e Industrial

48

acAplic.ActiveDocument.ActiveLayer = acAplic.ActiveDocument.Layers.Item("ti") acCord1(0) = acCordCentro(0) + CDbl(adin) * 0.5 acCord1(1) = acCordCentro(1) + CDbl(d3) * 0.5 - CDbl(a1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + CDbl(adin) * 0.5 acCord2(1) = acCordCentro(1) + y(CDbl(d11), CDbl(adin)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordCentro(1) + CDbl(d3) * 0.5 - CDbl(a1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) + di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordCentro(1) + y(CDbl(d11), di(CDbl(adin), (padin))) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - CDbl(adin) * 0.5 acCord1(1) = acCordCentro(1) + CDbl(d3) * 0.5 - CDbl(a1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - CDbl(adin) * 0.5 acCord2(1) = acCordCentro(1) + y(CDbl(d11), CDbl(adin)) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord1(1) = acCordCentro(1) + CDbl(d3) * 0.5 - CDbl(a1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - di(CDbl(adin), CDbl(padin)) * 0.5 acCord2(1) = acCordCentro(1) + y(CDbl(d11), di(CDbl(adin), (padin))) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acCord1(0) = acCordCentro(0) + aint(CDbl(d3), CDbl(a1)) acCord1(1) = acCordCentro(1) + CDbl(d3) / 2 - CDbl(a1) acCord1(2) = acCordCentro(2) acCord2(0) = acCordCentro(0) - aint(CDbl(d3), CDbl(a1)) acCord2(1) = acCordCentro(1) + CDbl(d3) / 2 - CDbl(a1) acCord2(2) = acCordCentro(2) acAplic.ActiveDocument.ModelSpace.AddLine acCord1, acCord2 acAplic.ActiveDocument.SaveAs (frmZ160.cmdSaveAs.FileName) ' Grava o documento autocad com o nome do ficheiro seleccionado acAplic.ActiveDocument.Close 'Fecha o documento autocad acAplic.Quit ' Fecha a aplicação Autocad aberta internamente no vb Set acAplic = Nothing ' Elimina o objecto acAplic Shell strAplic & " """ & frmZ160.cmdSaveAs.FileName & """" ' Abre o Autocad, abrindo o ficheiro gravado End Sub

Page 53: Implementação de Desenhos Automáticos Elemento Hidráulico ...tavares/ensino/CFAC/2004-2005/Works... · implementação de desenhos automáticos - elemento hidráulico normalizado