ISBN.nu logo
isbn.nu
search for books and compare prices
Search >
Tables of Contents for Autocad Developer's Guide to Visual Lisp
Chapter/Section Title
Page #
Page Count
Introduction
2
1
AutoCAD Customization Instruments
3
34
Templates
4
5
The acad.pgp File
9
7
Configuring AutoCAD to Include User's Tools
16
9
Setting AutoCAD Shortcut Properties
25
3
Forming Graphical User Libraries
28
2
AutoCAD Design Center
30
2
Slides
32
3
Programming Tools for Customization
35
2
The AutoLISP Language
37
188
The AutoLISP Interpreter
38
3
Evaluating Expressions
39
1
The setq Function
40
1
Comments
41
1
Symbols
41
5
Data Types
42
2
Predefined Symbols
44
1
Variables
44
1
The load Function
45
1
The vl-load-all Function
46
1
AutoLISP: Direct Access to AutoCAD Commands
46
3
The command Function
46
2
The vl-cmdf Function
48
1
Arithmetic Functions
49
4
The + Function
49
1
The - Function
50
1
The * Function
50
1
The / Function
51
1
The 1+ Function
51
1
The 1- Function
52
1
The ∼ Function
52
1
The abs Function
52
1
Logical Functions
53
14
The = Function
53
1
The /= Function
53
1
The < Function
54
1
The <= Function
54
1
The > Function
55
1
The >= Function
56
1
The and Function
56
1
The or Function
57
1
The not Function
57
1
The null Function
57
1
The if Function
58
1
The progn Function
59
1
The cond Function
59
2
The minusp Function
61
1
The zerop Function
61
1
The numberp Function
62
1
The listp Function
62
1
The vl-consp Function
63
1
The atom Function
63
1
The vl-symbolp Function
63
1
The boundp Function
64
1
The eq Function
64
1
The equal Function
64
1
The while Function
65
1
The repeat Function
66
1
Calculation Functions
67
12
The fix Function
67
1
The rem Function
67
1
The max Function
68
1
The min Function
68
1
The gcd Function
69
1
The angle Function
69
1
The distance Function
69
1
The sqrt Function
70
1
The sin Function
70
1
The cos Function
70
1
The atan Function
71
1
The exp Function
71
1
The expt Function
72
1
The log Function
72
1
The logand Function
72
1
The logior Function
73
1
The lsh Function
74
1
The Boole Function
74
1
The inters Function
75
1
The polar Function
76
1
The textbox Function
76
1
The vports Function
77
2
The vl-symbol-value Function
79
1
The set Function
79
1
Data Conversion Functions
79
8
The type Function
79
1
The float Function
80
1
The itoa Function
81
1
The rtos Function
81
1
The atoi Function
82
1
The atof Function
83
1
The angtof Function
83
1
The angtos Function
84
1
The distof Function
84
1
The trans Function
85
 
The cvunit Function
67
20
String Processing Functions
87
10
The chr Function
87
1
The ascii Function
88
1
The read Function
88
1
The strcase Function
89
1
The strcat Function
89
1
The strlen Function
90
1
The substr Function
90
1
The wcmatch Function
91
1
The vl-string->list Function
92
1
The vl-list->string Function
92
1
The vl-string-elt Function
92
1
The vl-string-left-trim Function
93
1
The vl-string-right-trim Function
93
1
The vl-string-trim Function
94
1
The vl-string-mismatch Function
94
1
The vl-string-position Function
95
1
The vl-string-search Function
95
1
The vl-string-subst Function
96
1
The vl-string-translate Function
96
1
The vl-symbol-name Function
97
1
List and Dotted Pair Handling Functions
97
16
The list Function
97
1
The append Function
98
1
The nth Function
98
1
The reverse Function
99
1
The car Function
99
1
The cdr Function
100
1
The caar, cadr, etc. Functions
100
1
The cons Function
101
1
The vl-list* Function
102
1
The member Function
103
1
The assoc Function
103
1
The apply Function
104
1
The mapcar Function
104
1
The vl-every Function
104
1
The foreach Function
105
1
The eval Function
105
1
The quote Function
106
1
The acad_strlsort Function
106
1
The last Function
106
1
The subst Function
107
1
The length Function
107
1
The vl-list-length Function
107
1
The vl-member-if Function
108
1
The vl-member-if-not Function
108
1
The vl-position Function
109
1
The vl-remove Function
109
1
The vl-remove-if Function
110
1
The vl-remove-if-not Function
110
1
The vl-some Function
110
1
The vl-sort Function
111
1
The vl-sort-i Function
111
1
The vl-catch-all-apply Function
112
1
The vl-catch-all-error-message Function
112
1
The vl-catch-all-error-p Function
113
1
User Input and Object Access Functions
113
12
The initget Function
113
3
The getkword Function
116
1
The getint Function
117
1
The getreal Function
118
1
The getdist Function
118
1
The getangle Function
118
1
The getorient Function
119
1
The getpoint Function
119
1
The getcorner Function
119
1
The getstring Function
120
1
The getvar Function
120
1
The setvar Function
120
1
The getenv Function
121
1
The setenv Function
121
1
The getcfg Function
122
1
The setcfg Function
122
1
The getcname Function
122
1
The getfiled Function
122
2
The acad_colordlg Function
124
1
Output, Messaging, and File Access Functions
125
14
The findfile Function
125
1
The open Function
125
1
The close Function
126
1
The read-line Function
126
1
The write-line Function
127
1
The princ Function
127
1
The prin 1 Function
127
1
The print Function
128
1
The read-char Function
128
1
The write-char Function
128
1
The prompt Function
129
1
The alert Function
129
1
The terpri Function
130
1
The vl-directory-files Function
130
1
The vl-file-copy Function
131
1
The vl-file-delete Function
132
1
The vl-file-directory-p Function
132
1
The vl-file-rename Function
132
1
The vl-file-size Function
133
1
The vl-file-systime Function
133
1
The vl-filename-base Function
134
1
The vl-filename-directory Function
134
1
The vl-filename-extension Function
135
1
The vl-filename-mktemp Function
135
1
The vl-princ-to-string Function
136
1
The vl-prin 1-to-string Function
137
1
An Example of File Maintenance
137
2
AutoCAD Entity Access Functions
139
18
The entlast Function
140
1
The entnext Function
140
1
The entsel Function
141
1
The entdel Function
142
1
The entget Function
142
2
The entmake Function
144
1
The entmakex Function
144
1
The entmod Function
145
1
The endupd Function
145
1
The handent Function
145
1
The nentsel Function
145
1
The nentselp Function
146
1
Selection Sets
147
1
The ssget Function
147
2
The ssadd Function
149
1
The ssdel Function
150
1
The sslength Function
150
1
The ssmemb Function
150
1
The ssname Function
151
1
The ssnamex Function
151
2
The sssetfirst Function
153
1
The ssgetfirst Function
154
1
An Example of AutoCAD Entity Handling
155
2
Table Data Access Functions
157
5
Tables
157
1
The tblsearch Function
157
1
The tblnext Function
158
1
The tblobjname Function
159
1
Table Handling Scheme
159
1
The setview Function
160
1
The snvalid Function
161
1
Extended Data Handling Functions
162
4
Extended Data Structure
162
2
The regapp Function
164
1
Attaching Xdata
164
1
The xdsize Function
165
1
The xdroom Function
166
1
Dictionary and Xrecord Functions
166
9
Dictionaries
166
1
The namedobjdict Function
167
1
The dictsearch Function
167
2
The dictnext Function
169
1
The dictadd Function
170
1
The dictremove Function
171
1
The dictrename Function
172
1
The layoutlist Function
172
1
Xrecords
173
2
User Function Design
175
14
The lambda Function
176
1
The defun Function
176
4
Creating Supplementary AuToCAD Commands with User Functions
180
1
The defun-q Function
181
1
The defun-q-list-ref Function
182
1
The defun-q-list-set Function
183
1
The function Function
183
1
The vlisp-compile Function
184
1
The exit Function
184
1
The quit Function
185
1
The *error* Function
185
1
The vl-acad-defun Function
186
1
The vl-acad-undefun Function
186
1
The vl-exit-with-error Function
186
1
The vl-exit-with-value Function
187
1
The atoms-family Function
187
1
The trace Function
188
1
The untrace Function
189
1
Memory, Application, and Windows Registry Handling Functions
189
19
The ver Function
189
1
The mem Function
189
1
The alloc Function
190
1
The expand Function
190
1
The gc Function
191
1
The vl-registry-read Function
191
1
The vl-registry-write Function
191
1
The vl-registry-delete Function
192
1
The vl-registry-descendents Function
192
1
The arx Function
193
1
The arxload Function
193
1
The arxunload Function
194
1
The autoload Function
194
1
The autoarxload Function
195
1
The vl-arx-import Function
195
1
The vl-doc-export Function
196
1
The vl-doc-import Function
196
1
The vl-list-exported-functions Function
197
1
The vl-list-loaded-vlx Function
198
1
The vl-vlx-loaded-p Function
198
1
The vl-unload-vlx Function
199
1
The vl-get-resource Function
199
1
The vl-vbaload Function
199
1
The vl-vbarun Function
200
1
The vl-bb-set Function
200
1
The vl-bb-ref Function
201
1
The vl-doc-set Function
202
1
The vl-doc-ref Function
202
1
The vl-load-all Function
203
1
The vl-propagate Function
203
1
Global and Local Variables
204
2
Namespaces
206
1
Multiple Document Mode Problems
207
1
Other Functions
208
14
The osnap Function
208
1
The redraw Function
209
1
The graphscr Function
210
1
The textscr Function
210
1
The textpage Function
210
1
The grtext Function
210
3
The gradraw Function
213
1
The grvecs Function
213
1
The grclear Function
214
1
The grread Function
214
3
The initdia Function
217
1
The tablet Function
218
1
The acdimenableupdate Function
219
1
The acet-attsync Function
219
1
The acet-layerp-mode Function
219
1
The acet-layerp-mark Function
220
1
The acet-laytrans Function
220
1
The acet-ms-to-ps Function
220
1
The acet-ps-to-ms Function
221
1
User Function Autoload Files
222
3
The acad.lsp File
222
1
The acaddoc.lsp File
223
1
The ACADLSPASDOC System Variable
223
1
The s::startup Function
223
2
The Visual LISP Environment
225
38
A Review of the Visual LISP Menus
227
18
The File Menu
227
1
The Edit Menu
228
1
The Search Menu
229
1
The View Menu
230
7
The Project Menu
237
1
The Debug Menu
238
1
The Tools Menu
239
5
The Window Menu
244
1
The Help Menu
244
1
Review of the Visual LISP Toolbars
245
2
The Standard Toolbar
245
1
The Search Toolbar
245
1
The Tools Toolbar
246
1
The Debug Toolbar
246
1
The View Toolbar
247
1
The Visual LISP Text Editor
247
2
Text Editor Settings
248
1
Using Text Editor
249
1
Application Design
249
14
Program Loading and Debugging
249
3
Projects
252
3
VLX Applications
255
5
Loading Applications
260
3
Menus
263
56
Menu Files
264
4
Loading the Base Menu
265
1
Loading a Partial Menu
266
2
Menu Sections
268
7
Adding a Menu to the Menubar
269
2
Calling a Toolbar
271
4
AutoLISP Functions that Work with Menus
275
3
The menugroup Function
275
1
The menucmd Function
275
3
The Structure of Menu Titles and Items
278
5
The Structure of a Title
279
1
The Structure of a Menu Item
279
3
A Pause in the Menu Item
282
1
Pull-Down Menus
283
6
Adding a Menu
283
1
Removing a Menu
284
1
Displaying a Menu on the Screen
284
1
Checking a Menu Item
285
1
Disabling a Menu Item
285
1
Restoring a Menu Item
286
1
Replacing a Menu Item
286
1
A Menu Item State Query
286
1
Cascading Menus
287
1
Pull-down Menu Operations in Menus of Other Sections
288
1
Screen Menus
289
7
Screen Menu Area Activation
289
3
Menu Levels
292
2
Ways of Replacing a Menu
294
1
Using the &carrot;H Sequence
295
1
Image Tile Menus
296
2
The Structure of an Item
296
2
Calling a Menu
298
1
Button Menus
298
1
Tablet Menus
298
1
Toolbars
299
7
Toolbar Customization
299
2
Creating a New Toolbar
301
1
The Toolbar Data Structure
302
3
Operations with Button Icons
305
1
Shortcut Menus
306
3
Shortcut Menu Sections
306
1
The Functioning of a Shortcut Menu
307
2
The Helpstrings Section
309
1
The Accelerators Section
310
1
The Diesel Language
311
3
Expressions
311
1
Functions
312
1
Error Messages
313
1
Using Diesel in Menus
313
1
Disel and AutoLISP
314
1
MNL Files
314
5
Dialog Boxes
319
52
The DCL Language
320
7
Directives
320
4
The Dialog Description Directive
324
3
Opening and Closing Dialog Boxes
327
4
The load_dialog Function
328
1
The unload_dialog Function
328
1
The new_dialog Function
328
1
The start_dialog Function
329
1
The done_dialog Function
330
1
The term_dialog Function
330
1
An Example of a Dialog Box Call
330
1
Tiles
331
19
The Attributes
332
4
The Main Tiles
336
7
Grouping Tiles
343
3
Text Tiles
346
2
Tiles with Dialog Close Buttons
348
1
Spacer Tiles
348
2
Functions Working with Tiles
350
10
The action_tile Function
350
1
The mode_tile Function
351
1
The set_tile Function
352
5
The get_tile Function
357
1
The get_attr Function
358
1
The client_data_tile Function
358
1
Action Variables
359
1
Functions Working with Lists
360
2
The start_list Function
360
1
The add_list Function
361
1
The end_list Function
361
1
Functions Working with Image Tiles
362
3
The start_image Function
362
1
The end_image Function
362
1
The fill_image Function
363
1
The slide_image Function
363
1
The vector_image Function
364
1
The dimx_tile Function
364
1
The dimy_tile Function
365
1
Some Advanced Techniques for Dialogs Programming
365
6
How to Exit a Dialog Temporarily
365
3
Nested Dialogs
368
1
Passwords
369
2
Creating the Help System
371
14
Windows Help Files
372
8
The Structure of Help Files
372
4
CNT Files
376
1
The help Function
377
2
Calling WIN Help with an External Command
379
1
Calling WIN Help with the startapp Function
380
1
HTML Help
380
2
Calling HTML Help with a CNT File
381
1
Calling HTML Help with an External Command
381
1
Calling HTML Help with the startapp Function
381
1
Outdated AutoCAD Help Files
382
1
The acad_helpdlg Function
382
1
Context-sensitive Help for User Commands
382
3
The setfunhelp Function
382
1
The Peculiarities of Using the setfunhelp Function
383
2
The ActiveX Technology
385
72
The Extension of AutoLISP
386
 
Objects
386
2
The vl-load-com Function
388
1
Properties
388
1
The vlax-get-acad-object Function
389
1
The vla-get-activedocument Function
389
1
The vla-get-modelspace Function
390
1
The vla-get-paperspace Function
390
1
Preparing to Use ActiveX
390
1
Methods
391
1
VLA Objects
392
1
The vlax-ename->vla-object Function
392
1
The vlax-vla-object->ename Function
392
1
Using Properties
393
1
Variants
393
1
The vlax-make-variant Function
394
1
The vlax-variant-type Function
395
1
The vlax-variant-value Function
395
1
The vlax-variant-change-type Function
396
1
The vlax-3D-point Function
396
1
Safearrays
397
1
The vlax-make-safearray Function
397
1
The vlax-safearray-put-element Function
398
1
The vlax-safearray-fill Function
399
1
An Example of Creating a VLA Object
399
1
The vlax-dump-object Function
400
1
Other ActiveX Functions
401
 
Command Functions
202
202
The vlax-add-cmd Function
402
1
The vlax-remove-cmd Function
403
1
The vlax-invoke-method Function
403
1
The vlax-product-key Function
404
1
Object Functions
404
4
The vlax-erased-p Function
404
1
The vlax-method-applicable-p Function
404
1
The vlax-typeinfo-available-p Function
404
1
The vlax-object-released-p Function
405
1
The vlax-release-object Function
405
1
The vlax-read-enabled-p Function
405
1
The vlax-write-enabled-p Function
406
1
The vlax-create-object Function
406
1
The vlax-get-object Function
406
1
The vlax-get-or-create-object Function
406
1
The vlax-import-type-library Function
407
1
The vlax-map-collection Function
408
1
The vlax-for Function
408
1
Dictionary Functions
408
2
The vlax-ldata-put Function
408
1
The vlax-ldata-get Function
409
1
The vlax-ldata-list Function
409
1
The vlax-ldata-delete Function
409
1
The vlax-ldata-test Function
410
1
Conversion Functions
410
2
The vlax-safearray-get-dim Function
410
1
The vlax-safearray-get-l-bound Function
410
1
The vlax-safearray-get-u-bound Function
411
1
The vlax-safearray-get-element Function
411
1
The vlax-safearray-type Function
411
1
The vlax-safearray->list Function
412
1
The vlax-tmatrix Function
412
1
Property Functions
412
1
The vlax-get-property Function
412
1
The vlax-put-property Function
413
1
The vlax-property-available-p Function
413
1
Curve Functions
413
6
The vlax-curve-getArea Function
414
1
The vlax-curve-getStartPoint Function
414
1
The vlax-curve-getEndPoint Function
414
1
The vlax-curve-getPointAtDist Function
414
1
The vlax-curve-getDistAtPoint Function
415
1
The vlax-curve-getStartParam Function
415
1
The vlax-curve-getEndParam Function
415
1
The vlax-curve-getParamAtPoint Function
415
1
The vlax-curve-getPointAtParam Function
416
1
The vlax-curve-getParamAtDist Function
416
1
The vlax-curve-getDistAtParam Function
416
1
The vlax-curve-isClosed Function
416
1
The vlax-curve-isPeriodic Function
417
1
The vlax-curve-isPlanar Function
417
1
The vlax-curve-getClosestPointTo Function
417
1
The vlax-curve-getClosetPointToProjection Function
418
1
The vlax-curve-getFirstDeriv Function
418
1
The vlax-curve-getSecondDerive Function
418
1
Reactors
419
38
Classification of Reactors
419
1
The vlr-types Function
420
1
The vlr-reactors Function
421
1
The vlr-type Function
421
1
Reactors' Actions
421
1
The vlr-reaction-names Function
422
1
The vlr-beep-reaction Function
422
1
The vlr-trace-reaction Function
423
1
Creating Reactors
423
1
The vlr-acdb-reactor Function
424
1
The vlr-docmanager-reactor Function
425
1
The vlr-linker-reactor Function
426
1
The vlr-object-reactor Function
427
1
The vlr-editor-reactor Function
428
3
The vlr-command-reactor Function
431
1
The vlr-deepclone-reactor Function
431
1
The vlr-dwg-reactor Function
432
1
The vlr-dxf-reactor Function
433
1
The vlr-insert-reactor Function
434
1
The vlr-lisp-reactor Function
435
1
The vlr-miscellaneous-reactor Function
436
1
The vlr-mouse-reactor Function
437
1
The vlr-sysvar-reactor Function
438
1
The vlr-toolbar-reactor Function
438
1
The vlr-undo-reactor Function
439
2
The vlr-wblock-reactor Function
441
1
The vlr-window-reactor Function
442
1
The vlr-xref-reactor Function
443
4
The vlr-reaction-set Function
447
1
Operations on Reactors
448
1
The vlr-reactions Function
448
1
The vlr-remove Function
448
1
The vlr-remove-all Function
449
1
The vlr-add Function
449
1
The vlr-added-p Function
449
1
The vlr-current-reaction-name Function
449
1
The vlr-data Function
450
1
The vlr-data-set Function
450
1
The vlr-owner-add Function
450
1
The vlr-owner-remove Function
450
1
The vlr-owners Function
451
1
The vlr-notification Function
451
1
The vlr-set-notification Function
451
1
Transient and Persistent Reactors
451
1
The vlr-pers Function
452
1
The vlr-pers-release Function
452
1
The vlr-pers-p Function
452
1
The vlr-pers-list Function
453
1
Some Basic Rules for Using Reactors
453
1
An Example of Creating a Reactor
454
3
Some Special Features of AutoCAD 2000i and AutoCAD 2002
457
8
The AutoCAD Today Dialog
458
4
AutoCAD Standards
462
3
Appendix 1. The Main Support Files Used in Customizing
465
4
Appendix 2. The Standard Version of the acad.pgp File
469
10
Appendix 3. The acad.mnu File
479
16
Appendix 4. List of AutoLISP Functions
495
22
Appendix 5. The divpts Function
517
4
Appendix 6. The mapko Function
521
6
Appendix 7. The xdapp Function
527
4
Appendix 8. The setlout Function
531
6
Appendix 9. The al_vps Function
537
6
Appendix 10. The vl_fs Function
543
6
Appendix 11. The ffp and flp Functions
549
8
Appendix 12. DXF Codes of AutoCAD Entities
557
16
Appendix 13. List of Diesel Functions
573
6
Index
579