Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado. Concepção e Fabrico Assistidos por Computador Programação VBA

Tamanho: px
Começar a partir da página:

Download "Implementação de Desenhos Automáticos Elemento Hidráulico Normalizado. Concepção e Fabrico Assistidos por Computador Programação VBA"

Transcrição

1 Implementação de Desenhos Automáticos 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

2 Implementação de Desenhos Automáticos - Implementação de Desenhos Automáticos Cilindro Hidráulico Z 160 André Filipe Mouta Sousa: andre.filipe@fe.up.pt 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

3 Implementação de Desenhos Automáticos - 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

4 Implementação de Desenhos Automáticos - 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

5 Í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 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

6 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 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. 2

7 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... 3

8 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") 4

9 pa6 = recdimensoes.recordset("pa6") End Sub If txtl1i.value = True Then txtl1i_click If txtl1ii.value = True Then txtl1ii_click If txtl1iii.value = True Then txtl1iii_click 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 Sub End If 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 Sub End If 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 5

10 txtl1.text = recl1.recordset("l1") Else MsgBox "Dimensão do Diâmetro do Pistão não definida!", vbexclamation + vbokonly, "Aviso" End Sub End If PROCEDIMENTO PARA TORNAR VISÍVEL AS DIMENSÕES CARACTERÍSTICAS DAS OPÇÕES CONSTRUTIVAS M1/B1 Private Sub txtm1_click() End Sub fram1.visible = True FraB1.Visible = False Private Sub txtb1_click() End Sub FraB1.Visible = True fram1.visible = False 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 6

11 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 End Sub desenha2d ' executa, chamando o módulo mod2d Screen.MousePointer = vbdefault 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 7

12 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 = 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) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) * CDbl(d2g) 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)) 8

13 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 = raio - Tan(Arcsin((larg / 2) / raio)) * (larg / 2) End Function 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 = Sqr((diamcil / 2) ^ 2 - (larg / 2 + altcaixa / 2) ^ 2) End Function Private Function Arcsin(valor) As Double Arcsin = Atn(valor / Sqr(-valor * valor + 1)) End Function 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 * p End Function Private Function y(diamt11, larg) As Double y = Sqr((diamt11 / 2) ^ 2 - (larg / 2) ^ 2) End Function 9

14 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. 10

15 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, 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, Sebenta de Desenho e Construções Mecânicas, SDI, Faculdade de Engenharia da Universidade do Porto. 11

16 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 12

17 acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accordstart(0) accord1(1) = accordstart(1) accord2(0) = accordstart(0) accord2(1) = accordstart(1) - CDbl(d2g) accord1(0) = accordstart(0) accord1(1) = accordstart(1) - CDbl(d2g) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) * CDbl(d2g) accord1(0) = accordstart(0) accord1(1) = accordstart(1) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) * CDbl(d2g) accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * CDbl(d2g) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) * CDbl(d2g) accord1(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) accord2(0) = accordstart(0) accord2(1) = accordstart(1) - CDbl(d2g) accord1(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) accord2(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord2(1) = accordstart(1) 13

18 accord1(0) = accordstart(0) accord1(1) = accordstart(1) accord2(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord2(1) = accordstart(1) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tf") accord1(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord1(1) = accordstart(1) * CDbl(d2g) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) * CDbl(d2g) accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * CDbl(d2g) accord2(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) * CDbl(d2g) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * CDbl(pd2g) accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) * CDbl(pd2g) accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) * CDbl(pd2g) accord2(0) = accordstart(0) + CDbl(a5) * CDbl(d2g) accord2(1) = accordstart(1) * CDbl(pd2g) accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) + Tan(45 * pi / 180) *

19 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) + CDbl(d2g) * 2/6 accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 15

20 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * 0.5 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) * * CDbl(d2g) * 2 / 3 accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * 0.5 accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * 0.5 accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) accord2(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) accord1(0) = accordstart(0) + CDbl(l4) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - (Tan(45 * pi / 180) * 0.5) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) 16

21 accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 0.5) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) + (((CDbl(l4) + 0.5) * 1 / 8) * (Tan(45 * pi / 180))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) 17

22 accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (((CDbl(l4) + 0.5) * 1 / 8) * (Tan(45 * pi / 180))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5)) * 7 / 8) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d2) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) '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) * CDbl(d3) / 2 accord1(1) = accordcentro(1) accord2(0) = accordcentro(0) * CDbl(d3) / 2 accord2(1) = accordcentro(1) 18

23 accord1(0) = accordcentro(0) accord1(1) = accordcentro(1) * CDbl(d3) / 2 accord2(0) = accordcentro(0) accord2(1) = accordcentro(1) * CDbl(d3) / 2 ' Linha que mostra que a peça é roscada acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tf") acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d2g) / * 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) / * 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 accord2(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(1) = accordcentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord1(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) + CDbl(d11) / 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 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(1) = accordcentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) *

24 acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * 93.2 / 180, pi * / 180 accord1(0) = accordcentro(0) - CDbl(d11) / 2 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) - CDbl(d11) / 2 accord1(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * / 180, pi * / 180 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 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 accord1(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 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 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) *

25 accord2(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(1) = accordcentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * / 180, pi * / 180 Else ' M1 accord1(0) = accordcentro(0) + CDbl(d11) / 2 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) + CDbl(d11) / 2 accord1(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acaplic.activedocument.modelspace.addcircle accordcentro, CDbl(d3) / 2 21

26 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))) accord2(0) = accordstart(0) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord1(0) = accordstart(0) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) * CDbl(d2g) accord1(0) = accordstart(0) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) * CDbl(d2g) accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) * CDbl(d2g) accord2(0) = accordstart(0) * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) * CDbl(d2g) accord1(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord2(0) = accordstart(0) 22

27 accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord1(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord2(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) accord1(0) = accordstart(0) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) accord2(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) accord1(0) = accordstart(0) + CDbl(a4) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) * CDbl(d2g) accord2(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) accord1(0) = accordstart(0) + CDbl(a4) - 2 * 0.1 * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) accord2(0) = accordstart(0) + CDbl(a4) * CDbl(d2g) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - CDbl(d2) * CDbl(d2g) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("ti") accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2) 23

28 accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) accord1(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (CDbl(a6) / 2) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (CDbl(a6) / 2) accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) + (di(cdbl(a6), CDbl(pa6)) / 2) accord2(0) = accordstart(0) * 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) accord1(0) = accordstart(0) * CDbl(d2g) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) - (di(cdbl(a6), CDbl(pa6)) / 2) accord2(0) = accordstart(0) * 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) accord1(0) = accordstart(0) * 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) accord2(0) = accordstart(0) * 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) 24

29 accord1(0) = accordstart(0) * 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) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) accord1(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) accord2(0) = accordstart(0) * 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) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accordstart(0) * 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) accord2(0) = accordstart(0) * 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) * CDbl(a6) accord1(0) = accordstart(0) * 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) accord2(0) = accordstart(0) * 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) * CDbl(a6) accord1(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) 25

30 accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord1(0) = accordstart(0) * 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) * CDbl(a6) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord1(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord1(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord1(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) accord2(0) = accordstart(0) * 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) * CDbl(a6) accord1(0) = accordstart(0) * 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) * CDbl(a6) 26

31 accord2(0) = accordstart(0) * CDbl(d2g) + CDbl(a5) + (CDbl(a5) / 20) + (CDbl(a5) / 10) + 1 / 3 * CDbl(a6) * CDbl(a6) accord2(1) = accordstart(1) + ((CDbl(d2) / 2) - ((CDbl(d2g) / 2))) - (CDbl(d2) / 2) * CDbl(a6) '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) * CDbl(d3) / 2 accord1(1) = accordcentro(1) accord2(0) = accordcentro(0) * CDbl(d3) / 2 accord2(1) = accordcentro(1) accord1(0) = accordcentro(0) accord1(1) = accordcentro(1) * CDbl(d3) / 2 accord2(0) = accordcentro(0) accord2(1) = accordcentro(1) * CDbl(d3) / 2 ' 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) / * CDbl(d2) acaplic.activedocument.modelspace.addcircle accordcentro, CDbl(d2) / * CDbl(d2) acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * 3.2 / 180, pi * 86.8 /

32 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) + CDbl(d11) / 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 accord1(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) + CDbl(d11) / 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 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(1) = accordcentro(1) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * 93.2 / 180, pi * / 180 accord1(0) = accordcentro(0) - CDbl(d11) / 2 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) - CDbl(d11) / 2 accord1(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) 28

33 acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * / 180, pi * / 180 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 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 accord1(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 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 accord1(0) = accordcentro(0) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(1) = accordcentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 accord2(0) = accordcentro(0) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(1) = accordcentro(1) - CDbl(d11) / 2 + (CDbl(d11) / 2) * 0.1 acaplic.activedocument.modelspace.addarc accordcentro, CDbl(d11) / 2, pi * / 180, pi * / 180 accord1(0) = accordcentro(0) + CDbl(d11) / 2 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) + CDbl(d11) / 2 accord1(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) accord1(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord1(1) = accordcentro(1) + CDbl(d11) / 2 * Sin(3.2 * pi / 180) 29

34 End If accord2(0) = accordcentro(0) + CDbl(d11) / 2 - (CDbl(d11) / 2) * 0.1 accord2(1) = accordcentro(1) - CDbl(d11) / 2 * Sin(3.2 * pi / 180) acaplic.activedocument.modelspace.addcircle accordcentro, CDbl(d3) / 2 ' Corpo do cilindro acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) - (CDbl(d11) / 2) + (CDbl(d11) * Sin(3.2 * pi / 180)) *

35 accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((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(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((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(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((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(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) accord1(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) accord2(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) 31

36 accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) accord4(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) 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) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * 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))) * CDbl(d2g) 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) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * 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))) * CDbl(d2g) CDbl(l20) accord2(1) = accordstart(1) - CDbl(d2g) - Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) 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) * CDbl(d1)) * 0.4) accord2(1) = accord4(1) - CDbl(d3) accord2(2) = accord4(1) 32

37 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) * 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) * CDbl(d1)) * 0.4) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) accord2(1) = accord4(1) accord2(2) = accord4(1) accord4(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) 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) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * 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))) * CDbl(d2g) CDbl(l20) + CDbl(l11) - (CDbl(adin) * CDbl(a1) * 0.5) accord2(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) acaplic.activedocument.modelspace.addline accord4, accord2 accord1(0) = accordstart(0) + CDbl(l4) + ((CDbl(l3) - (CDbl(l4) + 0.5))) * CDbl(d2g) CDbl(l20) + CDbl(l11) + (CDbl(adin) * CDbl(a1) * 0.5) accord1(1) = accordstart(1) + Tan(45 * pi / 180) * ((CDbl(d11) / 2) - ((CDbl(d2g) / 2) + ((Tan(45 * pi / 180) * 0.5)))) * CDbl(d11) + ((CDbl(d3) * 0.5) - ((CDbl(d11) * 0.5) + (0.02 * CDbl(d11)))) 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) * CDbl(d1)) * 0.4) accord2(1) = accord4(1) accord2(2) = accord4(1) 33

38 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) * 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) * CDbl(d1)) * 0.4) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) accord2(2) = accord4(1) 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) * CDbl(d3) * 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) * CDbl(d3) * CDbl(d1) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) 34

39 accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) accord2(1) = accord4(1) accord2(2) = accord4(1) 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) * 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) * CDbl(d1)) * 0.4) + (CDbl(l1) + CDbl(crs) - CDbl(l2) - CDbl(l12) - CDbl(l13)) accord2(1) = accord4(1) accord2(2) = accord4(1) 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) * 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) * 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) 35

40 accord2(0) = accord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord2(1) = accord5(1) accord2(2) = accord5(2) accord1(0) = accord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord1(1) = accord5(1) accord1(2) = accord5(2) accord2(0) = accord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord2(1) = accord6(1) accord2(2) = accord6(2) accord1(0) = accord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord1(1) = accord5(1) accord1(2) = accord5(2) accord2(0) = accord5(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord2(1) = accord5(1) accord2(2) = accord5(2) accord1(0) = accord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord1(1) = accord6(1) accord1(2) = accord6(2) accord2(0) = accord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord2(1) = accord6(1) accord2(2) = accord6(2) accord7(0) = accord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) * 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) * CDbl(d1)) * 0.4) - CDbl(l14) - ((CDbl(adin) + CDbl(a1)) * 0.5) accord2(1) = accord6(1) accord2(2) = accord6(2) accord1(0) = accord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) - CDbl(l14) + ((CDbl(adin) + CDbl(a1)) * 0.5) 36

41 accord1(1) = accord6(1) accord1(2) = accord6(2) accord2(0) = accord6(0) + CDbl(l12) - ((0.5 * CDbl(d3) * CDbl(d1)) * 0.4) accord2(1) = accord6(1) accord2(2) = accord6(2) accord1(0) = accord5(0) + CDbl(l12) - ((0.5 * CDbl(d3) * 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) * CDbl(d1)) * 0.4) accord2(1) = accord5(1) + (CDbl(r2) - r2i(cdbl(r2), CDbl(b8))) accord2(2) = accord5(2) accord1(0) = accord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) * 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) * CDbl(d1)) * 0.4) accord2(1) = accord6(1) - (CDbl(r2) - r2i(cdbl(r2), CDbl(b8))) accord2(2) = accord6(2) accordcentro1(0) = accord6(0) + CDbl(l12) + CDbl(l13) - ((0.5 * CDbl(d3) * 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) / * CDbl(d7) * (3 / 11) acaplic.activedocument.modelspace.addcircle accordcentro1, CDbl(d7) / * CDbl(d7) * (5 / 11) ' Linha de eixo do cilindro acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tm") accord1(0) = accordstart(0) * CDbl(d2) accord1(1) = accordstart(1) - CDbl(d2g) / 2 accord2(0) = accordstart(0) + 2 * 0.5 * CDbl(d2) + CDbl(l3) + CDbl(l20) + CDbl(l1) + CDbl(crs) + CDbl(r2) 37

42 accord2(1) = accordstart(1) - CDbl(d2g) / 2 'Linha de eixo das circunferências (rolamento) accord1(0) = accordcentro1(0) accord1(1) = accordcentro1(1) * (CDbl(d7) / 2 + CDbl(d7) / 2 * (5 / 11)) accord1(2) = accordcentro1(2) accord2(0) = accordcentro1(0) accord2(1) = accordcentro1(1) accord2(2) = accordcentro1(2) accord1(0) = accordcentro1(0) accord1(1) = accordcentro1(1) * (CDbl(d7) / 2 + CDbl(d7) / 2 * (5 / 11)) accord1(2) = accordcentro1(2) accord2(0) = accordcentro1(0) accord2(1) = accordcentro1(1) accord2(2) = accordcentro1(2) '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) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) accord2(1) = accorde(1) * CDbl(e) accord2(2) = accorde(2) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) 38

43 accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) * CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) * CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) * CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) - CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) - CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) 39

44 accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) - CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) - CDbl(e) accord2(2) = accorde(2) accord1(0) = accorde(0) * CDbl(e) accord1(1) = accorde(1) * CDbl(e) accord1(2) = accorde(2) accord2(0) = accorde(0) * CDbl(e) accord2(1) = accorde(1) * CDbl(e) accord2(2) = accorde(2) '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) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) accord2(1) = accorde1(1) * CDbl(e) accord2(2) = accorde1(2) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) 40

45 accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) * CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) * CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) * CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) - CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) - CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) 41

46 accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) - CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) - CDbl(e) accord2(2) = accorde1(2) accord1(0) = accorde1(0) * CDbl(e) accord1(1) = accorde1(1) * CDbl(e) accord1(2) = accorde1(2) accord2(0) = accorde1(0) * CDbl(e) accord2(1) = accorde1(1) * CDbl(e) accord2(2) = accorde1(2) '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) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accorde3(0) accord2(1) = accorde3(1) * CDbl(e) accord2(2) = accorde3(2) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) accord2(2) = accorde3(2) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) 42

47 accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) * CDbl(e) accord2(2) = accorde3(2) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) accord2(2) = accorde3(2) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) * CDbl(e) accord2(2) = accorde3(2) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) * CDbl(e) accord2(2) = accorde3(2) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accordcentro(0) * CDbl(e) accord2(1) = accordcentro(1) + e1(cdbl(d3), CDbl(e)) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accordcentro(0) * CDbl(e) accord2(1) = accordcentro(1) + e1(cdbl(d3), CDbl(e)) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) 43

48 accord2(0) = accordcentro(0) * CDbl(e) accord2(1) = accordcentro(1) + e2(cdbl(d3), CDbl(e)) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accordcentro(0) * CDbl(e) accord2(1) = accordcentro(1) + e2(cdbl(d3), CDbl(e)) accord1(0) = accorde3(0) * CDbl(e) accord1(1) = accorde3(1) * CDbl(e) accord1(2) = accorde3(2) accord2(0) = accorde3(0) * CDbl(e) accord2(1) = accorde3(1) * CDbl(e) accord2(2) = accorde3(2) '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) ' 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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) accord1(0) = accorda(0) + di(cdbl(adin), CDbl(padin)) * 0.5 accord1(1) = accorda(1) - CDbl(a1) 44

49 accord1(2) = accorda(2) accord2(0) = accorda(0) + di(cdbl(adin), CDbl(padin)) * 0.5 accord2(1) = accorda(1) - (CDbl(d3) * CDbl(d11) * 0.5) accord2(2) = accorda(2) 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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) 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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) accord1(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) accord1(2) = accorda(2) accord2(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) accord1(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) accord1(2) = accorda(2) accord2(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) accord1(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) - CDbl(a1) accord1(2) = accorda(2) accord2(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("tg") accord2(0) = accorda(0) 45

50 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.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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) 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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) 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) * CDbl(d11) * 0.5) accord2(2) = accorda(2) accord1(0) = accorda(0) - di(cdbl(adin), CDbl(padin)) * 0.5 accord1(1) = accorda(1) - CDbl(a1) accord1(2) = accorda(2) 46

51 accord2(0) = accorda(0) - di(cdbl(adin), CDbl(padin)) * 0.5 accord2(1) = accorda(1) - (CDbl(d3) * CDbl(d11) * 0.5) accord2(2) = accorda(2) accord1(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) accord1(2) = accorda(2) accord2(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) accord1(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) accord1(2) = accorda(2) accord2(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) accord1(0) = accorda(0) + CDbl(adin) * CDbl(a1) * 0.5 accord1(1) = accorda(1) - CDbl(a1) accord1(2) = accorda(2) accord2(0) = accorda(0) - CDbl(adin) * CDbl(a1) * 0.5 accord2(1) = accorda(1) - CDbl(a1) accord2(2) = accorda(2) 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) * CDbl(adin) * 0.5 accord2(0) = accordcentro(0) accord2(1) = accordcentro(1) * CDbl(adin) * 0.5 ' Linhas de traço interrompido 47

52 acaplic.activedocument.activelayer = acaplic.activedocument.layers.item("ti") accord1(0) = accordcentro(0) + CDbl(adin) * 0.5 accord1(1) = accordcentro(1) + CDbl(d3) * CDbl(a1) accord2(0) = accordcentro(0) + CDbl(adin) * 0.5 accord2(1) = accordcentro(1) + y(cdbl(d11), CDbl(adin)) accord1(0) = accordcentro(0) + di(cdbl(adin), CDbl(padin)) * 0.5 accord1(1) = accordcentro(1) + CDbl(d3) * CDbl(a1) accord2(0) = accordcentro(0) + di(cdbl(adin), CDbl(padin)) * 0.5 accord2(1) = accordcentro(1) + y(cdbl(d11), di(cdbl(adin), (padin))) accord1(0) = accordcentro(0) - CDbl(adin) * 0.5 accord1(1) = accordcentro(1) + CDbl(d3) * CDbl(a1) accord2(0) = accordcentro(0) - CDbl(adin) * 0.5 accord2(1) = accordcentro(1) + y(cdbl(d11), CDbl(adin)) accord1(0) = accordcentro(0) - di(cdbl(adin), CDbl(padin)) * 0.5 accord1(1) = accordcentro(1) + CDbl(d3) * CDbl(a1) accord2(0) = accordcentro(0) - di(cdbl(adin), CDbl(padin)) * 0.5 accord2(1) = accordcentro(1) + y(cdbl(d11), di(cdbl(adin), (padin))) accord1(0) = accordcentro(0) + aint(cdbl(d3), CDbl(a1)) accord1(1) = accordcentro(1) + CDbl(d3) / 2 - CDbl(a1) accord2(0) = accordcentro(0) - aint(cdbl(d3), CDbl(a1)) accord2(1) = accordcentro(1) + CDbl(d3) / 2 - CDbl(a1) 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 48

53

Tutorial de Extensibilidade

Tutorial de Extensibilidade PRIMAVERA v7.00 Tutorial de Extensibilidade Importação de Pendentes por excel Versão 1.0 Abril de 2007 Índice ÍNDICE... 1 INTRODUÇÃO... 2 EXCEL DE IMPORTAÇÃO DE PENDENTES... 3 Enquadramento...3 Como utilizar

Leia mais

Concepção e Fabrico Assistido por Computador

Concepção e Fabrico Assistido por Computador Concepção e Fabrico Assistido por Computador Trabalho de programação Visual Basic for Applications Desenho Automático de Cilindro Hidráulico MSAccess VBA AutoCAD Trabalho desenvolvido por: Mário Jorge

Leia mais

Concepção e Fabrico Assistido por Computador

Concepção e Fabrico Assistido por Computador Concepção e Fabrico Assistido por Computador João Pedro Amorim Lobato: gei00017@fe.up.pt Turma: LGEI Trabalho sobre Regressões em Visual Basic Licenciatura em Gestão e Engenharia Industrial

Leia mais

Módulo 1a: Introdução ao Visual Basic for Applications (VBA)

Módulo 1a: Introdução ao Visual Basic for Applications (VBA) Módulo 1a: Introdução ao Visual Basic for Applications (VBA) - Elementos básicos - O Excel (revisões ou não?) Folha de cálculo baseada em células Usa um sistema de coordenadas (letra, número) Recalcula

Leia mais

Integração por Web Services

Integração por Web Services Integração por Web Services Versão 1.1 Maio 2010 Índice Índice... 2 Introdução... 3 Arquitectura PRIMAVERA... 4 User Interface... 4 Motor... 4 Interface para o Administrador... 5 Motores PRIMAVERA em Web

Leia mais

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.

Leia mais

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA)

Objectivos. Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Objectivos Introdução à programação Macros em Microsoft Excel Introdução ao Visual Basic para Aplicações (VBA) Vantagens da programação Eficiência em operações repetitivas Melhor clarividência na decomposição

Leia mais

@2007 João Manuel R. S. Tavares FEUP/DEMEGI/SDI. CFAC Concepção e Fabrico Assistidos por Computador

@2007 João Manuel R. S. Tavares FEUP/DEMEGI/SDI. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares CFAC Concepção e Fabrico Assistidos por Computador Bibliografia Material disponível no AfraLisp.net em http://www.afralisp.net Programação em AutoCAD, Curso Completo Fernando

Leia mais

Variáveis Tipos de Dados

Variáveis Tipos de Dados Variáveis Tipos de Dados APROG () Aula 2 1 Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 2 Variáveis Uma variável é uma localização de

Leia mais

Grupo: Noé Pierre Gros Nuno Daniel Tavares de Fontes

Grupo: Noé Pierre Gros Nuno Daniel Tavares de Fontes Visual Basic 4º ano - 2º Semestre - 2003/2004 Faculdade de Engenharia da Universidade do Porto Grupo: Noé Pierre Gros Nuno Daniel Tavares de Fontes objectivos Representação gráfica 3D, utilizando como

Leia mais

Variáveis Tipos de Dados. APROG (Civil) Aula 2

Variáveis Tipos de Dados. APROG (Civil) Aula 2 Variáveis Tipos de Dados APROG () Aula 2 Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 Variáveis Uma variável é uma localização de memória

Leia mais

Estruturas de Decisão. APROG (Civil) Aula 6

Estruturas de Decisão. APROG (Civil) Aula 6 Estruturas de Decisão APROG () Aula 6 Conteúdo Estrutura If...Then Estrutura If...Then...Else 2 Conceito As Estruturas de Controlo servem para modificar o fluxo das instruções seguidas por um determinado

Leia mais

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.

Um algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos. Programação Um programa é uma sequência de instruções de uma linguagem de programação (VB no nosso caso). Cada instrução representa uma qualquer acção que nós pretendemos ver executada. Programar consiste

Leia mais

Programação de Computadores usando VBA

Programação de Computadores usando VBA Aula 1 Programação de Computadores usando VBA Introdução - 1 Objectivo: aprendizagem das técnicas básicas de programação de computadores Ambiente: Excel e Editor de VBA Requesitos: Conhecimentos de Excel

Leia mais

Aplicações de Programação CNC/ISO com Microcomputador. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Aplicações de Programação CNC/ISO com Microcomputador. João Manuel R. S. Tavares Joaquim Oliveira Fonseca Aplicações de Programação CNC/ISO com Microcomputador João Manuel R. S. Tavares Joaquim Oliveira Fonseca Introdução No contexto da programação CNC é benéfica a possibilidade de trabalhar com programas

Leia mais

Docentes. JOF/João Manuel R. S. Tavares 1. Eng. Joaquim Fonseca. Prof. José Marafona. MIEM Mestrado Integrado em Engenharia Mecânica

Docentes. JOF/João Manuel R. S. Tavares 1. Eng. Joaquim Fonseca. Prof. José Marafona. MIEM Mestrado Integrado em Engenharia Mecânica CFAC Concepção e Fabrico Assistidos por Computador MIEM Mestrado Integrado em Engenharia Mecânica 1º Semestre 2008/2009 http://paginas.fe.up.pt/~tavares/ensino/cfac/cfac.html Docentes Eng. Joaquim Fonseca

Leia mais

Software para Engenharia e Construção. Manual do Utilizador. Construtivos. Biblioteca de Pormenores. Construtivos. Manual do Utilizador

Software para Engenharia e Construção. Manual do Utilizador. Construtivos. Biblioteca de Pormenores. Construtivos. Manual do Utilizador Biblioteca de Pormenores Construtivos Biblioteca de Pormenores Construtivos Software para Engenharia e Construção 2 IMPORTANTE: ESTE TEXTO REQUER A SUA ATENÇÃO E A SUA LEITURA A informação contida neste

Leia mais

Fundamentos Programação

Fundamentos Programação Fundamentos Programação A programação de computadores não é difícil. Realmente só requer algo como: Aprender alguns conceitos gerais Ser cuidadoso, organizado e lógico Praticar até aprender a dominar a

Leia mais

Nero AG Nero DiscCopy

Nero AG Nero DiscCopy Manual do Nero DiscCopy Nero AG Nero DiscCopy Informações sobre direitos de autor e marcas O manual do Nero DiscCopy e a totalidade do respectivo conteúdo estão protegidos por copyright e são propriedade

Leia mais

Manual do Nero DriveSpeed

Manual do Nero DriveSpeed Manual do Nero DriveSpeed Nero AG Informações sobre direitos de autor e marcas O manual do Nero DriveSpeed e a totalidade do respectivo conteúdo estão protegidos por copyright e são propriedade da Nero

Leia mais

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO 001-00 IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP MARIA JOÃO TAVARES DE CASTRO SANTOS COSTA MARIA TERESA VITERBO

Leia mais

Manual Nero InfoTool. Nero AG

Manual Nero InfoTool. Nero AG Manual Nero InfoTool Nero AG Informações sobre direitos de autor e marcas O manual do Nero InfoTool e todo o respectivo conteúdo estão protegidos por direitos de autor e são propriedade da Nero AG. Todos

Leia mais

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO DEPARTAMENTO DE ENGENHARIA MECÂNICA E GESTÃO INDUSTRIAL C.F.A.C. 2002/03

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO DEPARTAMENTO DE ENGENHARIA MECÂNICA E GESTÃO INDUSTRIAL C.F.A.C. 2002/03 FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO DEPARTAMENTO DE ENGENHARIA MECÂNICA E GESTÃO INDUSTRIAL C.F.A.C. 2002/03 DESENHO DE UMA BOMBA DE PALHETAS (2D e 3D) AUTOCAD 2002 AUTODESK MECHANICAL DESKTOP

Leia mais

APROG Civil. Estruturas de Decisão. Angelo Martins Dep. Eng. Informática - ISEP. Aula 2. ISEP DEI, Angelo Martins 2006 ISEP-DEI, António Silva, 2007

APROG Civil. Estruturas de Decisão. Angelo Martins Dep. Eng. Informática - ISEP. Aula 2. ISEP DEI, Angelo Martins 2006 ISEP-DEI, António Silva, 2007 Angelo Martins Dep. Eng. Informática - ISEP Aula 2 1 Conteúdo Estruturas de decisão - conceito e aplicação Estrutura If... Then Apresentação das diversas variantes desta estrutura. Expressões lógicas complexas.

Leia mais

RELATÓRIO CFAC Ano lectivo

RELATÓRIO CFAC Ano lectivo RELATÓRIO CFAC Ano lectivo 2002-2003 Trabalho em Lanterna ø160 para motor eléctrico forma 71 Trabalho realizado por: Mafalda Sofia Ferreira de Oliveira Jorge André Neves Oliveira Turma: 3M2 Índice Objectivo.3

Leia mais

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11ºANO Módulo 8 - Int. ao Visual Basic 1. O Visual Basic É uma linguagem de programação que utiliza objectos programáveis como interface com o utilizador. Foi criada

Leia mais

1 - Ambiente de desenvolvimento

1 - Ambiente de desenvolvimento Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).

Leia mais

Modelagem em Engenharia C & A Aula 1- Introdução e informações

Modelagem em Engenharia C & A Aula 1- Introdução e informações 0/08/2016 Modelagem em Engenharia C & A Aula 1- Introdução e informações Objetivos deste curso Introdução de técnicas de modelagem corrente em engenharia civil & ambiental utilizando planilhas eletrônicas

Leia mais

Este Exame é individual, sem consulta e com a duração de 90 minutos. Responda às questões no próprio teste, no espaço próprio.

Este Exame é individual, sem consulta e com a duração de 90 minutos. Responda às questões no próprio teste, no espaço próprio. ISEP Exame (Resol.) APROG 7-2-2009 Civil Este Exame é individual, sem consulta e com a duração de 90 minutos. Responda às questões no próprio teste, no espaço próprio. Nome: N o : 1 Programação em Visual

Leia mais

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD Introdução ao AutoCAD João Manuel R. S. Tavares Bibliografia AutoCAD 2002 Depressa & Bem Pedro Leão Neto, José Manuel Garcia FCA AutoCAD 2004 Guia de Consulta Rápida João Santos FCA Mechanical Desktop

Leia mais

MIEM Mestrado Integrado em Engenharia Mecânica

MIEM Mestrado Integrado em Engenharia Mecânica CFAC Concepção e Fabrico Assistidos por Computador MIEM Mestrado Integrado em Engenharia Mecânica 1º Semestre 2016/2017 www.fe.up.pt/~tavares/ensino/cfac/cfac.html Docentes Prof. João Manuel R. S. Tavares

Leia mais

Páginas seleccionadas

Páginas seleccionadas Páginas seleccionadas [ ] Após o estudo aprofundado das facilidades da folha de cálculo Excel, impõe-se que nos debrucemos sobre a linguagem de programação Visual Basic for Applications, embutida naquela

Leia mais

ConvertProfissões 2011

ConvertProfissões 2011 ConvertProfissões 2011 Alteração face à nova Classificação Portuguesa das Profissões Portugal Versão 1.0 Índice Índice... 2 Introdução... 3 Motivação... 3 Requisitos... 4 Instalação... 4 Licenciamento...

Leia mais

C.F.A.C. Concepção e Fabrico Assistido por Computador

C.F.A.C. Concepção e Fabrico Assistido por Computador Faculdade de Engenharia da Universidade do Porto DEMEGI-SDI C.F.A.C. Concepção e Fabrico Assistido por Computador Trabalho elaborado por: - Alcides Correia Martins de Sá - Rui Manuel Soares do Rêgo Ano:

Leia mais

FORCE. João Manuel R. S. Tavares

FORCE. João Manuel R. S. Tavares FORCE Editor e Compilador de FORTRAN: Apresentação João Manuel R. S. Tavares Apresentação O FORCE é um sistema de desenvolvimento de programas em FORTRAN, de domínio público, que inclui um editor e ferramentas

Leia mais

VBA USANDO TABELA DO WORD COMO BANDO DE DADOS

VBA USANDO TABELA DO WORD COMO BANDO DE DADOS VBA USANDO TABELA DO WORD COMO BANDO DE DADOS PREENCHENDO UMA TABELA ATRAVÉS DE UM USERFORM Nível: Avançado w w w. t u t o r i a i s w o r d. c o m ÍNDICE O QUE É VBA?... 3 OBJETIVO DESTE EBOOK.... 4 AUTOR...

Leia mais

Instalação de mapas com Ferramenta de instalação de mapas TomTom WORK

Instalação de mapas com Ferramenta de instalação de mapas TomTom WORK Instalação de mapas com Ferramenta de instalação de mapas TomTom WORK A Ferramenta da instalação de mapas TomTom WORK (Ferramenta de mapas) permite-lhe actualizar os seus mapas, instalar novos mapas ou

Leia mais

MANUAL DE UTILIZADOR

MANUAL DE UTILIZADOR MANUAL DE UTILIZADOR Utilitário de Actualização das Tabelas de IRS Histórico de versões Versão Referência Autor Dt. Emissão Comentários 01 Criação Hugo Gois 2018-01-08 2018-01-08 1/13 Sumário 1. INTRODUÇÃO

Leia mais

Macros e Programação VBA

Macros e Programação VBA SI Macros e Programação VBA 1/ 15 Macros e Programação VBA Sistemas de Informação MIEM / MIEIG SI Macros e Programação VBA 2/ 15 O que são macros? São sequências de instruções simples cujo objectivo é

Leia mais

Trabalho final Formulário com VBA

Trabalho final Formulário com VBA Trabalho final Formulário com VBA Excel E i s n t t e c n o l o g i a 12-07- 2 0 1 4 Conteúdo Introdução... 2 O campo de introdução idade (txtidade)... 5 O campo de introdução sexo... 6 O campo de introdução

Leia mais

1.2 Sistema Operativo em Ambiente Gráfico

1.2 Sistema Operativo em Ambiente Gráfico Marco Soares 1 1.2 Sistema Operativo em Ambiente Gráfico O Sistema operativo é o software que faz arrancar o computador e que serve de interface entre o utilizador e o computador Tendo um papel tão importante,

Leia mais

Código do formulário frmprincipal

Código do formulário frmprincipal Tarefa Orientada 3 Código do formulário frmprincipal Objectivos: Desenvolver código para responder a eventos Mostrar e Fechar formulários Nesta tarefa iremos analisar o código desenvolvido para o formulário

Leia mais

Licenciatura em Engenharia Mecânica. Concepção e Fabrico Assistidos por Computador ( C. F. A. C. ) 2001 / Secção de Desenho Industrial

Licenciatura em Engenharia Mecânica. Concepção e Fabrico Assistidos por Computador ( C. F. A. C. ) 2001 / Secção de Desenho Industrial Licenciatura em Engenharia Mecânica Concepção e Fabrico Assistidos por Computador ( C. F. A. C. ) 2001 / 2002 Secção de Desenho Industrial 3º Ano 1º Semestre Trabalho Prático Área de Trabalho: CNC Realizado

Leia mais

1) Mostrando uma mensagem. 10 exemplos de macros essenciais no Excel. Este conteúdo faz parte da série: Excel VBA Ver 6 posts dessa série

1) Mostrando uma mensagem. 10 exemplos de macros essenciais no Excel. Este conteúdo faz parte da série: Excel VBA Ver 6 posts dessa série Este conteúdo faz parte da série: Excel VBA Ver 6 posts dessa série Para aproveitar toda a potencia que o Excel possui, é indispensável a utilização de macros. Macro poder ser definida como uma serie de

Leia mais

Para instalar o Visual Basic 2010 Express.

Para instalar o Visual Basic 2010 Express. Para instalar o Visual Basic 2010 Express http://www.microsoft.com/express/downloads/ O Visual Basic (VB) é uma linguagem de Programação, pelo que inclui: 1. Estruturas de dados 2. Variáveis 3. Gramática

Leia mais

Excel 2016 com VBA. Aula 5. Prof. Guilherme Nonino Rosa

Excel 2016 com VBA. Aula 5. Prof. Guilherme Nonino Rosa Excel 2016 com VBA Aula 5 Prof. Guilherme Nonino Rosa Apresentação: Prof. Guilherme Nonino Rosa - Graduado em Ciências da Computação pela Unifran Universidade de Franca no ano de 2000. - Pós-Graduado em

Leia mais

Sincronização Plano de IVA 7.00

Sincronização Plano de IVA 7.00 Sincronização Plano de IVA 7.00 Portugal Versão 1.0 Julho 2008 Índice Índice... 2 Introdução... 3 Motivação... 4 Pré-Requisitos... 4 Instalação... 4 Passos para a actualização... 5 Passo 1... 5 Passo 2...

Leia mais

Visual Basic. III Procedimentos. CFAC Concepção e Fabrico Assistidos por Computador. João Manuel R. S. Tavares

Visual Basic. III Procedimentos. CFAC Concepção e Fabrico Assistidos por Computador. João Manuel R. S. Tavares Visual Basic III Procedimentos CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros;

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE DESENVOLVIMENTO DE SOFTWARE CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1 OBJETIVOS DA AULA Módulos Módulo Predefinidos Métodos Encadeamento de Métodos Escopo Escopo de Variável Escopo de um Método

Leia mais

Licenciatura em Gestão e Engenharia Industrial CFAC

Licenciatura em Gestão e Engenharia Industrial CFAC Licenciatura em Gestão e Engenharia Industrial CFAC Trabalho realizado por: Ana Isabel Marques Joana Rita Simões Porto, 25 de Fevereiro de 2005 Índice 1. Agradecimentos------------------------------------------------------------------------3

Leia mais

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido Página 1 de 8 Excel > Macros Executar uma macro Mostrar tudo Há várias maneiras de executar uma macro no Microsoft Excel. Macro é uma ação ou um conjunto de ações que você pode usar para automatizar tarefas.

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Modulo 2 Gestão de Base

Modulo 2 Gestão de Base Didáxis - Escola Cooperativa de Vale S. Cosme Modulo 2 Gestão de Base de Dados Aula Nº 55 / 56 09-01-2008 Sumário: Programa de gestão de bases de dados. Introdução ao estudo das tabelas. 2 Gestão de Base

Leia mais

CFAC: Visual Basic: III - Procedimentos

CFAC: Visual Basic: III - Procedimentos Visual Basic III Procedimentos CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros;

Leia mais

Introdução... 1 I FUNCIONALIDADES BÁSICAS... 3

Introdução... 1 I FUNCIONALIDADES BÁSICAS... 3 Índice Introdução... 1 I FUNCIONALIDADES BÁSICAS... 3 1. Ambiente de Trabalho... 5 1.1 Botão Office... 6 1.1.1 Opções do Excel... 8 1.2 Friso... 9 1.3 Barra de Acesso Rápido... 12 1.4 Operações com Livros

Leia mais

Para iniciarmos o trabalho se faz necessária a implantação da GUIA DESENVOLVEDOR. Botão Direito do Mouse; Personalizar Faixa de Opções

Para iniciarmos o trabalho se faz necessária a implantação da GUIA DESENVOLVEDOR. Botão Direito do Mouse; Personalizar Faixa de Opções Para iniciarmos o trabalho se faz necessária a implantação da GUIA DESENVOLVEDOR Botão Direito do Mouse; Personalizar Faixa de Opções Marque a opção Desenvolvedor e clique no botão OK Opção 1: Vá até a

Leia mais

Computer Setup Manual do utilizador

Computer Setup Manual do utilizador Computer Setup Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca comercial registada nos EUA da Microsoft Corporation. As informações aqui contidas estão

Leia mais

Actualizar o Firmware da Câmara Digital SLR. Windows

Actualizar o Firmware da Câmara Digital SLR. Windows Actualizar o Firmware da Câmara Digital SLR Windows Obrigado por ter escolhido um produto Nikon. Este guia descreve como actualizar este firmware. Se não tiver a certeza de que pode executar correctamente

Leia mais

Microsoft Excel Macro V. Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49

Microsoft Excel Macro V. Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49 Microsoft Excel Macro V Índice 16-) Formulários... 42 17-) Gerando código para o Formulário... 49 16-) Formulários A forma mais comum de comunicação de um sistema com o usuário é por meio de caixas de

Leia mais

Exercícios Práticos de Modelação 3D em SolidWORKS

Exercícios Práticos de Modelação 3D em SolidWORKS SDI - Secção de Desenho Industrial Concepção e Fabrico Assistidos por Computador 3º Ano da Licenciatura em Engenharia Mecânica 4º Ano da Licenciatura em Gestão e Engenharia Industrial Exercícios Práticos

Leia mais

ÁBACO MÓDULOS DE CÁLCULO

ÁBACO MÓDULOS DE CÁLCULO 1 / 9 1. CARACTERÍSTICAS PRINCIPAIS DO ÁBACO. 2. ECRÃ PRINCIPAL 3. INSTRUÇÕES DE PREENCHIMENTO DE DADOS. (TECLADO E RATO) 4. LARGURA DE COLUNAS DAS PASTAS, DADO E VALOR 5. MENU SUPERIOR 6. IMAGENS DE INFORMAÇÃO.

Leia mais

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL OBJECTIVOS Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL O objecto DOCMD Este objecto permite o acesso a todas as operações sobre todos os objectos

Leia mais

Actualizações de software Manual do utilizador

Actualizações de software Manual do utilizador Actualizações de software Manual do utilizador Copyright 2008, 2009 Hewlett-Packard Development Company, L.P. Windows é uma marca comercial registada da Microsoft Corporation nos E.U.A. As informações

Leia mais

Actualizar o Firmware da Câmara Digital SLR. Windows

Actualizar o Firmware da Câmara Digital SLR. Windows Actualizar o Firmware da Câmara Digital SLR Windows Obrigado por ter escolhido um produto Nikon. Este guia descreve como actualizar este firmware. Se não tiver a certeza de que pode executar correctamente

Leia mais

CONCEÇÃO E FABRICO ASSISTIDO POR COMPUTADOR

CONCEÇÃO E FABRICO ASSISTIDO POR COMPUTADOR CONCEÇÃO E FABRICO ASSISTIDO POR COMPUTADOR MiEIG Breve descrição da Unidade Curricular João Manuel R. S. Tavares FEUP/DEMec 2015/2016 Página web da Unidade Curricular em: www.fe.up.pt/~tavares/ensino/cfac-g/cfac.html

Leia mais

Laboratórios de Comunicações III MiECom (2 o ano)

Laboratórios de Comunicações III MiECom (2 o ano) Laboratórios de Comunicações III MiECom (2 o ano) Projecto integrado Ano Lectivo de 08/09 Versão: V20080917 1 Objectivos Com este projecto integrado pretende-se sedimentar os conhecimentos introduzidos

Leia mais

Programação 2017/2018 2º Semestre

Programação 2017/2018 2º Semestre Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.

Leia mais

2. LAYERS UTILIZADAS E APLICAÇÕES

2. LAYERS UTILIZADAS E APLICAÇÕES 1. OBJECTIVO O presente trabalho tem como objectivo a execução em AutoCAD do desenho de conjunto de um Molde de Injecção para Recipiente de Gargalo Roscado em polipropileno e a respectiva elaboração em

Leia mais

Actualizações de software Manual do utilizador

Actualizações de software Manual do utilizador Actualizações de software Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca comercial registada da Microsoft Corporation nos EUA. As informações aqui contidas

Leia mais

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo

Leia mais

Manual do InCD Reader

Manual do InCD Reader Manual do InCD Reader Nero AG Informações sobre direitos de autor e marcas comerciais Este manual e todo o respectivo conteúdo estão protegidos por direitos de autor e são propriedade da Nero AG. Todos

Leia mais

Principais correcções efectuadas

Principais correcções efectuadas GIAE Versão 2.1.0 15 Março de 2011 Com o objectivo de unificar a versão em todos os módulos do GIAE, incluindo o GestorGIAE, todos os módulos são actualizados para a versão 2.1.0. Muito Importante: Antes

Leia mais

Objectos Gráficos 1. APROG (Civil) Aula 4

Objectos Gráficos 1. APROG (Civil) Aula 4 Objectos Gráficos 1 APROG () Aula 4 Objectos Gráficos Estes objectos são utilizados para construir interfaces gráficas permitindo uma interacção directa do macro com o utilizador. 2 MsgBox Finalidade:

Leia mais

Manual do KDiskFree. Jonathan Singer Michael Kropfberger Tradução: José Pires

Manual do KDiskFree. Jonathan Singer Michael Kropfberger Tradução: José Pires Jonathan Singer Michael Kropfberger Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Utilização do KDiskFree 6 2.1 Iniciar o KDiskFree..................................... 6 2.2 A Janela Principal......................................

Leia mais

Projecto de Investigação 2001/2002. Equipment Cost v1.0. Manual de Apoio

Projecto de Investigação 2001/2002. Equipment Cost v1.0. Manual de Apoio Departamento de Engenharia Química Projecto de Investigação 2001/2002 Equipment Cost v1.0 Manual de Apoio Nuno Lourenço Paulo da Silva Porto, Maio de 2002 Índice Introdução 2 Funcionamento do programa

Leia mais

Estruturas de Decisão Embutidas. APROG (Civil) Aula 7

Estruturas de Decisão Embutidas. APROG (Civil) Aula 7 Estruturas de Decisão Embutidas APROG () Aula 7 Encadeadas Exemplo de Problema: Pretende-se elaborar um programa que determine qual o maior de três números contidos nas células de C3 a E3. Solução Há duas

Leia mais

Engenharia de Software

Engenharia de Software Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um conjunto

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Vamos considerar os seguintes elementos e estruturas fundamentais que são habitualmente usados em programação: Tipos de Dados Operadores Atribuições Entrada e Saída de Dados Estruturas de Controlo Procedimentos

Leia mais

Introdução à Computação. Programas Básicos. ISEP DEI, Angelo Martins 2006 Programas Básicos - 1

Introdução à Computação. Programas Básicos. ISEP DEI, Angelo Martins 2006 Programas Básicos - 1 Introdução à Computação Programas Básicos ISEP DEI, Angelo Martins 2006 Programas Básicos - 1 Conteúdo Exemplo de um programa Apresentação sumária da construção de um programa em VB. Objectos e o mecanismo

Leia mais

Informática II Cap. 4-4

Informática II Cap. 4-4 Cap. 4-4 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um

Leia mais

Utilitário de Configuração

Utilitário de Configuração Utilitário de Configuração Manual do utilizador Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca comercial registada da Microsoft Corporation nos EUA. As informações aqui contidas

Leia mais

CONCEPÇÃO E FABRICO ASSISTIDO POR COMPUTADOR

CONCEPÇÃO E FABRICO ASSISTIDO POR COMPUTADOR CONCEPÇÃO E FABRICO ASSISTIDO POR COMPUTADOR Modelação em SolidWorks de um molde de produção Trabalho realizado por: André Filipe Gomes da Costa Soares Nº 000504034 Carlos Jorge Faia Pereira Nº 000504120

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPUTAÇÃO GRÁFICA E SISTEMAS DE CAD Ano Lectivo 2013/2014

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular COMPUTAÇÃO GRÁFICA E SISTEMAS DE CAD Ano Lectivo 2013/2014 Programa da Unidade Curricular COMPUTAÇÃO GRÁFICA E SISTEMAS DE CAD Ano Lectivo 2013/2014 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Informática 3. Ciclo de Estudos 1º 4.

Leia mais

Visual Basic. VII Ficheiros Sequenciais. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares

Visual Basic. VII Ficheiros Sequenciais. CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Visual Basic VII Ficheiros Sequenciais CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Ficheiros Sequenciais; 2) Adicionar itens a Ficheiros Sequenciais; 3)

Leia mais

Tutoriais de Extensibilidade

Tutoriais de Extensibilidade PRIMAVERA v7.50 Tutoriais de Extensibilidade Manual de Extensibilidade do ERP PRIMAVERA Versão 1.0 Março de 2009 Introdução A Extensibilidade dos módulos é um conceito central no ERP PRIMAVERA na medida

Leia mais

Visual Basic for Applications

Visual Basic for Applications Visual Basic for Applications Introdução É uma linguagem de programação baseada na conhecida linguagem BASIC Está concebida para funcionar em conjunto com diferentes aplicações de forma a potenciar a robustez

Leia mais

CFAC: Visual Basic: VII - Ficheiros Sequenciais. VII Ficheiros Sequenciais

CFAC: Visual Basic: VII - Ficheiros Sequenciais. VII Ficheiros Sequenciais Visual Basic VII Ficheiros Sequenciais CFAC Concepção e Fabrico Assistidos por Computador João Manuel R. S. Tavares Sumário 1) Criar Ficheiros Sequenciais; 2) Adicionar itens a Ficheiros Sequenciais; 3)

Leia mais

DOSSIER DA DISCIPLINA

DOSSIER DA DISCIPLINA DOSSIER DA DISCIPLINA PI - PROGRAMAÇÃO IMPERATIVA Licenciatura em Matemática e Ciências da Computação (1º ano) Docente responsável: José Carlos Ramalho Ano lectivo de 2004/2005-2º semestre INDICE Apresentação...

Leia mais

CFAC - MiEIG: Apresentação 2008/

CFAC - MiEIG: Apresentação 2008/ CFAC Concepção e Fabrico Assistidos por Computador MiEIG Mestrado integrado em Engenharia Industrial e Gestão 2008/2009-2º Semestre http://paginas.fe.up.pt/~tavares/ensino/cfac-g/cfac.html Docentes url:

Leia mais

Ficha de Unidade Curricular 2009/2010

Ficha de Unidade Curricular 2009/2010 Ficha de Unidade Curricular 2009/2010 Unidade Curricular Designação: Técnicas de Representação Digital I Área Científica: Desenho (DES) Ciclo de Estudos: Licenciatura Carácter: Obrigatória Semestre: 3º

Leia mais

Actualizar o Firmware da Câmara Digital SLR. Macintosh

Actualizar o Firmware da Câmara Digital SLR. Macintosh Actualizar o Firmware da Câmara Digital SLR Macintosh Obrigado por ter escolhido um produto Nikon. Este guia descreve como actualizar este firmware. Se não tiver a certeza de que pode executar correctamente

Leia mais

Actualizar o Firmware da Câmara Digital SLR

Actualizar o Firmware da Câmara Digital SLR Actualizar o Firmware da Câmara Digital SLR Mac Obrigado por ter escolhido um produto Nikon. Este guia descreve como actualizar este firmware. Se não tiver a certeza de que pode executar correctamente

Leia mais

elaboração da aplicação, estamos dependentes do software usado pelo Helpdesk. Por exemplo, como usam activamente o sistema operativo Linux,

elaboração da aplicação, estamos dependentes do software usado pelo Helpdesk. Por exemplo, como usam activamente o sistema operativo Linux, Este documento contém os requisitos do projecto #FF0000. Esta secção descreve de forma resumida em que consiste o projecto e o que pode ser encontrado neste documento. 1.1 Objectivo Este documento fornece

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest Backoffice... 3 1 4. Confirmar desenho de mesas...... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5.

Leia mais