Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual LISP
Visual LISP
VisualLISP
Curso de programacin
para AutoCAD
Nicols da Silva
INFORBOOK'S, S.L.
c/ Muntaner, 181
08036 BARCELONA
934 391 575
e-mail: info@inforbooks.com
web: http://www.inforbooks.com
ISBN: 84-96097-78-1
Depsito legal: B-49766-2006
Diseo cubierta: ABISA
Maquetacin: ABISA
ndice General
ndice General
ndice General
Prlogo ................................................................... 23
A quin va dirigido este libro ........................................................................................
Por qu se escribi este libro ......................................................................................
Notas Aclaratorias ........................................................................................................
Agradecimientos ..........................................................................................................
24
24
25
25
Preliminares ............................................................ 27
Por qu LISP ...............................................................................................................
Otras formas de personalizar AutoCAD ......................................................................
Ejemplos en los que es til VisualLISP .......................................................................
Conclusin ...................................................................................................................
Cdigo fuente del libro, erratas e imgenes ................................................................
27
28
29
30
30
32
34
34
35
35
36
36
40
41
44
44
45
45
46
46
47
47
48
48
49
50
52
53
55
57
58
60
61
62
63
67
68
69
69
70
71
73
73
76
79
79
80
81
82
84
85
86
88
ndice General
129
129
132
136
136
142
144
144
145
146
148
148
148
149
150
152
152
153
153
153
154
154
155
155
156
157
157
158
158
159
160
160
161
161
162
162
163
165
165
166
167
167
168
169
169
170
171
172
172
172
174
174
175
175
177
177
ndice General
Funcin STRCAT ..................................................................................................
Funcin STRLEN ..................................................................................................
Funcin SUBSTR .................................................................................................
Funcin VL-STRING-LEFT-TRIM .........................................................................
Funcin VL-STRING-RIGHT-TRIM ......................................................................
Funcin VL-STRING-TRIM ..................................................................................
Funcin VL-STRING-MISMATCH ........................................................................
Funcin VL-STRING-POSITION ..........................................................................
Funcin VL-STRING-SEARCH ............................................................................
Funcin VL-STRING-ELT .....................................................................................
Funcin VL-STRING-SUBST ...............................................................................
Funcin VL-STRING-TRANSLATE ......................................................................
Funcin WCMATCH .............................................................................................
Entrada/Salida (E/S) ..................................................................................................
Funcin ALERT ....................................................................................................
Funcin PROMPT ................................................................................................
Funcin GETINT ...................................................................................................
Funcin GETREAL ...............................................................................................
Funcin GETSTRING ...........................................................................................
Funcin GETPOINT .............................................................................................
Funcin GETDIST ................................................................................................
Funcin GETCORNER .........................................................................................
Funcin GETANGLE ............................................................................................
Funcin GETORIENT ...........................................................................................
Funcin GETFILED ..............................................................................................
Funcin INITGET ..................................................................................................
Funcin GETKWORD ..........................................................................................
Funcin OPEN ......................................................................................................
Funcin CLOSE ....................................................................................................
Funcin PRIN1 .....................................................................................................
Funcin PRINC .....................................................................................................
Funcin PRINT .....................................................................................................
Funcin TERPRI ...................................................................................................
Funcin READ-CHAR ..........................................................................................
Funcin READ-LINE ............................................................................................
Funcin WRITE-CHAR .........................................................................................
Funcin WRITE-LINE ...........................................................................................
Ayudas al dibujo ........................................................................................................
Funcin DISTANCE ..............................................................................................
Funcin INTERS ...................................................................................................
Funcin OSNAP ...................................................................................................
9
178
179
179
181
182
182
183
184
187
188
189
190
191
194
194
195
195
196
197
198
200
202
203
205
206
209
213
214
216
217
219
221
223
224
228
230
231
232
232
233
235
10
237
240
245
247
249
250
250
251
252
252
253
255
256
257
258
259
259
260
260
263
264
265
266
266
267
267
267
268
269
269
271
271
272
274
275
275
276
276
277
278
279
ndice General
11
12
319
320
320
321
322
322
324
325
325
326
327
328
328
329
330
330
331
332
332
333
333
334
334
337
339
339
341
341
342
343
345
347
349
350
351
351
352
353
354
355
356
ndice General
Manejo de Conjuntos de Seleccin ...........................................................................
Funcin SSGET ....................................................................................................
Funcin SSADD ...................................................................................................
Funcin SSDEL ....................................................................................................
Funcin SSMEMB ................................................................................................
Funcin SSNAME ................................................................................................
Funcin SSNAMEX ..............................................................................................
Funcin SSSETFIRST .........................................................................................
Funcin SSGETFIRST .........................................................................................
Funcin SSLENGTH ............................................................................................
Manejo de Aplicaciones .............................................................................................
Funcin ARX .........................................................................................................
Funcin ARXLOAD ...............................................................................................
Funcin ARXUNLOAD .........................................................................................
Funcin AUTOARXLOAD .....................................................................................
Funcin AUTOLOAD ............................................................................................
Funcin LOAD ......................................................................................................
Funcin VL-ARX-IMPORT ...................................................................................
Funcin VL-LOAD-COM .......................................................................................
Funcin VL-LOAD-REACTORS ...........................................................................
Funcin VL-LOAD-ALL .........................................................................................
Funcin VL-UNLOAD-VLX ...................................................................................
Funcin VL-LIST-LOADED-VLX ..........................................................................
Funcin VL-VLX-LOADED-P ................................................................................
Funcin VL-ACAD-DEFUN ..................................................................................
Funcin VL-ACAD-UNDEFUN .............................................................................
Funcin VLAX-ADD-CMD ....................................................................................
Funcin VLAX-REMOVE-CMD ............................................................................
Funcin VL-DOC-EXPORT ..................................................................................
Funcin VL-DOC-IMPORT ...................................................................................
Funcin VL-LIST-EXPORTED-FUNCTIONS .......................................................
Funcin VL-VBALOAD .........................................................................................
Funcin VL-VBRAUN ...........................................................................................
Funcin VL-GET-RESOURCE .............................................................................
Manejo de Nodos .......................................................................................................
Funcin SETQ ......................................................................................................
Funcin SET .........................................................................................................
Funcin ATOMS-FAMILY ......................................................................................
Funcin BOUNDP ................................................................................................
Funcin EQ ...........................................................................................................
Funcin VL-SYMBOL-NAME ...............................................................................
13
356
357
364
366
366
367
369
376
378
378
379
379
380
381
382
383
384
387
389
389
390
390
391
392
392
393
393
395
396
397
398
399
400
400
401
401
402
403
405
405
407
14
ndice General
Funcin VLAX-DUMP-OBJECT ...........................................................................
Funcin VLAX-METHOD-APPLICABLE-P ..........................................................
Funcin VLAX-INVOKE-METHOD .......................................................................
Funcin VLAX-PROPERTY-AVAILABLE-P ..........................................................
Funcin VLAX-GET-PROPERTY .........................................................................
Funcin VLAX-PUT-PROPERTY .........................................................................
Funcin VLAX-RELEASE-OBJECT .....................................................................
Funcin VLAX-ERASED-P ...................................................................................
Funcin VLAX-READ-ENABLED-P .....................................................................
Funcin VLAX-WRITE-ENABLED-P ....................................................................
Funcin VLAX-IMPORT-TYPE-LIBRARY ............................................................
Funcin VLAX-TYPEINFO-AVAILABLE-P ...........................................................
Manejo de Entidades Lineales (Curvas) ...................................................................
Funcin VLAX-CURVE-ISCLOSED .....................................................................
Funcin VLAX-CURVE-ISPERIODIC ..................................................................
Funcin VLAX-CURVE-ISPLANAR .....................................................................
Funcin VLAX-CURVE-GETAREA ......................................................................
Funcin VLAX-CURVE-GETFIRSTDERIV ..........................................................
Funcin VLAX-CURVE-GETSECONDDERIV .....................................................
Funcin VLAX-CURVE-GETCLOSESTPOINTTO ...............................................
Funcin VLAX-CURVE-GETCLOSESTPOINTTOPROJECTION .......................
Funcin VLAX-CURVE-GETPOINTATDIST ........................................................
Funcin VLAX-CURVE-GETDISTATPOINT ........................................................
Funcin VLAX-CURVE-GETDISTATPARAM .......................................................
Funcin VLAX-CURVE-GETPARAMATDIST .......................................................
Funcin VLAX-CURVE-GETPARAMATPOINT ....................................................
Funcin VLAX-CURVE-GETPOINTATPARAM ....................................................
Funcin VLAX-CURVE-GETSTARTPOINT .........................................................
Funcin VLAX-CURVE-GETENDPOINT .............................................................
Funcin VLAX-CURVE-GETSTARTPARAM ........................................................
Funcin VLAX-CURVE-GETENDPARAM ............................................................
Manejo de SafeArray .................................................................................................
Funcin VLAX-MAKE-SAFEARRAY ....................................................................
Funcin VLAX-SAFEARRAY-FILL .......................................................................
Funcin VLAX-SAFEARRAY-GET-ELEMENT .....................................................
Funcin VLAX-SAFEARRAY-PUT-ELEMENT .....................................................
Funcin VLAX-SAFEARRAY-GET-DIM ................................................................
Funcin VLAX-SAFEARRAY-GET-L-BOUND ......................................................
Funcin VLAX-SAFEARRAY-GET-U-BOUND .....................................................
Funcin VLAX-SAFEARRAY-TYPE .....................................................................
Manejo de Variant ......................................................................................................
15
447
449
449
451
451
452
453
454
455
456
457
459
459
465
466
468
469
470
472
475
477
481
482
483
485
486
487
489
489
490
491
491
492
494
496
497
498
499
499
500
501
16
501
503
505
506
507
507
508
509
513
519
524
525
525
526
527
528
528
529
530
531
531
532
533
533
534
535
535
536
536
537
538
538
539
540
540
541
542
542
543
543
544
ndice General
Funcin VL-CATCH-AL-ERROR-MESSAGE .......................................................
Funcin VL-CATCH-ALL-ERROR-P ....................................................................
Funciones de Depuracin ..........................................................................................
Funcin TRACE ....................................................................................................
Funcin UNTRACE ..............................................................................................
17
547
548
548
548
550
553
553
553
554
554
555
555
556
556
557
557
557
558
558
559
559
559
560
560
561
561
562
562
565
566
566
567
567
568
568
569
18
Ejemplo
Ejemplo
Ejemplo
Ejemplo
05 .................................................................................................................
06 .................................................................................................................
07 .................................................................................................................
08 .................................................................................................................
569
569
570
573
594
595
596
597
627
628
628
628
629
629
629
630
632
636
ndice General
19
649
651
654
655
656
656
657
659
659
660
661
664
) ............................................... 679
665
666
668
670
671
673
674
676
678
681
681
682
684
685
685
685
685
686
) ................................................................................................................. 687
EQ ( ) ..................................................................................................................... 688
NAND ( ) .................................................................................................................. 689
20
713
716
716
716
716
716
716
716
717
717
ndice General
Los sencillos logaritmos .......................................................................................
Pgina principal de las libreras MSDN ................................................................
API de los Ficheros de ayuda precompilados ......................................................
Cdigo fuente ofuscado ........................................................................................
Ordenacin de matrices (vectores) ......................................................................
Los dibujos usados para algunas ilustraciones ....................................................
Conjuntos de seleccin en AutoCAD ...................................................................
Matrices de Transformacin, coordenadas, cambios de base .............................
Unidades de medida locales ................................................................................
La genealoga de LISP .........................................................................................
Creacin de formas en AutoCAD .........................................................................
Sistemas de numeracin en Binario, operaciones, etc. .......................................
Creacin de tipos de lnea en AutoCAD ...............................................................
Paradigmas de la programacin ..........................................................................
Transformaciones lineales en el espacio afin eucldeo ........................................
21
717
717
717
717
717
717
717
718
718
718
718
718
718
718
718
22