LISP Compatibility
LISP Compatibility
Functions Unique to progeCAD LISP
The following functions are unique to the implementation of LISP included with progeCAD:
| Function | Comments | 
|---|---|
| Lpad | Pads a text string with spaces to the left. | 
| Rpad | Pads a text string with spaces to the right. | 
| Tan | Returns the tangent. | 
| Trim | Trims spaces from a string. | 
LISP-Compatible Functions with Enhanced Features
The following LISP functions in progeCAD have enhanced features.
Osnap in progeCAD supports these additional entity snap modes:
| Mode | Meaning | 
|---|---|
| "po" | POint | 
| "pla" | PLAnview (2D intersection) | 
| "vis" | VISible (apparent intersection) | 
The functions ssget and ssadd in progeCAD recognize these additional selection set parameters:
| Mode | Meaning | Points | Example | 
|---|---|---|---|
| "CC" | Crossing Circle | point1 point2 | (ssget "CC" '(1 1) '(2 2)) | 
| "O" | Outside | points-list | (ssget "O" ptlist) | 
| "OC" | Outside Circle | point1 point2 | (ssget "OC" '(1 1) '(2 2)) | 
| "OP" | Outside Polygon | points-list | (ssget "OP" ptlist) | 
| "PO" | POint | point1 | (ssget "PO" '(1 1)) | 
Functions Partially Compatible with LISP in Other CAD Systems
The following function is partially compatible with the LISP found in other CAD systems:
| Function | Comments | 
|---|---|
| menucmd | progeCAD supports P0 (cursor menu), P1 through P16 (the pulldown menus), and M (diesel expressions). progeCAD does not support A (aux menus), B (button menus), I (icon menus), S (screen menu), or T (tablet menus). | 
Functions Not Supported by progeCAD
progeCAD does not support the following functions found in other CAD systems: arx, arxload, arxunload, autoarxload, entgetx, initdia, ssnamex, and tablet.
Undocumented Functions Supported by progeCAD
The following functions are supported by progeCAD but are not yet documented: VL-ACAD-DEFUN, VL-ACAD-UNDEFUN, VL-ARX-IMPORT, VLAX-3D-POINT, VLAX-ADD-CMD, VLAX-CREATE-OBJECT, VLAX-CURVE-GETAREA, VLAX-CURVE-GETCLOSESTPOINTTO, VLAX-CURVE-GETCLOSESTPOINTTOPROJECTION, VLAX-CURVE-GETDISTATPARAM, VLAX-CURVE-GETDISTATPOINT, VLAX-CURVE-GETENDPARAM, VLAX-CURVE-GETENDPOINT, VLAX-CURVE-GETFIRSTDERIV, VLAX-CURVE-GETPARAMATDIST, VLAX-CURVE-GETPARAMATPOINT, VLAX-CURVE-GETPOINTATDIST, VLAX-CURVE-GETPOINTATPARAM, VLAX-CURVE-GETSECONDDERIV, VLAX-CURVE-GETSTARTPARAM, VLAX-CURVE-GETSTARTPOINT, VLAX-CURVE-ISCLOSED, VLAX-CURVE-ISPERIODIC, VLAX-CURVE-ISPLANAR, VLAX-DUMP-OBJECT, VLAX-ENAME->VLA-OBJECT, VLAX-ERASED-P, VLAX-FOR, VLAX-GET, VLAX-GET-ACAD-OBJECT, VLAX-GET-OBJECT, VLAX-GET-OR-CREATE-OBJECT, VLAX-GET-PROPERTY, VLAX-IMPORT-TYPE-LIBRARY, VLAX-INVOKE, VLAX-INVOKE-METHOD, VLAX-LDATA-DELETE, VLAX-LDATA-GET, VLAX-LDATA-LIST, VLAX-LDATA-PUT, VLAX-LDATA-TEST, VLAX-MAKE-SAFEARRAY, VLAX-MAKE-VARIANT, VLAX-MAP-COLLECTION, VLAX-METHOD-APPLICABLE-P, VLAX-OBJECT-RELEASED-P, VLAX-PRODUCT-KEY, VLAX-PROPERTY-AVAILABLE-P, VLAX-PUT, VLAX-PUT-PROPERTY, VLAX-READ-ENABLED-P, VLAX-RELEASE-OBJECT, VLAX-REMOVE-CMD, VLAX-SAFEARRAY->LIST, VLAX-SAFEARRAY-FILL, VLAX-SAFEARRAY-GET-DIM, VLAX-SAFEARRAY-GET-ELEMENT, VLAX-SAFEARRAY-GET-L-BOUND, VLAX-SAFEARRAY-GET-U-BOUND, VLAX-SAFEARRAY-PUT-ELEMENT, VLAX-SAFEARRAY-TYPE, VLAX-TMATRIX, VLAX-TYPEINFO-AVAILABLE-P, VLAX-VARIANT-CHANGE-TYPE, VLAX-VARIANT-TYPE, VLAX-VARIANT-VALUE, VLAX-VBARRAY, VLAX-VBBOOLEAN, VLAX-VBDOUBLE, VLAX-VBEMPTY, VLAX-VBINTEGER, VLAX-VBLONG, VLAX-VBNULL, VLAX-VBOBJECT, VLAX-VBSINGLE, VLAX-VBSTRING, VLAX-VBVARIANT, VLAX-VLA-OBJECT->ENAME, VLAX-WRITE-ENABLED-P, VL-BB-REF, VL-BB-SET, VL-CATCH-ALL-APPLY, VL-CATCH-ALL-ERROR-MESSAGE, VL-CATCH-ALL-ERROR-P, VL-CMDF, VL-CONSP, VL-DIRECTORY-FILES, VL-DOC-EXPORT, VL-DOC-IMPORT, VL-DOC-REF, VL-DOC-SET, VL-EVERY, VL-EXIT-WITH-ERROR, VL-EXIT-WITH-VALUE, VL-FILE-COPY, VL-FILE-DELETE, VL-FILE-DIRECTORY-P, VL-FILENAME-BASE, VL-FILENAME-DIRECTORY, VL-FILENAME-EXTENSION, VL-FILENAME-MKTEMP, VL-FILE-RENAME, VL-FILE-SIZE, VL-FILE-SYSTIME, VL-GET-RESOURCE, VLISP-COMPILE, VL-LIST*, VL-LIST->STRING, VL-LIST-EXPORTED-FUNCTIONS, VL-LIST-LENGTH, VL-LIST-LOADED-VLX, VL-LOAD-ALL, VL-LOAD-COM, VL-LOAD-REACTORS, VL-MEMBER-IF, VL-MEMBER-IF-NOT, VL-MKDIR, VL-POSITION, VL-PRIN1-TO-STRING, VL-PRINC-TO-STRING, VL-PROPAGATE, VLR-ACDB-REACTOR, VLR-ADD, VLR-ADDED-P, VLR-BEEP-REACTION, VLR-COMMAND-REACTOR, VLR-CURRENT-REACTION-NAME, VLR-DATA, VLR-DATA-SET, VLR-DEEPCLONE-REACTOR, VLR-DOCMANAGER-REACTOR, VLR-DWG-REACTOR, VLR-DXF-REACTOR, VLR-EDITOR-REACTOR, VL-REGISTRY-DELETE, VL-REGISTRY-DESCENDENTS, VL-REGISTRY-READ, VL-REGISTRY-WRITE, VL-REMOVE, VL-REMOVE-IF, VL-REMOVE-IF-NOT, VLR-INSERT-REACTOR, VLR-LINKER-REACTOR, VLR-LISP-REACTOR, VLR-MISCELLANEOUS-REACTOR, VLR-MOUSE-REACTOR, VLR-NOTIFICATION, VLR-OBJECT-REACTOR, VLR-OWNER-ADD, VLR-OWNER-REMOVE, VLR-OWNERS, VLR-PERS, VLR-PERS-LIST, VLR-PERS-P, VLR-PERS-RELEASE, VLR-REACTION-NAMES, VLR-REACTIONS, VLR-REACTION-SET, VLR-REACTORS, VLR-REMOVE, VLR-REMOVE-ALL, VLR-SET-NOTIFICATION, VLR-SYSVAR-REACTOR, VLR-TOOLBAR-REACTOR, VLR-TRACE-REACTION, VLR-TYPE, VLR-TYPES, VLR-UNDO-REACTOR, VLR-WBLOCK-REACTOR, VLR-WINDOW-REACTOR, VLR-XREF-REACTOR, VL-SOME, VL-SORT, VL-SORT-I, VL-STRING->LIST, VL-STRING-ELT, VL-STRING-LEFT-TRIM, VL-STRING-MISMATCH, VL-STRING-POSITION, VL-STRING-RIGHT-TRIM, VL-STRING-SEARCH, VL-STRING-SUBST, VL-STRING-TRANSLATE, VL-STRING-TRIM, VL-SYMBOL-NAME, VL-SYMBOLP, VL-SYMBOL-VALUE, VL-UNLOAD-VLX, VL-VBALOAD, VL-VBARUN, VL-VLX-LOADED-P.
Tell me about...
Copying Code Examples from the progeCAD Developer Reference
Programming Overview of LISP (LISt Processing) Language
 
                         en
  en italiano
 italiano čeština
 čeština Deutsch
 Deutsch français
 français hrvatski
 hrvatski magyar
 magyar polski
 polski српски
 српски русский
 русский 中文
 中文 中文
 中文 한국어
 한국어 español
 español