Post on 25-Oct-2014
João Manuel R. S. Tavares
CFAC – Concepção e Fabrico Assistidos porCFAC Concepção e Fabrico Assistidos por Computador
BibliografiaBibliografia
Material disponível no AfraLisp net em Material disponível no AfraLisp.net em http://www.afralisp.netProgramação em AutoCAD, Curso CompletoFernando Luís Ferreira João SantosFernando Luís Ferreira, João SantosFCASistema de ajuda do AutoCAD
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 2
IntroduçãoIntrodução
A programação por objectos VBA –Visual Basic A programação por objectos VBA Visual Basic for Applications utiliza fundamentos da programação através do VB Visual Basic mas programação através do VB –Visual Basic mas em que o ambiente de desenvolvimento está incluído no próprio AutoCADMais rápido do que as aplicações em AutoLISPMais rápido do que as aplicações em AutoLISPComunicação facilitada com outras aplicações Windows (Word, Excel, Access, etc.)Interface de desenvolvimento muito intuita e Interface de desenvolvimento muito intuita e com grande capacidade de ajuda
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 3
IntroduçãoIntrodução
As aplicações desenvolvidas são geridas por p ç g peventos (devidos a acções do utilizador e do sistema)sistema)A criação de caixas de diálogo para a execução d li õ é it i ldas aplicações é muito simplesOs projectos VBA podem ficar embebidos nos p j pdesenhos ou serem independentes (globais)
Projectos embebidos são projectos que ficam Projectos embebidos são projectos que ficam gravados com o desenhoProjectos globais são projectos que ficam gravados Projectos globais são projectos que ficam gravados em ficheiros separados
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 4
IntroduçãoIntrodução
Cada objecto do VBA é definido por uma classeCada objecto do VBA é definido por uma classeCada objecto tem propriedades e métodos
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 5
Carregamento e Execução de Carregamento e Execução de proj.proj.VBAVBA
O carregamento de projectos VBA globais é O carregamento de projectos VBA globais é feito através dos comandos VBALOAD, APPLOAD ouVBAMAN (disponiveis em Tools APPLOAD ouVBAMAN (disponiveis em Tools, subopções Macro e Load Application)Comando VBALOAD:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 6
Carregamento e Execução de Carregamento e Execução de proj.proj.VBAVBA
Comando APPLOAD:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 7
Carregamento e Execução de Carregamento e Execução de proj.proj.VBAVBA
Comando VBARUN:Comando VBARUN:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 8
Editor Editor VBAVBA––Comando Comando VBAIDEVBAIDE
Barra de f
Barra de menus
Área de gestão de projectos
ferramentas
Área das propriedades do objecto activoj
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 9
Editor Editor VBAVBA––Comando Comando VBAIDEVBAIDE
Projecto aberto:Projecto aberto:
Janela de código
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 10
Editor Editor VBAVBA––Comando Comando VBAIDEVBAIDEExecutar um projecto aberto:
(executar)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 11
AutoCADAutoCAD
No AutoCADNo AutoCADsão consideradosconsiderados:
ObjectosClassesColecçõesColecções
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 12
AutoCADAutoCAD
Objecto Document é o desenho activo, a Objecto Document é o desenho activo, a referência para um desenho activo é feita com ThisDrawingThisDrawing
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 13
Constantes Especificas Constantes Especificas VBAVBA / / AutoCADAutoCAD
Para verificar, seleccionar Object Browser do Para verificar, seleccionar Object Browser do Editor VBA
Do AutoCADDo AutoCAD
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 14
Constantes Especificas Constantes Especificas VBAVBA / / AutoCADAutoCAD
Do VBA
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 15
FormsForms
Mostrar forms: UserFormName.ShowfCarregar forms em memória (por questões de rapidez):LoadUserFormNameEsconder forms: UserFormName.HideDescarregar forms da memória:Descarregar forms da memória:UnloadUserFormName ou Unload MeEventosEventos:
UserFormName_Click()U F N I iti li ()UserFormName_Initialize()UserFormName_QueryClose(Cancel As Integer, CloseMode As Integer)As Integer)UserFormName_Resize()UserFormName Terminate()UserFormName_Terminate()
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 16
Exemplo IExemplo IDesenhar 10 círculos alinhados:
ThisDrawing ModelSpace AddCircle centerPoint 5
Output:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 17
ThisDrawing.ModelSpace.AddCircle centerPoint, 5
Exemplo Exemplo IIIIDesenhar 5 círculos concêntricos:
Output:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 18
Exemplo Exemplo IIIIII
Perguntar nome e idade e apresentar mensagem:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 19
Output:
Exemplo Exemplo IVIVDesenhar um trapézio dados comprimentos, altura, ângulo e um ponto:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 20
Exemplo Exemplo IVIV ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 21
Exemplo Exemplo IVIV (cont.)(cont.)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 22
Exemplo Exemplo IV IV (cont.)(cont.)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 23
Exemplo IExemplo IV V (cont.)(cont.)
Funcionamento:
Output:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 24
Exemplo VExemplo V
Alterar a escala dos objectos seleccionados relativamente ao seu cento geométrico:Alterar a escala dos objectos seleccionados relativamente ao seu cento geométrico:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 25
Exemplo VIExemplo VI
Destacar objectos numa determinada Layer:Destacar objectos numa determinada Layer:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 26
Exemplo VI Exemplo VI ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 27
Exemplo Exemplo VIIVII
Identificar layers existentes num desenho e alterar a layer de objectos seleccionados:Identificar layers existentes num desenho e alterar a layer de objectos seleccionados:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 28
Exemplo Exemplo VIIVII ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 29
Exemplo Exemplo VIIVII ((contcont.).) Em funcionamento:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 30
Exemplo Exemplo VIIIVIII
Desenhar caixa arredondada dados um ponto central, largura e comprimento:Desenhar caixa arredondada dados um ponto central, largura e comprimento:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 31
Exemplo Exemplo VIIIVIII ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 32
Exemplo Exemplo VIIIVIII ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 33
Exemplo Exemplo VIIIVIII ((contcont.).)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 34
Exemplo Exemplo VIIIVIII ((contcont.).) Em funcionamento:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 35
Exemplo Exemplo IXIXOutput:
Desenhar figura dados um ponto central, largura e altura:Desenhar figura dados um ponto central, largura e altura:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 36
Exemplo Exemplo IXIX (cont.)(cont.)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 37
Exemplo Exemplo IXIX (cont.)(cont.)
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 38
Exemplo Exemplo IXIX (cont.)(cont.)Output:
@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 39