Vba Em Autocad

Preview:

Citation preview

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