VL Reference Chart
VL Reference Chart
VL Reference Chart
(if testexpr thenexpr [elseexpr] ) (or [expr ...] ) Arithmetic (repeat int [expr ...] ) (+ [number number] ) (while testexpr [expr ...] ) (- [number number] ) Error-Handling (* [number number] ) (alert string) (/ [number number] ...) (*error* string) (~ int) (exit) (1+ number) (quit) (1- number) (vl-catch-all-apply 'function list) (abs number) (vl-catch-all-error-message error-obj) (atan num1 [num2] ) (vl-catch-all-error-p arg) (cos ang) Symbol-Handling (exp number) (atom item) (expt base power) (atoms-family format [symlist] ) (fix number) (boundp sym) (float number) (not item) (gcd int1 int2) (null item) (log number) (numberp item) (logand int int ...) (quote expr) (logior int int ...) (set sym expr) (lsh int numbers) (setq sym1 expr1 [sym2 expr2] ...) (max number number ...) (type item) (min number number ...) (vl-symbol-name symbol) (minusp number) (vl-symbol-value symbol) (rem num1 num2 ...) (vl-symbolp object) (sin ang) List Manipulation (sqrt number) (acad_strlsort list) (zerop number) (append list ...) String-Handling (assoc item alist) (read [string] ) (car list) (strcase string [which] ) (cdr list) (strcat string1 string2 ...) (cons new-first-element list) (strlen [string] ...) (foreach name list [expr ...] ) (substr string start [length] ) (last list) (vl-prin1-to-string object) (length list) (vl-princ-to-string object) (list [expr ...] ) (vl-string-elt string position) (listp item) (vl-string-left-trim char-set string) (mapcar function list1 ... listn) (vl-string-mismatch str1 str2 [pos1 pos2 (member expr list) ignore-case-p] ) (nth n list) (vl-string-position char-code str [start-pos (reverse list) [from-end-p]] ) (subst newitem olditem list) (vl-string-right-trim char-set string) (vl-consp list-variable) (vl-string-search pattern string [start-pos] ) (vl-every predicate-func list [more-lists] ...) (vl-string-subst new-str pattern str [start(vl-list* object [more-objects] ...) pos] ) (vl-list->string char-codes-list) (vl-string-translate source-set dest-set str) (vl-list-length list-or-cons-object) (vl-string-trim char-set string) (vl-member-if predicate-function list) (vl-string->list string) (vl-member-if-not predicate-func list) (wcmatch string pattern) (vl-position symbol list) Equality & Conditional (vl-remove element-to-remove list) (= numstr [numstr] ...) (vl-remove-if predicate-func list) (/= numstr [numstr] ...) (vl-remove-if-not predicate-func list) (< numstr [numstr] ...) (vl-some predicate-func list [more-lists] ...) (<= numstr [numstr] ...) (vl-sort list less?-func) (> numstr [numstr] ...) (vl-sort-i list less?-func) (>= numstr [numstr] ...) (vl-string->list string) (and [expr ...] ) Function-Handling (Boole func int1 [int2 ...] ) (apply function list) (cond [(test result ...) ...] ) (defun sym ([args] [/ variables]) expr ...) (eq expr1 expr2) (defun-q sym ([args] [/ variables]) expr ...) (equal expr1 expr2 [fuzz] )
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008. (ssget [mode] [pt1 [pt2]] [pt-list] [filterlist]) (ssgetfirst) (sslength ss) (ssmemb ename ss) (ssname ss index) (ssnamex ss index) (sssetfirst gripset [pickset]) Object (Entity)-Handling (entdel ename) (entget ename [applist]) (entlast) (entmake [elist]) (entmakex [elist]) (entmod elist) (entnext [ename]) (entupd ename) (handent handle) (vlax-dump-object obj [T])COM (vlax-erased-p obj)COM (vlax-get-acad-object)COM (vlax-method-applicable-p obj method)COM (vlax-object-released-p obj)COM (vlax-read-enabled-p obj)COM (vlax-release-object obj)COM (vlax-typeinfo-available-p obj)COM (vlax-write-enabled-p obj)COM Extended Data-Handling (regapp application) (xdroom ename) (xdsize lst) Symbol Table & Dictionary-Handling (dictadd ename symbol newobj) (dictnext ename symbol [rewind]) (dictremove ename symbol) (dictrename ename oldsym newsym) (dictsearch ename oldsym newsym) (layoutlist) (namedobjdict) (setview view-desc [vport-id]) (snvalid symname) (tblnext table-name [rewind]) (tblobjname table-name symbol) (tblsearch table-name symbol [setnext]) (vlax-ldata-delete dict key)COM (vlax-ldata-get dict key [default-data])COM (vlax-ldata-list dict)COM (vlax-ldata-put dict key data)COM (vlax-ldata-test data)COM (vlr-beep-reaction [args] ) (vlr-command-reactor data callbacks)A02 (vlr-current-reaction-name) (vlr-data obj) (vlr-data-set obj data) (vlr-deepclone-reactor data callbacks)A02 (vlr-docmanager-reactor data callbacks)A02 (vlr-dwg-reactor data callbacks)A02 (vlr-dxf-reactor data callbacks)A02 (vlr-editor-reactor data callbacks) (vlr-insert-reactor data callbacks)A02 (vlr-linker-reactor data callbacks) (vlr-lisp-reactor data callbacks)A02 (vlr-miscellaneous-reactor data callbacks)A02 (vlr-mouse-reactor data callbacks)A02 (vlr-notification reactor)A02 (vlr-object-reactor owners data callbacks) (vlr-owner-add reactor owner) (vlr-owner-remove reactor owner) (vlr-owners reactor) (vlr-pers reactor) (vlr-pers-p reactor) (vlr-pers-release reactor) (vlr-reaction-names reactor-type) (vlr-reaction-set reactor event function) (vlr-reactions reactor) (vlr-reactors reactor-type) (vlr-remove reactor) (vlr-remove-all reactor-type) (vlr-set-notification reactor 'range)A02 (vlr-sysvar-reactor data callbacks)A02 (vlr-toolbar-reactor data callbacks)A02 (vlr-trace-reaction arguments) (vlr-type reactor) (vlr-types) (vlr-undo-reactor data callbacks)A02 (vlr-wblock-reactor data callbacks)A02 (vlr-window-reactor data callbacks)A02 (vlr-xref-reactor data callbacks)A02 (vl-registry-descendents reg-key [valnames]) (vl-registry-read reg-key [val-name]) (vl-registry-write reg-key [val-name valdata]) (vlax-product-key)COM
Page 1/2
This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Basic Functions
(defun-q-list-ref 'function) (defun-q-list-set 'sym list) (eval expr) (lambda arguments expr ...) (progn [expr] ...) (trace function ...) (untrace function ...) Application-Handling (arx) (arxload application [onfailure]) (arxunload application [onfailure]) (autoarxload filename cmdlist) (autoload filename cmdlist) (initdia [diaglogflag] ) (load filename [onfailure]) (startapp appcmd file) (vl-load-all filename) (vl-vbaload filename) (vl-vbarun macroname) (vlax-add-cmd global-name 'func-sym [local-name cmd-flags])COM
Utility Functions
Query & Command (acad_colordlg colornum [flag]) (acad_helpdlg helpfile topic) (command [arguments] ...) (getcfg cfgname) (getcname cname) (getenv "variable-name") (getvar varname) (help [helpfile [topic [command]]]) (setcfg cfgname cfgval) (setenv "varname" "value") (setfunhelp "c:fname" ["helpfile" ["topic" ["command"]]]) (setvar varname value) (ver) (vl-cmdf [arguments] ...) (vlax-add-cmd global-name 'func-sym [local-name cmd-flags])COM (vlax-remove-cmd global-name)COM Display Control (graphscr) (grdraw from to color [highlight]) (grtext [box text [highlight]]) (grvecs vlist [trans]) (menucmd string) (menugroup groupname) (prin1 [expr [file-desc]]) (princ [expr [file-desc]]) (print [expr [file-desc]]) (prompt msg) (redraw [ename [mode]]) (terpri) (textpage) (textscr) (vports) User Input (entsel [msg]) (getangle [pt] [msg]) (getcorner pt [msg]) (getdist [pt] [msg])
(getfiled title default ext flags) (getint [msg]) (getkword [msg]) (getorient [pt] [msg]) (getpoint [pt] [msg]) (getreal [msg]) (getstring [cr] [msg]) (initget [bits] [string]) (nentsel [msg]) (nentselp [msg] [pt]) Geometric (angle pt1 pt2) (distance pt1 pt2) (inters pt1 pt2 pt3 pt4 [onseg]) (osnap pt mode) (polar pt angle dist) (textbox elist) Conversion (angtof string [mode]) (angtos angle [mode [precision]]) (ascii string) (atof string) (atoi string) (chr integer) (cvunit value from to) (distof string [mode]) (itoa int) (rtos number [mode [precision]]) (trans pt from to [disp]) Device Access (grread [track] [allkeys [curtype]]) (tablet code [row1 row2 row3 direction]) File-Handling (close file-desc) (findfile filename) (open filename mode) (read-char [file-desc]) (read-line [file-desc]) (vl-directory-files [directory pattern directories]) (vl-file-copy "source-filename" "destfilename" [append?]) (vl-file-delete "filename") (vl-file-directory-p "filename") (vl-file-rename "old-filename" "newfilename") (vl-file-size "filename") (vl-file-systime "filename") (vl-filename-base "filename") (vl-filename-directory "filename") (vl-filename-extension "filename") (vl-filename-mktemp ["pattern" "directory" "extension"]) (write-char num [file-desc]) (write-line string [file-desc])
(vlax-curve-getDistAtParam curve-obj param) (vlax-curve-getDistAtPoint curve-obj pt) (vlax-curve-getEndParam curve-obj) (vlax-curve-getEndPoint curve-obj) (vlax-curve-getParamAtDist curve-obj param) (vlax-curve-getParamAtPoint curve-obj pt) (vlax-curve-getPointAtDist curve-obj dist) (vlax-curve-getPointAtParam curve-obj param) (vlax-curve-getStartParam curve-obj) (vlax-curve-getStartPoint curve-obj) (vlax-curve-isClosed curve-obj) (vlax-curve-isPeriodic curve-obj) (vlax-curve-isPlanar curve-obj) (vlax-curve-getClosestPointTo curve-obj givenPt [extend]) (vlax-curve-getClosestPointToProjection curve-obj givenPt normal [extend]) (vlax-curve-getFirstDeriv curve-obj param) (vlax-curve-getSecondDeriv curve-obj param) Dictionary (vlax-ldata-delete dict key) (vlax-ldata-get dict key [default-data]) (vlax-ldata-list dict) (vlax-ldata-put dict key data) (vlax-ldata-test data) Notes: To refresh (the display of) an object after updating its property, issue this command: (vla-update object) All ActiveX and VBA predefined constants can be used in VLISP expressions. For example: (vla-putcolor mycircle acRed). See ActiveX and VBA Reference and Connectivity Automation Reference.
LEGENDS
ItemA02 New in ACAD 2002 ItemA04 New in ACAD 2004 ItemCOM Requires (vl-load-com)
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008. (c:lslib mode [options]) (c:lsnew obj-type height position alignment) (c:matlib mode name [file]) (mirror3d arg1 arg2 ...) (c:render [filename | pt1 pt2]) (c:renderupdate [RU-value]) (c:replay filename type [xoff yoff xsize ysize]) (c:rmat mode options) (rotate3d args ...) (c:rpref mode option [setting]) (c:saveimg filename type [portion] [xoff yoff xsize ysize] [compression]) (c:scene mode [options]) (c:setuv mode options) (c:showmat arg) (c:solprof args) (c:stats [filename | nil]) _PKSER: package serial number TDCREATE: date/time, in Julian day format, when the drawing is created TDINDWG: time in days that the drawing has been worked on TEXTSTYLE: current text style name UCSNAME: UCS name UNITMODE: 0 (default): loose; 1: compact.
Page 2/2
This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
DWG reactor events :vlr-beginClose :vlr-databaseConstructed :vlr-databaseToBeDestroyed :vlr-beginDwgOpen1 :vlr-endDwgOpen1 :vlr-dwgFileOpened1 :vlr-beginSave2 :vlr-saveComplete3
Callback args: reactor obj, list of extra data. Callback data: string: file to open string: default file name for save. 3 string: actual file name used for save.
1 2
integer: the HWND of the window; T/nil: whether the window has been moved or resized.
Callback data: string: the sysvar name. string: the sysvar name; T/nil: whether the changed was successful.
XREF reactor events :vlr-beginAttach1 :vlr-otherAttach2 :vlr-abortAttach3 :vlr-endAttach4 :vlr-redirected5 :vlr-comandeered6 :vlr-beginRestore7 :vlr-abortRestore8 :vlr-endRestore8 :vlr-xrefSubcommandBindItem9 :vlr-xrefSubcommandAttachItem10 :vlr-xrefSubcommandOverlayItem11 :vlr-xrefSubcommandDetachItem12 :vlr-xrefSubcommandPathItem13 :vlr-xrefSubcommandReloadItem14 :vlr-xrefSubcommandUnloadItem15
Callback args: reactor obj, list of extra data. Callback data: VLA-obj: target drawing db; string: filename of the xref; VLA-obj: source drawing db. 2 VLA-obj: target drawing db; VLA-obj: source drawing db. 3 VLA-obj: source drawing db (contains the objs being attached). 4 VLA-obj: target drawing db. 5 integer: obj ID for the redirected symbol table record (STR) in the drawing XREFed to; integer: object ID for the object in the xref drawing. 6 VLA-obj: target db; integer: object ID; VLA-obj: source drawing db. 7 VLA-obj: target drawing db; string: XREF block tbl record (BTR) name; VLA-obj: source drawing db. 8 VLA-obj: target drawing db. 9 integer: activity the BIND is carrying out. Values: 0- BIND subcmd invoked. 2- xref with indicated obj ID is begin bound. 3- xref with indicated obj ID was successfully bound. 4- BIND subcmd completed. 5- BIND operation is about to terminated or fail. 6- BIND operation has terminated or failed. 7- Sent for XDep block bound by XBind. 8- Sent for all other symbols: Layers, Linetypes, TextStyles, and DimStyles. integer: obj ID for the xref being bound, or 0 if not applicable. 10 integer: activity the ATTACH is carrying out. Possible values are 0, 2-6, see above. string: file being attached, or nil if not applicable. 11 integer: activity the OVERLAY is carrying out. Possible values are 0, 2-6, see above. string: file being overlaid, or nil if not applicable. 12 integer: activity the DETACH is carrying out. Possible values are 0, 2-6, see above. string: file being detached, or nil if not applicable. 13 integer: activity the OVERLAY is carrying out. Possible values are 0, 2-6, see above. integer: obj ID of the xref being operated on, or 0 if not applicable; string: new path name of the xref, or nil if not applicable. 14 integer: activity the RELOAD is carrying out. Possible values are 0, 2-6, see above. integer: obj ID of the xref being reloaded, or 0 if not applicable. 15 integer: activity the UNLOAD is carrying out. Possible values are 0, 2-6, see above. string: obj ID of the xref being unloaded, or 0 if not applicable.
1
Undo reactor events :vlr-undoSubcommandAuto1 :vlr-undoSubcommandControl2 :vlr-undoSubcommandBegin3 :vlr-undoSubcommandEnd3 :vlr-undoSubcommandMark3 :vlr-undoSubcommandBack3 :vlr-undoSubcommandNumber4
Callback args: reactor obj, list of extra data. Callback data: integer: the activity (always 4); symbol: the state of Auto mode. T if turned on. 2 integer: the activity (always 4); integer: selected Control option. Possible values: 0- NONE was selected 1- ONE was selected 2- ALL was selected 3 integer: always 0. 4 integer: the activity (always 0); integer: the number of steps being undone.
1
DocManager reactor events :vlr-documentCreated1 :vlr-documentToBeDestroyed1 :vlr-documentLockModeWillChange3 :vlr-documentLockModeChangeVetoed2 :vlr-documentLockModeChanged3 :vlr-documentBecameCurrent1 :vlr-documentToBeActivated1 :vlr-documentToBeDeactivated1
Callback args: reactor obj, list of extra data. Callback data: VLA-obj: the affected doc obj. 2 VLA-obj: the affected doc obj; string: global cmd string passed in. Prefixed with "#" if the callback is being made on behalf of an unlock request. 3 VLA-obj: the affected doc obj; integer: lock in effect; integer: lock mode after the lock is applied; integer: strongest lock mode from all other exec contexts; string: global cmd string passed in. Prefixed with "#" if it is an unlock request. Lock modes are: 1- Auto Write Lock 2- Not Locked
1
Callback data: string: the 1st line of the AutoLISP exp to eval.
Wblock reactor events :vlr-wblockNotice1 :vlr-beginWblockPt2 :vlr-beginWblockId3 :vlr-beginWblock4 :vlr-otherWblock4 :vlr-abortWblock5 :vlr-endWblock5 :vlr-beginWblockObjects6
Callback args: reactor obj, list of extra data. Callback data: VLA-obj: db object from which the block will be created. VLA-obj: the target db; VLA-obj: the source db; 3D pt list: the base point in the target db, in WCS. 3 VLA-obj: the target db; VLA-obj: the source db; object ID of the block TableRecord being wblocked. 4 VLA-obj: the target database; VLA-obj: the source database. 5 VLA-obj: the target database. 6 VLA-obj: the source database; ID map.
1 2
1000 String. A string up to 255 bytes. 1001 Application name. A string up to 31 bytes. It is the beginning of a new application extended data group. 1002 Control string. A string, either "{" or "}". 1003 Layer name. A string. 1004 Binary data, up to 127 bytes. In VLAX Variant Types & Assoc. ASCII DXF files, binary data is LISP Datatype represented as a string of hexadecimal digits, two per binary 0 vlax-vbEmpty nil byte. 1 vlax-vbNull :vlax-null 1005 Database handle. Refers to 2 vlax-vbInteger integer another entity. 3 vlax-vbLong 1010, 1020, 1030 Three real values, in 4 vlax-vbSingle the order X, Y, Z. Never altered. 5 vlax-vbDouble real 1011, 1021, 1031 World space position. 8 vlax-vbString string A 3D point to be altered. 9 vlax-vbObject VLA-object 1012, 1022, 1032 World space 11 vlax-vbBoolean :vlax-true/false displacement. A 3D point to be 8192+n vlax-vbArray vlax safearray altered. 1013, 1023, 1033 World direction. A 3D point to be altered. System Variables 1040 Real. A real value. ACADVER: ACAD version 1041 Distance. A real value that is ANGBASE: base angle orientation scaled along with the parent entity. AUNITS, AUPREC: angle unit style and 1042 Scale factor. A real value that is precision. Values are: scale along with the parent. 0- Degrees 1070 Integer. A 16-bit integer (signed or 1- Degrees/Minutes/Seconds unsigned). 2- Grads 1071 Long. A 32-bit integer. 3- Radians Example: 4- Surveyor's units (-3 CDATE: system date/time in readable ("AppName1" (1000 . "HATCH") (1002 . "{") (1070 . 16) (1000 . "LINE") (1040 . 1.0) format (1040 . 0.0) (1002 . "}")) CLAYER: current layer name ("AppName2" (...)) ) ; end of xdata CMDACTIVE: whether a cmd is active? CMDECHO: whether cmd echo is on? XRecord Group Codes CMDNAMES: cmd names currectly 100 Subclass marker (AcDbXrecord) active CTAB: current (model/space layout) tab 1-369 (excfept 5 and 105) Can be used in any way. DATE: system date/time in comp format DWGNAME: drawing name DWGPREFIX: folder where drawing is located EXPERT: expert mode LUNITS, LUPREC: non-angle number unit style and precision. Values are: 1- Scientific notation 2- Decimal 3- Engineering (ft & dec. in.) 4- Architectural (ft. & frac. in.) 5- Fractions OSMODE: object snap modes (bitencoded integer)