Professional Documents
Culture Documents
Visual LISP Functions Reference Chart 2000-2004 A4
Visual LISP Functions Reference Chart 2000-2004 A4
1/4
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008.
(cond [(test result ...) ...] )
(eq expr1 expr2)
Arithmetic
(equal expr1 expr2 [fuzz] )
(+ [number number] )
(if testexpr thenexpr [elseexpr] )
(- [number number] )
(or [expr ...] )
(* [number number] )
(repeat
int [expr ...] )
(/ [number number] ...)
(while testexpr [expr ...] )
(~ int)
Error-Handling
(1+ number)
(alert string)
(1- number)
(*error* string)
(abs number)
(exit)
(atan num1 [num2] )
(quit)
(cos ang)
(vl-catch-all-apply 'function list)
(exp number)
(vl-catch-all-error-message error-obj)
(expt base power)
(vl-catch-all-error-p arg)
(fix number)
Symbol-Handling
(float number)
(atom item)
(gcd int1 int2)
(atoms-family format [symlist] )
(log number)
(boundp sym)
(logand int int ...)
(not item)
(logior int int ...)
(null item)
(lsh int numbers)
(numberp item)
(max number number ...)
(quote expr)
(min number number ...)
(set sym expr)
(minusp number)
(setq sym1 expr1 [sym2 expr2] ...)
(rem num1 num2 ...)
(type
item)
(sin ang)
(vl-symbol-name
symbol)
(sqrt number)
(vl-symbol-value
symbol)
(zerop number)
(vl-symbolp object)
String-Handling
List Manipulation
(read [string] )
(acad_strlsort list)
(strcase string [which] )
(append list ...)
(strcat string1 string2 ...)
(assoc item alist)
(strlen [string] ...)
(car list)
(substr string start [length] )
(cdr list)
(vl-prin1-to-string object)
(cons new-first-element list)
(vl-princ-to-string object)
(foreach name list [expr ...] )
(vl-string-elt string position)
(last list)
(vl-string-left-trim char-set string)
(vl-string-mismatch str1 str2 [pos1 pos2 (length list)
(list [expr ...] )
ignore-case-p] )
(vl-string-position char-code str [start-pos (listp item)
[from-end-p]] )
(mapcar function list1 ... listn)
(vl-string-right-trim char-set string)
(member expr list)
(vl-string-search pattern string [start(nth n list)
pos] )
(reverse list)
(vl-string-subst new-str pattern str [start- (subst newitem olditem list)
pos] )
(vl-consp list-variable)
(vl-string-translate source-set dest-set str) (vl-every predicate-func list [more-lists] ...)
(vl-string-trim char-set string)
(vl-list* object [more-objects] ...)
(vl-string->list string)
(vl-list->string char-codes-list)
(wcmatch string pattern)
(vl-list-length list-or-cons-object)
Equality & Conditional
(vl-member-if predicate-function list)
(= numstr [numstr] ...)
(vl-member-if-not predicate-func list)
(/= numstr [numstr] ...)
(vl-position symbol list)
(< numstr [numstr] ...)
(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] ...)
(and [expr ...] )
(vl-sort list less?-func)
(Boole func int1 [int2 ...] )
(vl-sort-i list less?-func)
Basic Functions
(vl-string->list string)
Function-Handling
(apply function list)
(defun sym ([args] [/ variables]) expr ...)
(defun-q sym ([args] [/ variables]) expr ...)
(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"])
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.
2/4
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008.
(write-char num [file-desc])
(write-line string [file-desc])
(expand number)
(gc)
(mem)
:properties-prefix pprefix
:constants-prefix cprefix])
(vlax-method-applicable-p obj method)
Selection Set, Object &
(vl-bb-ref 'variable)
(vlax-object-released-p obj)
Reactor Functions COM
Symbol Table Functions
(vl-bb-set 'variable value)
(vlax-read-enabled-p
obj)
(vl-load-com)
(vl-load-all "filename")
Selection Set Manipulation
(vlax-release-object
obj)
(vlr-acdb-reactor data callbacks)
(vl-propagate 'variable)
(ssadd [ename [ss]])
(vlax-typeinfo-available-p obj)
(vlr-add
obj)
(ssdel ename ss)
Windows Registry Functions
(vlax-write-enabled-p obj)
(vlr-added-p obj)
(ssget [mode] [pt1 [pt2]] [pt-list] [filter(vl-registry-delete reg-key [val-name])
Curve Measurement
(vlr-beep-reaction
[args]
)
list])
(vl-registry-descendents reg-key [valA02
(vlax-curve-getArea curve-obj)
(vlr-command-reactor
data
callbacks)
(ssgetfirst)
names])
(vlax-curve-getDistAtParam curve-obj
(vlr-current-reaction-name)
(sslength ss)
(vl-registry-read reg-key [val-name])
param)
(vlr-data
obj)
(ssmemb ename ss)
(vl-registry-write reg-key [val-name val(vlax-curve-getDistAtPoint
curve-obj pt)
(vlr-data-set
obj
data)
(ssname ss index)
data])
A02
(vlax-curve-getEndParam
curve-obj)
(vlr-deepclone-reactor
data
callbacks)
COM
(ssnamex ss index)
(vlax-product-key)
(vlax-curve-getEndPoint curve-obj)
(vlr-docmanager-reactor data
(sssetfirst gripset [pickset])
Visual LISP Extensions to
callbacks)A02
(vlax-curve-getParamAtDist curve-obj
Object (Entity)-Handling
AutoLISP COM
param)
(vlr-dwg-reactor data callbacks)A02
(entdel ename)
Collection Manipulation
(vlax-curve-getParamAtPoint curve-obj
(vlr-dxf-reactor data callbacks)A02
(entget ename [applist])
pt)
(vlax-for sym collection [expr1 [expr2 ...]])
(vlr-editor-reactor data callbacks)
(entlast)
(vlax-curve-getPointAtDist curve-obj dist)
(vlax-map-collection obj function)
(vlr-insert-reactor data callbacks)A02
(entmake [elist])
(vlax-curve-getPointAtParam curve-obj
(vlr-linker-reactor data callbacks)
Data Conversion
(entmakex [elist])
param)
(vlr-lisp-reactor data callbacks)A02
(vlax-3D-point list)
(entmod elist)
(vlax-curve-getStartParam
curve-obj)
(vlr-miscellaneous-reactor data
(vlax-3D-point x y [z])
(entnext [ename])
(vlax-curve-getStartPoint
curve-obj)
callbacks)A02
(vlax-ename->vla-object entname)
(entupd ename)
(vlr-mouse-reactor data callbacks)A02
(vlax-make-safearray type '(l-bound . u- (vlax-curve-isClosed curve-obj)
(handent handle)
A02
(vlax-curve-isPeriodic curve-obj)
(vlr-notification
reactor)
bound) ['(l-bound . u-bound) ...])A02
(vlax-dump-object obj [T])COM
(vlax-curve-isPlanar curve-obj)
(vlr-object-reactor
owners
data
callbacks)
(vlax-make-variant value type)
(vlax-erased-p obj)COM
(vlax-curve-getClosestPointTo curve-obj
(vlr-owner-add
reactor
owner)
(vlax-safearray-fill
var
'element-value)
(vlax-get-acad-object)COM
givenPt [extend])
(vlr-owner-remove reactor owner)
(vlax-safearray-get-dim var)
(vlax-method-applicable-p obj
(vlax-curve(vlr-owners reactor)
(vlax-safearray-get-element var element)
method)COM
getClosestPointToProjection curve(vlr-pers
reactor)
(vlax-safearray-get-l-bound var dim)
(vlax-object-released-p obj)COM
obj givenPt normal [extend])
(vlr-pers-p reactor)
(vlax-safearray-get-u-bound var dim)
(vlax-read-enabled-p obj)COM
(vlax-curve-getFirstDeriv curve-obj
(vlr-pers-release reactor)
(vlax-safearray-put-element var element
(vlax-release-object obj)COM
param)
(vlr-reaction-names reactor-type)
value)
COM
(vlax-typeinfo-available-p obj)
(vlax-curve-getSecondDeriv curve-obj
(vlr-reaction-set reactor event function)
(vlax-safearray-type var)
param)
(vlax-write-enabled-p obj)COM
(vlr-reactions reactor)
(vlax-safearray->list var)
Dictionary
Extended Data-Handling
(vlr-reactors reactor-type)
(vlax-tmatrix list)
(vlax-ldata-delete dict key)
(regapp application)
(vlr-remove reactor)
(vlax-variant-change-type var type)
(vlax-ldata-get dict key [default-data])
(xdroom ename)
(vlr-remove-all reactor-type)
(vlax-variant-type var)
(vlax-ldata-list dict)
(xdsize lst)
A02
(vlr-set-notification reactor 'range)
(vlax-variant-value var)
(vlax-ldata-put dict key data)
Symbol Table & Dictionary-Handling (vlr-sysvar-reactor data callbacks)A02
(vlax-vla-object->ename obj)
(vlax-ldata-test data)
(dictadd ename symbol newobj)
A02
(vlr-toolbar-reactor data callbacks)
Method & Property-Handling
(dictnext ename symbol [rewind])
(vlr-trace-reaction arguments)
(vlax-invoke-method obj method list)
Notes:
(dictremove ename symbol)
(vlr-type reactor)
(vlax-method-applicable-p obj method)
To refresh (the display of) an object
(dictrename ename oldsym newsym)
(vlr-types)
(vlax-get-property obj property)
after updating its property, issue this
(dictsearch ename oldsym newsym)
(vlr-undo-reactor data callbacks)A02
(vlax-property-available-p obj prop [T])
command: (vla-update object)
(layoutlist)
(vlr-wblock-reactor data callbacks)A02
(vlax-put-property obj property arg)
All ActiveX and VBA predefined
(namedobjdict)
(vlr-window-reactor data callbacks)A02
(vla-method object arg1 arg2 ...)
constants can be used in VLISP
(setview view-desc [vport-id])
(vlr-xref-reactor data callbacks)A02
expressions. For example: (vla-put(vla-get-property object)
(snvalid symname)
color mycircle acRed). See ActiveX
VLX Namespace Functions
(vla-put-property object new-value)
(tblnext table-name [rewind])
and VBA Reference and
(vl-arx-import [function | application])
Object-Handling
(tblobjname table-name symbol)
Connectivity Automation Reference.
(vl-doc-export 'function)
(vlax-create-object "prog-id")
(tblsearch table-name symbol [setnext])
(vl-doc-import ['func | application])
(vlax-dump-object obj [T])
(vlax-ldata-delete dict key)COM
LEGENDS
(vl-doc-ref symbol)
(vlax-erased-p obj)
COM
(vlax-ldata-get dict key [default-data])
A02 New in ACAD 2002
Item
(vl-doc-set symbol value)
(vlax-get-acad-object)
(vlax-ldata-list dict)COM
ItemA04 New in ACAD 2004
(vl-exit-with-error "msg")
(vlax-get-object "prog-id")
COM
(vlax-ldata-put dict key data)
ItemCOM Requires (vl-load-com)
(vl-exit-with-value value)
(vlax-get-or-create-object "prog-id")
(vlax-ldata-test data)COM
(vl-list-exported-functions ["appname"]) (vlax-import-type-library
Memory Management
(vl-list-loaded-vlx)
:tbl-filename filename
Functions
(vl-unload-vlx)
[:methods-prefix mprefix
(alloc int)
(vl-vlx-loaded-p "appname")
Namespace Communication
Functions
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.
3/4
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008.
Callback data:
1 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:
Callback data:
1 string: the layout switched to.
Object events
:vlr-cancelled
:vlr-copied1
:vlr-erased
:vlr-unerased
:vlr-goodbye
:vlr-openedForModify
:vlr-modified
:vlr-subObjModified2
:vlr-modifiedUndone
:vlr-modifiedXData
:vlr-unappended
:vlr-reappended
:vlr-objectClosed
Callback args: owner, reactor obj, list of extra data.
Callback data:
1 ename: the object created by the copy operation.
2 ename: the sub-object that has been modified.
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.
4/4
Complied by Dr. June-Hao Hou <junehao@gmail.com>, Institute of Architecture, National Chiao Tung University, Taiwan. Last updated on 8/12/2008.
Externally Defined
Commands
(c:3dsin mode [multimat create] file)
(c:3dsout sset omode div smoth weld file)
(align arg1 arg2)
(c:cal expression)
(c:fog enabled [color [near-dist [far-dist
[near-percent [far-percent]]]]])
(c:light mode [options])
(c:lsedit mode [options])
(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])