39
João Manuel R. S. Tavares CFAC Concepção e Fabrico Assistidos por CFAC Concepção e Fabrico Assistidos por Computador

Vba Em Autocad

Embed Size (px)

Citation preview

Page 1: Vba Em Autocad

João Manuel R. S. Tavares

CFAC – Concepção e Fabrico Assistidos porCFAC Concepção e Fabrico Assistidos por Computador

Page 2: Vba Em Autocad

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

Page 3: Vba Em Autocad

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

Page 4: Vba Em Autocad

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

Page 5: Vba Em Autocad

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

Page 6: Vba Em Autocad

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

Page 7: Vba Em Autocad

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

Page 8: Vba Em Autocad

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

Page 9: Vba Em Autocad

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

Page 10: Vba Em Autocad

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

Page 11: Vba Em Autocad

Editor  Editor  VBAVBA––Comando  Comando  VBAIDEVBAIDEExecutar um projecto aberto:

(executar)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 11

Page 12: Vba Em Autocad

AutoCADAutoCAD

No AutoCADNo AutoCADsão consideradosconsiderados:

ObjectosClassesColecçõesColecções

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 12

Page 13: Vba Em Autocad

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

Page 14: Vba Em Autocad

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

Page 15: Vba Em Autocad

Constantes  Especificas  Constantes  Especificas  VBAVBA / / AutoCADAutoCAD

Do VBA

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 15

Page 16: Vba Em Autocad

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

Page 17: Vba Em Autocad

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

Page 18: Vba Em Autocad

Exemplo Exemplo IIIIDesenhar 5 círculos concêntricos:

Output:

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 18

Page 19: Vba Em Autocad

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:

Page 20: Vba Em Autocad

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

Page 21: Vba Em Autocad

Exemplo Exemplo IVIV ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 21

Page 22: Vba Em Autocad

Exemplo Exemplo IVIV (cont.)(cont.)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 22

Page 23: Vba Em Autocad

Exemplo Exemplo IV IV (cont.)(cont.)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 23

Page 24: Vba Em Autocad

Exemplo IExemplo IV V (cont.)(cont.)

Funcionamento:

Output:

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 24

Page 25: Vba Em Autocad

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

Page 26: Vba Em Autocad

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

Page 27: Vba Em Autocad

Exemplo VI Exemplo VI ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 27

Page 28: Vba Em Autocad

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

Page 29: Vba Em Autocad

Exemplo Exemplo VIIVII ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 29

Page 30: Vba Em Autocad

Exemplo Exemplo VIIVII ((contcont.).) Em funcionamento:

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 30

Page 31: Vba Em Autocad

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

Page 32: Vba Em Autocad

Exemplo Exemplo VIIIVIII ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 32

Page 33: Vba Em Autocad

Exemplo Exemplo VIIIVIII ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 33

Page 34: Vba Em Autocad

Exemplo Exemplo VIIIVIII ((contcont.).)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 34

Page 35: Vba Em Autocad

Exemplo Exemplo VIIIVIII ((contcont.).) Em funcionamento:

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 35

Page 36: Vba Em Autocad

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

Page 37: Vba Em Autocad

Exemplo Exemplo IXIX (cont.)(cont.)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 37

Page 38: Vba Em Autocad

Exemplo Exemplo IXIX (cont.)(cont.)

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 38

Page 39: Vba Em Autocad

Exemplo Exemplo IXIX (cont.)(cont.)Output:

@2007 ‐ João Manuel R. S. TavaresCFAC: Introdução ao VBA em AutoCAD 39