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
italiano
čeština
Deutsch
français
hrvatski
magyar
polski
српски
русский
中文
中文
한국어
español