Uma das grandes vantagens do AutoCAD é a sua flexibilidade e capacidade de adaptação a qualquer área técnica. O desenvolvimento de aplicações específicas em AutoCAD não exige que se seja especialista em informática, apenas que possua razoáveis conhecimentos como utilizador do programa.
Através de uma linguagem simples e acessível e recheado de múltiplos exemplos de aplicação, este livro está preparado de modo a que um normal utilizador de AutoCAD, a partir da versão 2000, evolua e possa desenvolver aplicações próprias, por forma a acelerar e a automatizar os seus processos de trabalho. O livro está dividido em duas grandes áreas de optimização:
No final deste livro, o
leitor deve ser capaz de:
Criar macros de comandos, com pausas para introdução de dados - Automatizar e
acelerar processos de projecto e de desenho - Criar e adaptar caixas de diálogo
- Manipular os objectos do AutoCAD - Efectuar cálculos matemáticos, envolvendo
parâmetros geométricos dos objectos - Aceder à base de dados do desenho para
pesquisa e modificações - Trabalhar com ficheiros - Comunicar com outros
programas
Público-Alvo | Topo |
O(s) Autor(es) | Topo |
Fernando Luís Ferreira (fl@megamail.pt)
Investigador da Faculdade de Ciências e Tecnologia da UNL, em diversas áreas
da Engenharia Física, onde também é formador CAD. Profundo conhecedor do
AutoCAD desde a versão 2.6, é formador certificado pela Autodesk e foi
coordenador de ATC.
João Santos
Licenciado em Engenharia Mecânica pelo IST. Gerente de uma empresa de
formação, consultor e formador certificado. Autor, entre outros, dos livros
AutoCAD 2002 em 3D - Curso Completo, AutoCAD 2002 - Guia de Consulta Rápida,
Novidades do AutoCAD 2002 - Teoria e Prática e co-autor dos livros 3DS MAX 4 -
Curso Completo e Autodesk VIZ 4 - Curso Completo (em preparação). Página CAD
na Internet:
http://joaosantos.tripod.com/
Índice | Topo |
Introdução | 1 | |||
Parte 1 - AutoLISP e Visual LISP | ||||
1. Programação em AutoLISP | ||||
1.1. | A linguagem de programação AutoLISP | 9 | ||
1.2. | Ambiente e utilização | 10 | ||
1.3. | Noções sobre instruções de AutoLISP | 10 | ||
1.4. | Variáveis em AutoLISP e respectivas funções | 12 | ||
QUOTE | 12 | |||
SET | 13 | |||
SETQ | 14 | |||
2. Estrutura de um programa em AutoLISP | ||||
2.1. | Definição de um programa ou rotina de AutoLISP | 19 | ||
DEFUN | 20 | |||
2.2. | Utilização do programa no ambiente do AutoCAD | 21 | ||
LOAD | 22 | |||
3. Funções para utilizar na programação em AutoLISP | ||||
3.1. | A função command | 28 | ||
COMMAND | 28 | |||
3.1.1. | Cuidados a ter com o uso da função command | 32 | ||
3.1.2. | Programação em notepad ou em Visual LISP | 33 | ||
3.2. | Funções de saída de informação | 34 | ||
PROMPT | 34 | |||
TERPRI | 35 | |||
3.3. | Funções de entrada de informação | 35 | ||
GETINT | 36 | |||
GETREAL | 36 | |||
GEPOINT | 37 | |||
GETSTRING | 38 | |||
GETDIST | 38 | |||
GETANGLE | 39 | |||
GETORIENT | 40 | |||
GETCORNER | 41 | |||
GETKWORD | 41 | |||
INITGET | 42 | |||
3.4. | Funções matemáticas | 46 | ||
+ | 47 | |||
- | 47 | |||
* | 47 | |||
/ | 48 | |||
1+ | 49 | |||
1- | 49 | |||
REM | 50 | |||
ABS | 50 | |||
EXPT | 50 | |||
EXP | 52 | |||
LOG | 52 | |||
GCD | 53 | |||
MAX | 53 | |||
MIN | 53 | |||
SQRT | 53 | |||
3.4.1. | Funções trigonométricas | 57 | ||
COS | 57 | |||
SIN | 58 | |||
ATAN | 58 | |||
3.5. | Funções cíclicas e condicionais | 60 | ||
PROGN | 60 | |||
IF | 61 | |||
COND | 64 | |||
WHILE | 66 | |||
REPEAT | 67 | |||
3.6. | Funções de teste e de decisão | 70 | ||
3.6.1. | Funções de comparação | 70 | ||
= | 71 | |||
/= | 71 | |||
> | 71 | |||
< | 72 | |||
>= | 72 | |||
<= | 72 | |||
3.6.2. | Funções lógicas | 75 | ||
AND | 75 | |||
OR | 75 | |||
NOT | 76 | |||
EQUAL | 76 | |||
EQ | 76 | |||
3.6.3. | Funções lógicas bit a bit | 77 | ||
LOGAND | 78 | |||
LOGIOR | 78 | |||
LSH | 79 | |||
~ | 79 | |||
BOOLE | 79 | |||
3.7. | Funções de classificação | 80 | ||
ZEROP | 81 | |||
NULL | 81 | |||
NOT | 82 | |||
ATOM | 82 | |||
LISTP | 83 | |||
BOUNDP | 83 | |||
NUMBERP | 84 | |||
MINUSP | 84 | |||
TYPE | 84 | |||
3.8. | Funções de manipulação de listas | 85 | ||
LIST | 86 | |||
CONS | 86 | |||
APPEND | 87 | |||
ASSOC | 87 | |||
SUBST | 88 | |||
NTH | 88 | |||
LAST | 88 | |||
CAR | 89 | |||
CDR | 89 | |||
CADR | 89 | |||
CDDR | 90 | |||
MEMBER | 91 | |||
LENGTH | 91 | |||
REVERSE | 91 | |||
3.9. | Funções para manipulação de strings | 92 | ||
STRCASE | 92 | |||
STRCAT | 92 | |||
SUBSTR | 93 | |||
STRLEN | 93 | |||
WCMATCH | 93 | |||
READ | 94 | |||
3.10. | Funções de conversão de valores, variáveis ou expressões | 95 | ||
ATOF | 95 | |||
ATOI | 96 | |||
FIX | 96 | |||
FLOAT | 96 | |||
ITOA | 97 | |||
RTOS | 97 | |||
DISTOF | 98 | |||
ANGTOF | 98 | |||
ASCII | 99 | |||
CHR | 99 | |||
3.11. | Funções e rotinas auxiliares | 100 | ||
ANGLE | 100 | |||
DISTANCE | 101 | |||
INTERS | 101 | |||
OSNAP | 102 | |||
POLAR | 103 | |||
TRANS | 106 | |||
3.11.1. | Funções de manipulação de variáveis | 106 | ||
GETVAT | 107 | |||
SETVAR | 107 | |||
GETENV | 107 | |||
SETENV | 108 | |||
GETCNAME | 108 | |||
3.11.2. | Funções que alteram a funcionalidade do AutoLISP | 109 | ||
EVAL | 109 | |||
FOREACH | 109 | |||
APPLY | 110 | |||
MAPCAR | 111 | |||
LAMBDA | 111 | |||
FUNCTION | 112 | |||
3.11.3. | Ângulos em AutoLISP | 113 | ||
4. Utilização avançada do AutoLISP | ||||
4.1. | Funções para lidar com ficheiros | 117 | ||
OPEN | 117 | |||
FINDFILE | 119 | |||
GETFILED | 121 | |||
WRITE LINE | 123 | |||
WRITE CHAR | 123 | |||
READ-LINE | 124 | |||
READ-CHAR | 124 | |||
126 | ||||
PRINC | 127 | |||
PRIN1 | 128 | |||
CLOSE | 129 | |||
4.2. | Funções para lidar com entidades do AutoCAD | 133 | ||
ENTSEL | 135 | |||
ENTGET | 136 | |||
ENTNEXT | 137 | |||
ENTLAST | 137 | |||
ENTMAKE | 138 | |||
ENTMOD | 138 | |||
ENTDEL | 140 | |||
ENTUPD | 140 | |||
HANDENT | 141 | |||
TEXTBOX | 141 | |||
4.3. | Funções de selecção | 143 | ||
SSGET | 144 | |||
SSADD | 147 | |||
SSLENGTH | 148 | |||
SSMEMB | 148 | |||
SSNAME | 149 | |||
SSNAMEX | 149 | |||
SSSETFIRST | 150 | |||
SSGETFIRST | 152 | |||
SSDEL | 152 | |||
4.4. | Funções para lidar com o ecrã e os dispositivos de apontar | 153 | ||
GRDRAW | 153 | |||
GRVECS | 153 | |||
GRTEXT | 154 | |||
GRREAD | 155 | |||
REDRAW | 157 | |||
TABLET | 157 | |||
GRAPHSCR | 158 | |||
TEXTSCR | 158 | |||
4.5. | Funções que lidam com as tabelas de símbolos | 158 | ||
TBLSEARCH | 159 | |||
TBLNEXT | 159 | |||
TBLOBJNAME | 160 | |||
4.6. | Funções para lidar com erros | 160 | ||
TRACE | 160 | |||
UNTRACE | 161 | |||
ALERT | 161 | |||
*ERROR* | 162 | |||
EXIT | 162 | |||
QUIT | 162 | |||
4.7. | Melhoramentos ao código | 163 | ||
5. O ambiente Visual LISP | ||||
5.1. | Entrada no ambiente Visual LISP | 167 | ||
5.2. | Interpretadores, compiladores e processadores de texto | 170 | ||
5.3. | Concepção de um programa em Visual LISP | 172 | ||
5.4. | As funcionalidades ao dispor do programador | 177 | ||
5.4.1. | O código de cores | 178 | ||
5.4.2. | Comentários | 178 | ||
5.4.3. | Formatação e configuração do editor | 180 | ||
5.5. | Análise de um programa, detecção e correcção de erros em Visual LISP | 181 | ||
5.5.1. | A utilização de breakpoints para parar o programa num determinado ponto | 182 | ||
5.6. | Serviços de símbolos | 185 | ||
5.6.1. | Análise de valores com a ferramenta watch | 187 | ||
5.6.2. | Análise de valores com a ferramenta inspect | 188 | ||
5.6.3. | Listagem da base de dados do AutoCAD | 190 | ||
5.7. | Pesquisa e substituição de texto ou símbolos, utilização de bookmarks | 192 | ||
5.7.1. | Pesquisa de texto | 192 | ||
5.7.2. | Substituição de elementos | 195 | ||
5.7.3. | Pesquisa de texto e utilização de bookmarks | 196 | ||
5.7.4. | Recuperação do nome de variáveis ou funções com apropos | 197 | ||
5.8. | Utilização do teclado para edição | 201 | ||
5.9. | Ferramentas para lidar com caixas DCL | 203 | ||
5.10. | Formatação e alteração das cores das janelas | 204 | ||
5.11. | Compilação de programas e gestão de projectos | 205 | ||
5.11.1. | Compilação de programas em Visual LISP | 205 | ||
VLISP-COMPILE | 206 | |||
5.11.2. | Criação e utilização de projectos | 208 | ||
6. Programação de caixas de diálogo com DCL | ||||
6.1. | Introdução às caixas de diálogo | 215 | ||
6.2. | Utilização do ambiente Visual LISP para prever e corrigir erros | |||
nas caixas de diálogo | 216 | |||
6.3. | Conceito e utilização | 217 | ||
DIALOG | 218 | |||
6.4. | Protótipos e subestruturas | 221 | ||
Definição de tile | 224 | |||
Referência a um tile | 225 | |||
6.5. | Funções de AutoLISP que podem ser usadas para lidar com caixas de diálogo | 227 | ||
LOAD_DIALOG | 227 | |||
NEW_DIALOG | 227 | |||
START_DIALOG | 228 | |||
DONE_DIALOG | 228 | |||
TERM_DIALOG | 229 | |||
UNLOAD_DIALOG | 229 | |||
ACTION_TILE | 229 | |||
GET_ATTR | 230 | |||
GET_TILE | 230 | |||
MODE_TILE | 230 | |||
SET_TILE | 231 | |||
START_LIST | 231 | |||
ADD_LIST | 232 | |||
END_LIST | 232 | |||
START_IMAGE | 233 | |||
DIMX_TILE | 233 | |||
DIMY_TILE | 233 | |||
VECTOR_IMAGE | 234 | |||
FILL_IMAGE | 234 | |||
SLIDE_IMAGE | 235 | |||
END_IMAGE | 235 | |||
6.6. | Atributos predefinidos para DCL | 236 | ||
6.7. | Mosaicos predefinidos para DCL | 243 | ||
6.7.1. | Os diversos tipos de mosaicos | 243 | ||
6.7.2. | Descrição dos vários mosaicos predefinidos | 246 | ||
7. Novas funções de Visual Lisp | ||||
7.1. | Apresentação do novo conjunto de funções de Visual LISP | 277 | ||
7.2. | Funções para lidar com listas | 278 | ||
vl-list* | 278 | |||
vl-list->string | 278 | |||
vl-list-length | 279 | |||
vl-consp | 279 | |||
VL-REMOVE | 280 | |||
VL-REMOVE-IF | 280 | |||
VL-REMOVE-IF-NOT | 281 | |||
VL-MEMBER-IF | 281 | |||
VL-MEMBER-IF-NOT | 282 | |||
VL-POSITION | 282 | |||
VL-EVERY | 283 | |||
VL-SOME | 283 | |||
VL-SORT | 284 | |||
VL-SORT-I | 284 | |||
7.3. | Funções para manipulação de strings | 284 | ||
VL-STRING->LIST | 285 | |||
VL-STRING-ELT | 285 | |||
VL-STRING-LEFT-TRIM | 285 | |||
VL-STRING-RIGHT-TRIM | 286 | |||
VL-STRING-TRIM | 286 | |||
VL-STRING-MISMATCH | 287 | |||
VL-STRING-POSITION | 287 | |||
VL-STRING-SEARCH | 288 | |||
VL-STRING-SUBST | 288 | |||
VL-STRING-TRANSLATE | 289 | |||
VL-PRIN1-TO-STRING | 289 | |||
VL-PRINC-TO-STRING | 290 | |||
7.4. | Funções para lidar com símbolos | 290 | ||
VL-SYMBOL-NAME | 290 | |||
VL-SYMBOL-VALUE | 291 | |||
VL-SYMBOLP | 291 | |||
7.5. | Funções para lidar com ficheiros | 292 | ||
VL-DIRECTORY-FILES | 292 | |||
VL-FILE-COPY | 293 | |||
VL-FILE-DELETE | 293 | |||
VL-FILE-RENAME | 294 | |||
VL-FILE-DIRECTORY-P | 294 | |||
VL-FILE-SIZE | 294 | |||
VL-FILE-SYSTIME | 295 | |||
VL-FILENAME-BASE | 295 | |||
VL-FILENAME-DIRECTORY | 296 | |||
VL-FILENAME-EXTENSION | 296 | |||
VL-FILENAME-MKTEMP | 296 | |||
VL-GET-RESOURCE | 297 | |||
7.6. | Transferências de informação entre desenhos, o conceito de namespace | 297 | ||
VL-LOAD-ALL | 298 | |||
VL-PROPAGATE | 299 | |||
VL-DOC-SET | 299 | |||
VL-DOC-REF | 300 | |||
VL-DOC-EXPORT | 300 | |||
VL-DOC-IMPORT | 300 | |||
VL-LIST-EXPORTED-FUNCTIONS | 301 | |||
VL-BB-SET | 301 | |||
VL-BB-REF | 302 | |||
VL-ARX-IMPORT | 302 | |||
7.7. | Funções para lidar com erros e de saída | 302 | ||
VL-CATCH-ALL-APPLY | 303 | |||
VL-CATCH-ALL-ERROR-MESSAGE | 303 | |||
VL-CATCH-ALL-ERROR-P | 304 | |||
VL-EXIT-WITH-ERROR | 304 | |||
VL-EXIT-WITH-VALUE | 305 | |||
7.8. | Funções de sistema | 305 | ||
VL-ACAD-DEFUN | 305 | |||
VL-ACAD-UNDEFUN | 306 | |||
VL-CMDF | 306 | |||
7.9. | Funções para lidar com outras linguagens | 307 | ||
VL-LOAD-COM | 307 | |||
VL-LOAD-REACTORS | 307 | |||
VL-VLX-LOADED-P | 308 | |||
VL-LIST-LOADED-VLX | 308 | |||
VL-UNLOAD-VLX | 308 | |||
VL-VBALOAD | 309 | |||
VL-VBARUN | 309 | |||
7.10. | Funções para lidar com o registry | 309 | ||
VL-REGISTRY-WRITE | 310 | |||
VL-REGISTRY-READ | 310 | |||
VL-REGISTRY-DELETE | 311 | |||
VL-REGISTRY-DESCENDENTS | 311 | |||
8. ActiveX | ||||
8.1. | Introdução ao ActiveX | 313 | ||
8.2. | Estrutura ActiveX implementada no AutoCAD | 315 | ||
8.2.1. | Programando com Visual LISP sobre ActiveX | 316 | ||
8.2.2. | Métodos, propriedades e eventos | 318 | ||
8.3. | Conversão entre entidades ActiveX e Ename | 318 | ||
vlax-ename->vla-object | 319 | |||
vlax-vla-object->ename | 319 | |||
8.4. | Variáveis que podemos utilizar em ActiveX | 320 | ||
8.4.1. | Utilização de pontos para as funções de ActiveX | 321 | ||
vlax-3D-point | 321 | |||
8.4.2. | Safearrays | 322 | ||
vlax-make-safearray | 322 | |||
vlax-safearray-put-element | 323 | |||
vlax-safearray-fill | 324 | |||
vlax-safearray-get-dim | 324 | |||
vlax-safearray-get-element | 324 | |||
vlax-safearray-get-l-bound | 325 | |||
vlax-safearray-get-u-bound | 325 | |||
vlax-safearray-type | 325 | |||
vlax-safearray->list | 326 | |||
8.4.3. | Variants | 327 | ||
vlax-make-variant | 328 | |||
vlax-variant-type | 329 | |||
vlax-variant-value | 330 | |||
vlax-variant-change-type | 330 | |||
8.4.4. | Matrizes de 4x4 | 331 | ||
vlax-tmatrix | 331 | |||
8.5. | Manipulação de objectos em ActiveX | 332 | ||
vlax-get-Acad-Object | 334 | |||
vla-get-ActiveDocument | 334 | |||
vla-get-ModelSpace | 335 | |||
8.6. | Funções para manipular objectos | 336 | ||
vla-add | 336 | |||
vlax-put-property | 338 | |||
vlax-get-property | 339 | |||
vlax-property-available-p | 339 | |||
vlax-invoke-method | 340 | |||
vlax-method-applicable-p | 340 | |||
vlax-dump-object | 341 | |||
vlax-erased-p | 343 | |||
8.7. | Funções para lidar com objectos curvos | 344 | ||
vlax-curve-getArea | 345 | |||
vlax-curve-getStartPoint | 345 | |||
vlax-curve-getEndPoint | 345 | |||
vlax-curve-isClosed | 346 | |||
vlax-curve-getDistAtParam | 347 | |||
vlax-curve-getClosestPointTo | 347 | |||
vlax-curve-getDistAtPoint | 347 | |||
vlax-curve-getStartParam | 348 | |||
vlax-curve-getEndParam | 348 | |||
vlax-curve-getParamAtDist | 348 | |||
vlax-curve-getParamAtPoint | 348 | |||
vlax-curve-getPointAtDist | 349 | |||
vlax-curve-getPointAtParam | 349 | |||
vlax-curve-isPeriodic | 349 | |||
vlax-curve-isPlanar | 350 | |||
vlax-curve-getClosestPointToProjection | 350 | |||
vlax-curve-getFirstDeriv | 350 | |||
vlax-curve-getSecondDeriv | 351 | |||
8.8. | Operações com objectos externos | 351 | ||
tdvlax-get-object:351 vlax-create-object |
352 | |||
vlax-get-or-create-object | 352 | |||
vlax-read-enabled-p | 353 | |||
vlax-write-enabled-P | 353 | |||
vlax-release-object | 354 | |||
vlax-object-released-p | 354 | |||
8.8.1 | Importação da library de uma aplicação externa | 354 | ||
vlax-import-type-library | 355 | |||
vlax-typeinfo-available-p | 356 | |||
8.9. | Funções para aplicar operações a diversos objectos | 357 | ||
vlax-for | 357 | |||
vlax-map-collection | 357 | |||
8.10. | Funções de sistema | 358 | ||
vlax-add-cmd | 358 | |||
vlax-remove-cmd | 359 | |||
vlax-product-key | 359 | |||
8.11. | Reactores | 360 | ||
8.11.1. | Sumulação de funções para manipular reactores | 360 | ||
9. Exemplos de aplicação em Visual LISP | ||||
9.1. | Concepção de um programa em Visual Lisp | 365 | ||
9.1.1. | Critérios de uso de variáveis locais e variáveis globais | 366 | ||
9.2. | Pequenas rotinas auxiliares | 366 | ||
9.3. | Rotinas para manipulação de polylines e padrões de hatch | 372 | ||
9.4. | Leitura e escrita de dados em ficheiros exteriores | 379 | ||
9.5. | Rotinas para manipulação de blocos e layers | 385 | ||
Parte 2 - VBA - Visual Basic for Applications | ||||
10. Introdução ao VBA em AutoCAD | ||||
10.1. | Introdução à programação orientada por objectos | 403 | ||
10.2. | Interface Activex e linguagem VBA | 404 | ||
10.3. | Estrutura de um projecto VBA | 406 | ||
10.3.1. | Módulos | 406 | ||
10.3.2. | Projectos globais e embebidos | 407 | ||
10.4. | Carregamento e execução de projectos VBA | 407 | ||
VBALOAD | 408 | |||
APPLOAD | 409 | |||
VBARUN | 411 | |||
10.5. | O editor VBA - comando VBAIDE | 413 | ||
VBAIDE | 413 | |||
10.6. | Primeiro exemplo VBA | 417 | ||
10.7. | Restantes comandos VBA | 420 | ||
VBAMAN | 420 | |||
VBALOAD | 421 | |||
VBAUNLOAD | 422 | |||
VBASTMT | 422 | |||
11. Fundamentos do VBA | ||||
11.1. | Objectos, classes e colecções | 423 | ||
11.2. | Propriedades, métodos e eventos | 428 | ||
11.2.1. | Propriedades | 428 | ||
11.2.2. | Métodos | 429 | ||
11.2.3. | Eventos | 430 | ||
11.2.4. | Exemplo | 430 | ||
11.3. | Dados variáveis e constantes | 431 | ||
11.3.1. | Convenções sobre nomes | 431 | ||
11.3.2. | Tipos de dados e variáveis | 432 | ||
11.3.3. | Declaração de variáveis | 433 | ||
DIM | 434 | |||
DEFxxxx | 435 | |||
OPTION EXPLICIT | 435 | |||
11.3.4. | Listas de dados ou matrizes - arrays | 436 | ||
11.3.5. | Constantes | 437 | ||
CONST | 438 | |||
11.3.6. | Atribuição de nomes a variáveis e constantes | 439 | ||
11.3.7. | Abrangência das variáveis e constantes | 440 | ||
STATIC | 441 | |||
PRIVATE | 442 | |||
PUBLIC | 442 | |||
11.4. | Procedimentos e macros | 443 | ||
11.4.1. | Tipos de procedimentos | 443 | ||
SUB | 444 | |||
FUNCTION | 446 | |||
11.4.2. | Como referenciar procedimentos | 446 | ||
11.5. | Operadores e funções | 447 | ||
11.5.1. | Operadores aritméticos | 447 | ||
11.5.2. | Operadores de comparação | 449 | ||
11.5.3. | Operadores lógicos | 451 | ||
11.5.4. | Funções matemáticas | 452 | ||
11.5.5. | Funções de conversão | 453 | ||
VAL | 453 | |||
STR | 454 | |||
Cxxxx | 454 | |||
11.6. | Comentários e linhas de programação | 455 | ||
11.6.1. | Comentários | 455 | ||
11.6.2. | Instruções em múltiplas linhas | 456 | ||
11.6.3. | Combinação de instruções numa linha | 456 | ||
11.7. | Instruções de decisão e de repetição | 456 | ||
11.7.1. | Instruções de decisão | 457 | ||
IF... THEN...ELSE | 457 | |||
SELECT CASE... CASE ELSE | 459 | |||
11.7.2. | Instruções de repetição | 460 | ||
DO WHILE... LOOP | 460 | |||
DO... LOOP WHILE | 462 | |||
FOR... NEXT | 463 | |||
FOR EACH... NEXT | 464 | |||
WITH | 465 | |||
11.8. | Entrada e saída de informação | 466 | ||
11.8.1. | Objecto Utility | 466 | ||
11.8.2. | Entrada e saída em caixa de diálogo | 469 | ||
MSGBOX | 469 | |||
11.9. | Carregamento e execução automática de aplicações VBA | 471 | ||
11.10. | Associação de macros VBA a menus e a ícones | 472 | ||
12. Caixas de diálogo (formas) | ||||
12.1. | Criação de caixas de diálogo (formas) e suas propriedades | 473 | ||
12.1.1. | Inserção de uma caixa | 473 | ||
12.1.2. | Propriedades da caixa | 475 | ||
12.1.3. | Mostrar e esconder caixas | 476 | ||
12.2. | Classes de objectos em caixas de diálogo | 478 | ||
12.2.1. | Adição de ferramentas a caixa de diálogo | 478 | ||
12.2.2. | Propriedades dos objectos | 481 | ||
12.2.3. | Exemplo de aplicação 1 | 481 | ||
12.2.4. | Eventos em caixas de diálogo | 484 | ||
12.2.5. | Associação de código aos elementos das caixas | 485 | ||
12.2.6. | Lançamento de uma aplicação com caixas de diálogo | 486 | ||
12.2.7. | Exemplo de aplicação 2 | 486 | ||
13. Objectos VBA do AutoCAD | ||||
13.1. | Aplicação, desenhos e preferências | 491 | ||
13.1.1. | Objecto Application | 491 | ||
13.1.2. | Objecto Documents | 492 | ||
13.1.3. | Objecto Document | 493 | ||
13.1.4. | Objecto Preferences | 495 | ||
13.2. | Criação e edição de objectos | 497 | ||
13.2.1. | Colecções ModelSpace, PaperSpace e Block | 497 | ||
13.2.2. | Criação de objectos gráficos simples | 498 | ||
13.2.3. | Criação de tramas e regiões | 501 | ||
13.2.4. | Criação de cotas | 502 | ||
13.2.5. | Selecção de objectos - colecção SelectionSets e objecto | |||
SelectionSet | 504 | |||
13.2.6. | Edição de objectos | 505 | ||
13.3. | Layers, tipos de linha e outras propriedades | 511 | ||
13.3.1. | Layers | 512 | ||
13.3.2. | Tipos de linha | 513 | ||
13.3.3. | Cores | 514 | ||
13.4. | Espaços de composição e impressão | 514 | ||
13.4.1. | Colecção Layouts e objecto Layout | 515 | ||
13.4.2. | Criação de vistas (viewports) e troca entre espaços | 517 | ||
13.4.3. | Objecto Plot | 518 | ||
14. Conceitos avançados VBA | ||||
14.1. | Ficheiros e directórios | 521 | ||
14.1.1. | Ficheiros DWG | 521 | ||
14.1.2. | Abertura e fecho de ficheiros genéricos | 522 | ||
OPEN | 522 | |||
CLOSE | 523 | |||
14.1.3. | Leitura e escrita de informação para ficheiros | 523 | ||
INPUT # | 524 | |||
WRITE # | 526 | |||
PRINT # | 526 | |||
14.2. | Controlo de erros | 527 | ||
14.2.1. | Tipos de erros | 527 | ||
14.2.2. | Prevenção de erros de execução | 528 | ||
ON ERROR | 529 | |||
14.2.3. | Análise através do editor VBA | 530 | ||
14.3. | Modelação em 3D | 531 | ||
14.3.1. | Sistemas de coordenadas | 531 | ||
14.3.2. | Criação e edição de objectos 3D | 533 | ||
14.3.3. | Visualização em 3D | 535 | ||
14.4. | Encriptação do código | 535 | ||
14.5. | Ligações com outros programas | 537 | ||
Apêndice 1 | ||||
Códigos DXF | 539 | |||
Índice remissivo | 543 | |||
Páginas online | Topo |
Página
91
Páginas_386
à_387
Página
429
Página 511
Download | Topo |
Obtenha aqui os exemplos referidos no livro.
Use como "Username" a primeira palavra a vermelho no texto da contracapa.
Use como "Password" a última palavra de texto da página 427 do seu livro.
Nota : As palavras deverão ser inseridas em minúsculas e sem acentos, excluindo-se para a sua selecção o título da obra, os logótipos (da colecção e outros), endereços web e o nome dos autores.