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