TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: Kerry on November 28, 2006, 08:43:21 PM

Title: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 08:43:21 PM
These are SOME of the functions defined in Express and Bonus Tools

Who has  the function Definitions ??

ie
Purpose :
Parameters and types :
Side Effects :
Return Value :

I'll try to provide a link in this/these lists to each posted definition ..... lets see how long this takes :-)

The List < generated from AC2006 >:
Quote
ACADINFO                      (SUBR)
        ACADINFO.LSP :  c:acadinfo
ACETUCS-BACK                  (SUBR)
        RTUCS.LSP :  c:acetUcs-back
ACETUCS-BOTTOM                (SUBR)
        RTUCS.LSP :  c:acetUcs-bottom
ACETUCS-FRONT                 (SUBR)
        RTUCS.LSP :  c:acetUcs-front
ACETUCS-LEFT                  (SUBR)
        RTUCS.LSP :  c:acetUcs-left
ACETUCS-RIGHT                 (SUBR)
        RTUCS.LSP :  c:acetUcs-right
ACETUCS-TOP                   (SUBR)
        RTUCS.LSP :  c:acetUcs-top


ACAD-POP-DBMOD                (EXRXSUBR)
      ReferHelpFile:  (acad-pop-dbmod)
ACAD-PUSH-DBMOD               (EXRXSUBR)
      ReferHelpFile:  (acad-push-dbmod)
ACAD_COLORDLG                  (EXRXSUBR)                    Core
      ReferHelpFile:  (acad_colordlg colornum [flag])
ACAD_HELPDLG                  (SUBR)
      ReferHelpFile:  (acad_helpdlg helpfile topic)
ACAD_STRLSORT                 (EXRXSUBR)                    Core
      ReferHelpFile:  (acad_strlsort list)
ACAD_TRUECOLORCLI             (EXRXSUBR)
ACAD_TRUECOLORDLG             (EXRXSUBR)
ACDIMENABLEUPDATE             (EXRXSUBR)
ACET-ACAD-REFRESH             (SUBR)
ACET-ACADREACTOR-ID-ADD       (SUBR)
ACET-ACADREACTOR-ID-REMOVE    (SUBR)
ACET-ACADREACTOR-ID-REMOVE-ALL(SUBR)
ACET-ACADREACTOR-ID-SWAP      (SUBR)
ACET-ACADREACTOR-IDS-GET      (SUBR)
ACET-ADDGBINEXPRESS           (SUBR)
ACET-ALERT                    (SUBR)
ACET-ALT-VIEWPORT             (SUBR)
ACET-ANGLE-EQUAL              (SUBR)
ACET-ANGLE-FORMAT             (SUBR)
ACET-APPID-DELETE             (SUBR)
ACET-ARX-RE-LOAD              (SUBR)
ACET-ARXLOAD-OR-BUST          (SUBR)
ACET-AUTOLOAD                 (SUBR)
ACET-AUTOLOAD-APPLY           (SUBR)
ACET-AUTOLOAD-EXEC            (SUBR)
ACET-AUTOLOAD2                (SUBR)
ACET-BLINK-AND-SHOW-OBJECT    (SUBR)
ACET-BLOCK-MAKE-ANON          (SUBR)
ACET-BLOCK-PURGE              (SUBR)
ACET-BS-STRIP                 (SUBR)
ACET-CALC-BITLIST             (SUBR)
ACET-CALC-ROUND               (SUBR)
ACET-CALC-TAN                 (SUBR)
ACET-CMD-CHECK                (SUBR)
ACET-CMD-EXIT                 (SUBR)
ACET-CURRENTVIEWPORT-ENAME    (SUBR)
ACET-DCL-LIST-MAKE            (SUBR)
ACET-DICT-ENAME               (SUBR)
ACET-DICT-FILTER-MATCH        (SUBR)
ACET-DICT-MAKE                (SUBR)
ACET-DICT-NAME-LIST           (SUBR)
ACET-DISABLED-COMMAND         (SUBR)
ACET-DTOR                     (SUBR)
ACET-DXF                      (SUBR)
ACET-EDITOR-REACTOR-ADD       (SUBR)
ACET-ELIST-ADD-DEFAULTS       (SUBR)
ACET-ELIST-FILTER--4-MATCH    (SUBR)
ACET-ELIST-FILTER-AND-MATCH   (SUBR)
ACET-ELIST-FILTER-GC-MATCH    (SUBR)
ACET-ELIST-FILTER-MATCH       (SUBR)
ACET-ELIST-FILTER-NOT-MATCH   (SUBR)
ACET-ELIST-FILTER-OR-MATCH    (SUBR)
ACET-ENT-CURVEPOINTS          (EXRXSUBR)
ACET-ENT-GEOMEXTENTS          (EXRXSUBR)
        AcetUtil.chm : (acet-ent-geomextents ename)
ACET-ERROR                    (LIST)
ACET-ERROR-INIT               (SUBR)
        AcetUtil.chm : (acet-error-init args)
ACET-ERROR-RESTORE            (SUBR)
        AcetUtil.chm : (acet-error-restore)
ACET-EXPLODE                  (SUBR)
ACET-FILE-ATTR                (EXRXSUBR)
        AcetUtil.chm : (acet-file-attr filename [attr])
ACET-FILE-BACKUP              (SUBR)
ACET-FILE-BACKUP-DELETE       (SUBR)
ACET-FILE-BACKUP-RESTORE      (SUBR)
ACET-FILE-CHDIR               (EXRXSUBR)
        AcetUtil.chm : (acet-file-chdir directory)
ACET-FILE-COPY                (EXRXSUBR)
        AcetUtil.chm : (acet-file-copy from to [force])
ACET-FILE-CWD                 (EXRXSUBR)
        AcetUtil.chm : (acet-file-cwd)
ACET-FILE-DIR                 (EXRXSUBR)
        AcetUtil.chm : (acet-file-dir pattern [attributes] [starting-directory])
ACET-FILE-FIND                (SUBR)
ACET-FILE-FIND-FONT           (SUBR)
ACET-FILE-FIND-IMAGE          (SUBR)
ACET-FILE-FIND-ON-PATH        (SUBR)
ACET-FILE-MKDIR               (EXRXSUBR)
        AcetUtil.chm : (acet-file-mkdir directory)
ACET-FILE-MOVE                (EXRXSUBR)
        AcetUtil.chm : (acet-file-move from to)
ACET-FILE-OPEN                (SUBR)
ACET-FILE-READDIALOG          (EXRXSUBR)
ACET-FILE-REMOVE              (EXRXSUBR)
        AcetUtil.chm : (acet-file-remove filespec [force])
ACET-FILE-RMDIR               (EXRXSUBR)
        AcetUtil.chm : (acet-file-rmdir directory)
ACET-FILE-SYSTIME-COMPARE     (SUBR)
ACET-FILE-WRITEDIALOG         (EXRXSUBR)
ACET-FILENAME-ACAD-ROOT       (SUBR)
ACET-FILENAME-ASSOCIATED-APP  (SUBR)
ACET-FILENAME-DIR-ON-PATH     (SUBR)
ACET-FILENAME-DIRECTORY       (SUBR)
ACET-FILENAME-EXT-REMOVE      (SUBR)
ACET-FILENAME-EXTENSION       (SUBR)
ACET-FILENAME-PATH-REMOVE     (SUBR)
ACET-FILENAME-SUPPORTPATH-REMOVE(SUBR)
ACET-FILENAME-VALID           (SUBR)
ACET-FSCREEN-OFF              (EXRXSUBR)
ACET-FSCREEN-ON               (EXRXSUBR)
ACET-FSCREEN-OPTIONS          (EXRXSUBR)
ACET-FSCREEN-STATUS           (EXRXSUBR)
ACET-FSCREEN-TOGGLE           (EXRXSUBR)
ACET-FULL-DWGNAME             (SUBR)
ACET-GENERAL-PROPS-GET        (SUBR)
ACET-GENERAL-PROPS-GET-PAIRS  (SUBR)
ACET-GENERAL-PROPS-SET        (SUBR)
ACET-GENERAL-PROPS-SET-PAIRS  (SUBR)
ACET-GEOM-ANGLE-TO-ELLIPSEANGLE(SUBR)
ACET-GEOM-ANGLE-TRANS         (SUBR)
ACET-GEOM-ARBITRARY-X         (SUBR)
ACET-GEOM-ARC-3P-D-ANGLE      (SUBR)
ACET-GEOM-ARC-BULGE           (SUBR)
ACET-GEOM-ARC-CENTER          (SUBR)
ACET-GEOM-ARC-D-ANGLE         (SUBR)
ACET-GEOM-ARC-DELTA-ANGLE     (SUBR)
ACET-GEOM-ARC-POINT-LIST      (SUBR)
ACET-GEOM-CALC-ARC-ERROR      (SUBR)
ACET-GEOM-CROSS-PRODUCT       (SUBR)
ACET-GEOM-DELTA-VECTOR        (SUBR)
ACET-GEOM-ELLIPSE-ARC-LIST    (SUBR)
ACET-GEOM-ELLIPSE-POINT-AT-ANGLE(SUBR)
ACET-GEOM-ELLIPSE-POINT-AT-E-ANGLE(SUBR)
ACET-GEOM-ELLIPSE-POINT-LIST  (SUBR)
ACET-GEOM-ELLIPSE-TO-PLINE    (SUBR)
ACET-GEOM-ELLIPSEANGLE-TO-ANGLE(SUBR)
ACET-GEOM-EXTENTS             (SUBR)
ACET-GEOM-IMAGE-BOUNDS        (SUBR)
ACET-GEOM-IMAGE-CLIP-LIST     (SUBR)
ACET-GEOM-INSERT-CLIP-LIST    (SUBR)
ACET-GEOM-INSERT-POINT-LIST   (SUBR)
ACET-GEOM-INTERSECTWITH       (SUBR)
ACET-GEOM-IS-ARC              (SUBR)
ACET-GEOM-LIST-EXTENTS        (SUBR)
ACET-GEOM-LIST-FUZ            (SUBR)
ACET-GEOM-M-TRANS             (SUBR)
ACET-GEOM-MATRIX-TRANS        (SUBR)
ACET-GEOM-MIDPOINT            (SUBR)
ACET-GEOM-MTXTBOX             (SUBR)
ACET-GEOM-OBJECT-END-POINTS   (SUBR)
ACET-GEOM-OBJECT-FUZ          (SUBR)
ACET-GEOM-OBJECT-NORMAL-VECTOR(SUBR)
ACET-GEOM-OBJECT-POINT-LIST   (SUBR)
ACET-GEOM-OBJECT-Z-AXIS       (SUBR)
ACET-GEOM-PIXEL-UNIT          (SUBR)
ACET-GEOM-PLINE-ARC-INFO      (SUBR)
ACET-GEOM-PLINE-POINT-LIST    (SUBR)
ACET-GEOM-POINT-FUZ           (SUBR)
ACET-GEOM-POINT-INSIDE        (SUBR)
ACET-GEOM-POINT-ROTATE        (SUBR)
ACET-GEOM-POINT-SCALE         (SUBR)
ACET-GEOM-RECT-POINTS         (SUBR)
ACET-GEOM-SELF-INTERSECT      (SUBR)
ACET-GEOM-SPLINE-POINT-LIST   (SUBR)
ACET-GEOM-SS-EXTENTS          (SUBR)
ACET-GEOM-SS-EXTENTS-ACCURATE (SUBR)
ACET-GEOM-SS-EXTENTS-FAST     (SUBR)
ACET-GEOM-TEXTBOX             (SUBR)
ACET-GEOM-TRANS-IMAGE-TO-UCS  (SUBR)
ACET-GEOM-TRANS-UCS-TO-IMAGE  (SUBR)
ACET-GEOM-TXTBOX              (SUBR)
ACET-GEOM-UNIT-VECTOR         (SUBR)
ACET-GEOM-VECTOR-ADD          (SUBR)
ACET-GEOM-VECTOR-D-ANGLE      (SUBR)
ACET-GEOM-VECTOR-PARALLEL     (SUBR)
ACET-GEOM-VECTOR-SCALE        (SUBR)
ACET-GEOM-VECTOR-SIDE         (SUBR)
ACET-GEOM-VERTEX-LIST         (SUBR)
ACET-GEOM-VIEW-POINTS         (SUBR)
ACET-GEOM-Z-AXIS              (SUBR)
ACET-GEOM-ZOOM-FOR-SELECT     (SUBR)
ACET-GETVAR                   (SUBR)
ACET-GETVAR-CPROFILE          (SUBR)
ACET-GETVAR-DWG               (SUBR)
ACET-GETVAR-FIXED-PROFILE     (SUBR)
ACET-GO-TO-EXPRESS-PAGE       (SUBR)
ACET-GROUP-MAKE-ANON          (SUBR)
ACET-HATCH-LOOP-MAKE          (SUBR)
ACET-HATCH-LOOP-MAKE-DATA-GET (SUBR)
ACET-HATCH-LOOPEDGE-MAKE      (SUBR)
 
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 09:10:58 PM
Had a few too many characters in the post, so ...
List 2 ...


Quote
ACET-HELP                     (EXRXSUBR)
        AcetUtil.chm : (acet-help [topic])
ACET-HELP-TRAP                (EXRXSUBR)
        AcetUtil.chm : (acet-help-trap command [topic [file]])
ACET-HOW-TO-GET-EXPRESS       (SUBR)
ACET-INI-GET                  (EXRXSUBR)
        AcetUtil.chm : (acet-ini-get inifile [section [key [default]]])
ACET-INI-SET                  (EXRXSUBR)
        AcetUtil.chm : (acet-ini-set inifile section [key [value]])
ACET-INIT                     (SUBR)
ACET-INIT-ACETUTIL-ARX        (SUBR)
ACET-INIT-ADD-LIB-DIR         (SUBR)
ACET-INIT-EXCLUDE-LIST        (SUBR)
ACET-INIT-EXPRESS-INSTALLED   (SUBR)
ACET-INIT-EXPRESS-NOT-INSTALLED-MSG(SUBR)
ACET-INIT-FAS-LIB             (SUBR)
ACET-INIT-FORCE-LOAD-ARX-LIB  (SUBR)
ACET-INIT-GET-LIB-DIR         (SUBR)
ACET-INIT-PLACEMENU           (SUBR)
ACET-INIT-PRODKEY             (SUBR)
ACET-INSERT-ATTRIB-GET        (SUBR)
ACET-INSERT-ATTRIB-MOD        (SUBR)
ACET-INSERT-ATTRIB-SET        (SUBR)
ACET-INSERT-SPACIAL-FILTER    (SUBR)
ACET-IS-SYMBOL-TABLE          (SUBR)
ACET-LAYER-LOCKED             (SUBR)
ACET-LAYER-LOCKED-LIST        (SUBR)
ACET-LAYER-UNLOCK-ALL         (SUBR)
ACET-LAYERP-MARK              (EXRXSUBR)
ACET-LAYERP-MODE              (EXRXSUBR)
ACET-LIST-ASSOC-APPEND        (SUBR)
ACET-LIST-ASSOC-PUT           (SUBR)
ACET-LIST-ASSOC-REMOVE        (SUBR)
ACET-LIST-GROUP-BY-ASSOC      (SUBR)
ACET-LIST-INSERT-NTH          (SUBR)
ACET-LIST-IS-DOTTED-PAIR      (SUBR)
ACET-LIST-ISORT               (SUBR)
ACET-LIST-M-ASSOC             (SUBR)
ACET-LIST-PUT-NTH             (SUBR)
ACET-LIST-REMOVE-ADJACENT-DUPS(SUBR)
ACET-LIST-REMOVE-DUPLICATES   (SUBR)
ACET-LIST-REMOVE-NTH          (SUBR)
ACET-LIST-SPLIT               (SUBR)
ACET-LIST-TO-SS               (SUBR)
ACET-LSP-IS-COMMAND           (SUBR)
ACET-LSP-IS-FUNCTION          (SUBR)
ACET-LSP-LOAD                 (SUBR)
ACET-LSP-PRINC                (SUBR)
ACET-LWPLINE-MAKE             (SUBR)
ACET-MENU-LOAD                (SUBR)
ACET-MENU-LOAD2               (SUBR)
ACET-MS-TO-PS                 (EXRXSUBR)
ACET-PARTIAL-MENU-STATUS-GET  (SUBR)
ACET-PARTIAL-MENU-STATUS-SET  (SUBR)
ACET-PATH-TO-LIST             (SUBR)
ACET-PLINE-IS-2D              (SUBR)
ACET-PLINE-MAKE               (SUBR)
ACET-PLINE-SEGMENT-LIST       (SUBR)
ACET-PLINE-SEGMENT-LIST-APPLY (SUBR)
ACET-PLINES-EXPLODE           (SUBR)
ACET-PLINES-EXPLODE-WIDTH-DATA-GET(SUBR)
ACET-PLINES-REBUILD           (SUBR)
ACET-PLINES-REBUILD-APPLY-WIDTHS(SUBR)
ACET-PLINES-REBUILD-SET-ELEVATION(SUBR)
ACET-POINT-FLAT               (SUBR)
ACET-PREF-SUPPORTPATH-LIST    (SUBR)
ACET-PS-TO-MS                 (EXRXSUBR)
ACET-PSPACE-VIEWPORT-ENAME    (SUBR)
ACET-R12-DXF-CONVERT          (SUBR)
ACET-RE-MAKE                  (SUBR)
ACET-REACTOR-EXISTS           (SUBR)
ACET-REACTOR-REMOVE           (SUBR)
ACET-REG-DEL                  (EXRXSUBR)
        AcetUtil.chm : (acet-reg-del key [name])
ACET-REG-GET                  (EXRXSUBR)
        AcetUtil.chm : (acet-reg-get key [name])
ACET-REG-PRODKEY              (EXRXSUBR)
        AcetUtil.chm : (acet-reg-prodkey)
ACET-REG-PUT                  (EXRXSUBR)
        AcetUtil.chm : (acet-reg-put key [name value])
ACET-REG-SETACTIVEX           (SUBR)
ACET-REG-TREE-GET             (SUBR)
ACET-REG-TREE-SET             (SUBR)
ACET-RTOD                     (SUBR)
ACET-SAFE-COMMAND             (SUBR)
ACET-SCRIPTPRO-NOTFOUND-MSG   (SUBR)
ACET-SET-CMDECHO              (SUBR)
ACET-SETVAR                   (SUBR)
ACET-SETVAR-CPROFILE          (SUBR)
ACET-SETVAR-DWG               (SUBR)
ACET-SETVAR-FIXED-PROFILE     (SUBR)
ACET-SPINNER                  (SUBR)
ACET-SS-ANNOTATION-FILTER     (SUBR)
ACET-SS-CLEAR-PREV            (SUBR)
ACET-SS-CONVERT-ELLIPSES-TO-PLINES(SUBR)
ACET-SS-DRAG-MOVE             (EXRXSUBR)
        AcetUtil.chm : (acet-ss-drag-move ss pt [prompt] [highlight [cursor]])
ACET-SS-DRAG-ROTATE           (EXRXSUBR)
        AcetUtil.chm : (acet-ss-drag-rotate ss pt [prompt] [highlight [cursor]])
ACET-SS-DRAG-SCALE            (EXRXSUBR)
        AcetUtil.chm : (acet-ss-drag-scale ss pt [prompt] [highlight [cursor]])
ACET-SS-ENTDEL                (SUBR)
ACET-SS-FILTER                (SUBR)
ACET-SS-FILTER-CURRENT-UCS    (SUBR)
ACET-SS-FILTER-ITEM           (SUBR)
ACET-SS-FILTER-VALIDATE       (SUBR)
ACET-SS-FLT-CSPACE            (SUBR)
ACET-SS-INTERSECTION          (SUBR)
ACET-SS-NEW                   (SUBR)
ACET-SS-REDRAW                (SUBR)
ACET-SS-REMOVE                (SUBR)
ACET-SS-REMOVE-DUPS           (SUBR)
ACET-SS-REMOVE-DUPS-EXTENTS-LIST(SUBR)
ACET-SS-REMOVE-DUPS-GENERALIZE-ENT(SUBR)
ACET-SS-REMOVE-DUPS-REVERSE   (SUBR)
ACET-SS-SCALE-TO-FIT          (SUBR)
ACET-SS-SCALE-TO-FIT-BASE     (SUBR)
ACET-SS-SORT                  (SUBR)
ACET-SS-SSGET-FILTER          (SUBR)
ACET-SS-TO-LIST               (SUBR)
ACET-SS-UNION                 (SUBR)
ACET-SS-VISIBLE               (SUBR)
ACET-SS-ZOOM-EXTENTS          (SUBR)
ACET-STR-COLLATE              (EXRXSUBR)
        AcetUtil.chm : (acet-str-collate left right [matchCase])
ACET-STR-ENV-EXPAND           (SUBR)
ACET-STR-EQUAL                (EXRXSUBR)
        AcetUtil.chm : (acet-str-equal left right [matchCase])
ACET-STR-ESC-WILDCARDS        (SUBR)
ACET-STR-FIND                 (EXRXSUBR)
        AcetUtil.chm : (acet-str-find find string [ignoreCase [useRegExp]])
ACET-STR-FORMAT               (EXRXSUBR)
        AcetUtil.chm : (acet-str-format format [arg ...])
ACET-STR-IS-PRINTABLE         (SUBR)
ACET-STR-LIST-SELECT          (SUBR)
ACET-STR-LR-TRIM              (SUBR)
ACET-STR-M-FIND               (SUBR)
ACET-STR-REPLACE              (EXRXSUBR)
        AcetUtil.chm : (acet-str-replace find replace string [ignoreCase [useRegExp [count]]])
ACET-STR-SPACE-TRIM           (SUBR)
ACET-STR-TO-LIST              (SUBR)
ACET-STR-WCMATCH              (EXRXSUBR)
        AcetUtil.chm : (acet-str-wcmatch string pattern [matchCase])
ACET-SYS-BEEP                 (EXRXSUBR)
        AcetUtil.chm : (acet-sys-beep sound)
ACET-SYS-COMMAND              (EXRXSUBR)
        AcetUtil.chm : (acet-sys-command shell-command)
ACET-SYS-CONTROL-DOWN         (SUBR)
ACET-SYS-FOREGROUND           (EXRXSUBR)
        AcetUtil.chm : (acet-sys-foreground)
ACET-SYS-KEYSTATE             (EXRXSUBR)
        AcetUtil.chm : (acet-sys-keystate keycode)
ACET-SYS-LASTERR              (EXRXSUBR)
        AcetUtil.chm : (acet-sys-lasterr)
ACET-SYS-LMOUSE-DOWN          (SUBR)
ACET-SYS-PROCID               (EXRXSUBR)
        AcetUtil.chm : (acet-sys-procid)
ACET-SYS-SHIFT-DOWN           (SUBR)
ACET-SYS-SLEEP                (EXRXSUBR)
        AcetUtil.chm : (acet-sys-sleep msecs)
ACET-SYS-SPAWN                (EXRXSUBR)
        AcetUtil.chm : (acet-sys-spawn flags command [argument ...])
ACET-SYS-TERM                 (EXRXSUBR)
        AcetUtil.chm : (acet-sys-term processID)
ACET-SYS-WAIT                 (EXRXSUBR)
        AcetUtil.chm : (acet-sys-wait processID [time])
ACET-SYSVAR-RESTORE           (SUBR)
ACET-SYSVAR-SET               (SUBR)
ACET-TABLE-NAME-LIST          (SUBR)
ACET-TABLE-PURGE              (SUBR)
ACET-TEMP-SEGMENT             (SUBR)
ACET-TJUST                    (SUBR)
ACET-TJUST-GROUP-CODES        (SUBR)
ACET-TJUST-KEYWORD            (SUBR)
ACET-UCS-CAPTURE-VIEWPORTS    (SUBR)
ACET-UCS-CMD                  (SUBR)
ACET-UCS-GET                  (SUBR)
ACET-UCS-RESTORE-VIEWPORTS    (SUBR)
ACET-UCS-SET                  (SUBR)
ACET-UCS-SET-Z                (SUBR)
ACET-UCS-TO-OBJECT            (SUBR)
ACET-UI-DRAG                  (SUBR)
ACET-UI-ENTSEL                (SUBR)
ACET-UI-FENCE-SELECT          (SUBR)
ACET-UI-GET-LONG-NAME         (SUBR)
ACET-UI-GETCORNER             (SUBR)
ACET-UI-GETFILE               (SUBR)
ACET-UI-M-GET-NAMES           (SUBR)
ACET-UI-MESSAGE               (EXRXSUBR)
        AcetUtil.chm : (acet-ui-message message [caption [type]])
ACET-UI-PICKDIR               (EXRXSUBR)
        AcetUtil.chm : (acet-ui-pickdir [message [startDir [caption]]])
ACET-UI-POLYGON-SELECT        (SUBR)
ACET-UI-PROGRESS              (EXRXSUBR)
        AcetUtil.chm : (acet-ui-progress [label [max]])
ACET-UI-PROGRESS-DONE         (SUBR)
ACET-UI-PROGRESS-INIT         (SUBR)
ACET-UI-PROGRESS-SAFE         (SUBR)
ACET-UI-SINGLE-SELECT         (SUBR)
ACET-UI-STATUS                (EXRXSUBR)
        AcetUtil.chm : (acet-ui-status [message [caption]])
ACET-UI-TABLE-NAME-CHECK-FLAGS(SUBR)
ACET-UI-TABLE-NAME-FORMAT     (SUBR)
ACET-UI-TABLE-NAME-GET        (SUBR)
ACET-UI-TABLE-NAME-GET-CMD    (SUBR)
ACET-UI-TABLE-NAME-GET-CMD-LIST(SUBR)
ACET-UI-TABLE-NAME-GET-DLG    (SUBR)
ACET-UI-TABLE-NAME-GET-ENAME  (SUBR)
ACET-UI-TABLE-NAME-GET-IS-VALID(SUBR)
ACET-UI-TABLE-NAME-GET-ITEM-LIST(SUBR)
ACET-UI-TABLE-NAME-GET-PICKIT (SUBR)
ACET-UI-TABLE-NAME-OBJECT-DATA(SUBR)
ACET-UI-TXTED                 (EXRXSUBR)
        AcetUtil.chm : (acet-ui-txted [text [caption [note]]])
ACET-UNDO-BEGIN               (SUBR)
ACET-UNDO-END                 (SUBR)
ACET-UNDO-INIT                (SUBR)
ACET-UNDO-RESTORE             (SUBR)
ACET-UTIL-VER                 (EXRXSUBR)
        AcetUtil.chm : (acet-util-ver)
ACET-VAR-GETVAR               (EXRXSUBR)
ACET-VAR-SETVAR               (EXRXSUBR)
ACET-VBALOAD                  (SUBR)
ACET-VIEWPORT-FROZEN-LAYER-LIST(SUBR)
ACET-VIEWPORT-FROZEN-LAYER-LIST-SET(SUBR)
ACET-VIEWPORT-LOCK-SET        (SUBR)
ACET-VIEWPORT-NEXT-PICKABLE   (SUBR)
ACET-VIEWPORT-VPFREEZE        (SUBR)
ACET-WMFIN                    (SUBR)
ACET-XDATA-GET                (SUBR)
ACET-XDATA-SET                (SUBR)
ACET-XREF-CPROJECT-PATH       (SUBR)
ACET:OLD-ERROR                (SUBR)
ACETAI_FFILE                  (SUBR)
ACETAI_NOFILE                 (SUBR)
ACETAUTOARXACEDLOAD           (SUBR)
ACETAUTOARXLOAD               (SUBR)
ACETAUTOLOAD                  (SUBR)
ACETAUTONATIVELOAD            (SUBR)


Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 09:21:17 PM
List 3 ..

Quote
BNS_ADD_LAYERSTATE            (SUBR)
BNS_ANNOTATION_SS             (SUBR)
BNS_BLINK_AND_SHOW_OBJECT     (SUBR)
BNS_BLK_MATCH                 (SUBR)
BNS_BLKTBL_MATCH              (SUBR)
BNS_C_DELETE_LAYERSTATE       (SUBR)
BNS_C_EXPORT_LAY              (SUBR)
BNS_C_IMPORT_LAY              (SUBR)
BNS_C_RENAME_LAYERSTATE       (SUBR)
BNS_C_RESTORE_LAYERSTATE      (SUBR)
BNS_C_SAVE_LAYERSTATE         (SUBR)
BNS_D_LAYERSTATE              (SUBR)
BNS_DD_LMAN                   (SUBR)
BNS_DL                        (SUBR)
BNS_DLG_DL                    (SUBR)
BNS_DLG_EDIT                  (SUBR)
BNS_DLG_EXPORT                (SUBR)
BNS_DLG_IMPORT                (SUBR)
BNS_DLG_RENAME                (SUBR)
BNS_DLG_RL                    (SUBR)
BNS_DLG_SL                    (SUBR)
BNS_EXPORT                    (SUBR)
BNS_FILTER_MATCH              (SUBR)
BNS_GET_ATT                   (SUBR)
BNS_GET_CUR_LMANMODE          (SUBR)
BNS_GET_LA_STATUS             (SUBR)
BNS_GET_LAYERSTATES           (SUBR)
BNS_GET_LAYERSTATES_ALL       (SUBR)
BNS_GET_LMANMODE              (SUBR)
BNS_GET_LMANMODE_CMD          (SUBR)
BNS_GET_LMANMODE_DD           (SUBR)
BNS_GET_NEXTNAME              (SUBR)
BNS_GROUPS_SEL                (SUBR)
BNS_GROUPS_UNSEL              (SUBR)
BNS_LIST_LAYERSTATES          (SUBR)
BNS_LIST_PICK                 (SUBR)
BNS_LMAN_IMPORT               (SUBR)
BNS_LMAN_LTYPEFX              (SUBR)
BNS_LMAN_RENAME               (SUBR)
BNS_LMAN_RENAME_DD            (SUBR)
BNS_LOCAL_LTYPE               (SUBR)
BNS_MOD_ATT                   (SUBR)
BNS_NEW_STATE                 (SUBR)
BNS_PRINC_LMANMODE            (SUBR)
BNS_R_LAYERSTATE              (SUBR)
BNS_REG_IT                    (SUBR)
BNS_RENAME_LAYERSTATE         (SUBR)
BNS_RL                        (SUBR)
BNS_SL                        (SUBR)
BNS_SS_MOD                    (SUBR)
BNS_TBL_MATCH                 (SUBR)
BNS_TJUST                     (SUBR)
BNS_TRUNCATE_2_VIEW           (SUBR)
BNS_VP_ON_SCREEN              (SUBR)
BNS_WARNING                   (SUBR)
BNS_WRITE_IT                  (SUBR)
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 09:38:58 PM
... and the missed miscellaneous ones ...

a dynamic list ...
Quote
ai_abort
ai_acadapp
ai_alert
ai_angle
ai_angtos
ai_apploaded
ai_aselect
ai_aselect1
ai_autossget1
ai_beep
ai_circtan
ai_circtanstart
ai_common_state
ai_dcl
ai_deselect
ai_dim_cen
ai_draworder
ai_entity_locked
ai_entsnap
ai_error
ai_ffile
ai_helpfile
ai_hideedge_alert
ai_nofile
ai_notrans
ai_num
ai_onoff
ai_popmenucfg
ai_putmenucfg
ai_refedit_alert
ai_return
ai_rootmenus
ai_rtos
ai_showedge_alert
ai_ssget
ai_sslength
ai_strltrim
ai_strrtrim
ai_strtrim
ai_table
ai_tiledvp
ai_tiledvp_chk
ai_trans
ai_transd
ai_undo_off
ai_undo_on
ai_undo_pop
ai_undo_push
ai_viewports_alert



CTOJ
DTOJ
JTOC
JTOD
JTOW

C:DATE
c:JTEST
Title: Re: A diversion for the recreationally challenged.
Post by: LE on November 28, 2006, 10:27:49 PM
The expresstools function chm, I think still is available here on Jimmy B. site..
http://www.jtbworld.com/download/acetutil.zip
Title: Re: A diversion for the recreationally challenged.
Post by: LE on November 28, 2006, 10:41:50 PM
the AI_xxxx are part (or most of them in) ai_utils.lsp
Title: Re: A diversion for the recreationally challenged.
Post by: LE on November 28, 2006, 10:42:57 PM
CTOJ
DTOJ
JTOC
JTOD
JTOW

C:DATE
c:JTEST

Those are in the Julian.lsp no?
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 10:44:30 PM


The expresstools function chm, I think still is available here on Jimmy B. site..
http://www.jtbworld.com/download/acetutil.zip


Yep  ;-)  that covers about 45 of them ..
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 28, 2006, 10:50:03 PM
Luis, the point I am trying to get across is that there is no documentation for the majority of the express Tools, and the functions like AI_xxxx etc ... except in the defining file .... which I believe a lot of people have never looked at.
Title: Re: A diversion for the recreationally challenged.
Post by: LE on November 28, 2006, 10:59:16 PM
Luis, the point I am trying to get across is that there is no documentation for the majority of the express Tools, and the functions like AI_xxxx etc ... except in the defining file .... which I believe a lot of people have never looked at.

Yep

Kerry;
I noticed that... the expresstools have been like that... there was a site by Frank Whaley - I think the original author of the ET... but like always it is closed.
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 29, 2006, 02:04:28 AM
I believe Frank had some input Luis, but ET was a joint venture ... some contract, some xxxxxxx , some programmed by committee  etc, etc,


[edited for legal reasons :kwb]
Title: Re: A diversion for the recreationally challenged.
Post by: qjchen on November 29, 2006, 02:18:52 AM
:)

Can the closed website be found by "http://web.archive.org" ?
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 29, 2006, 11:14:52 PM
Lists updated.

Title: Re: A diversion for the recreationally challenged.
Post by: Oak3s on November 03, 2010, 09:25:13 PM
  :?... :-( ... :x ... :realmad: ... :pissed: ... :ugly:
The 6 steps to working with acet-****.

Very difficult to work with. Maybe its time for me to get into C# and such to do this ARX stuff.
Title: Re: A diversion for the recreationally challenged.
Post by: Dashmonkey on November 04, 2010, 06:34:20 PM
  :?... :-( ... :x ... :realmad: ... :pissed: ... :ugly:
The 6 steps to working with acet-****.

Very difficult to work with. Maybe its time for me to get into C# and such to do this ARX stuff.

QFT!

I remember spending about 20 min trying to figure out the syntax for ACET-STR-FORMAT.

Side note: The bad thing about having a wireless mouse is that there is no cable to rip out when you're frustrated.
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 05, 2010, 07:22:23 AM
I remember spending about 20 min trying to figure out the syntax for ACET-STR-FORMAT.

Side note: The bad thing about having a wireless mouse is that there is no cable to rip out when you're frustrated.

at least that one (ACET-STR-FORMAT) is listed in acetutil.chm

Title: Re: A diversion for the recreationally challenged.
Post by: JohnK on November 05, 2010, 10:37:16 AM
idea?

Everyone pick a util and write a replacement?
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 05, 2010, 11:41:39 AM
idea?

Everyone pick a util and write a replacement?
I like the idea.
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 11:56:16 AM
idea?

Everyone pick a util and write a replacement?
I like the idea.

My lame attempt from last year some time:

http://www.theswamp.org/index.php?topic=28895.0 (http://www.theswamp.org/index.php?topic=28895.0)
Title: Re: A diversion for the recreationally challenged.
Post by: Oak3s on November 05, 2010, 04:02:12 PM
Great idea!
I will watch :)
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 05:59:48 PM
Was bored, so here is my quick version of acet-ss-zoom-extents  :-)

Code: [Select]
(defun swamp-ss-zoom-extents ( ss / bb )
  ;; © Lee Mac 2010

  ;; (swamp-ss-zoom-extents <SelectionSet>)
  ;; Purpose: Zooms to the Extents of a SelectionSet
  ;; Arguments:
  ;; ss: SelectionSet
  ;; Returns:  
  ;; List of LowerLeft, UpperRight of SSBoundingBox
  
  (
    (lambda ( i / e ll ur )
      (while (setq e (ssname ss (setq i (1+ i))))
        (vla-getBoundingBox (vlax-ename->vla-object e) 'll 'ur)

        (setq bb (cons (vlax-safearray->list ll)
                       (cons (vlax-safearray->list ur) bb))
        )
      )
    )
    -1
  )
  (
    (lambda ( result )
      (apply 'vla-ZoomWindow (cons (vlax-get-acad-object) (mapcar 'vlax-3D-point result)))
      result
    )
    (mapcar
      (function
        (lambda ( operation ) (apply 'mapcar (cons operation bb)))
      )
     '(min max)
    )
  )
)

And perhaps acet-ss-to-list (yeah I'm just picking the easier ones!)

Code: [Select]
(defun swamp-ss-to-list ( ss )
  ;; © Lee Mac 2010

  ;; (swamp-ss-to-list <SelectionSet>)
  ;; Purpose: Returns list of entity names contained in a SelectionSet
  ;; Arguments:
  ;; ss: SelectionSet
  ;; Returns:
  ;; List of Entity Names

  (
    (lambda ( i / e l )
      (reverse
        (while (setq e (ssname ss (setq i (1+ i))))
          (setq l (cons e l))
        )
      )
    )
    -1
  )
)

Couldn't resist these three:

Code: [Select]
;; (swamp-dtor <degrees>)
;; Purpose: Converts Degrees to Radians
;; Arguments:
;; d: Real Number representing an angle in Degrees
;; Returns:
;; Real Number representing an angle in Radians

(defun swamp-dtor ( d ) (* pi (/ d 180.0)))

Code: [Select]
;; (swamp-rtod <radians>)
;; Purpose: Converts Radians to Degrees
;; Arguments:
;; r: Real Number representing an angle in Radians
;; Returns:
;; Real Number representing an angle in Degrees

(defun swamp-rtod ( r ) (* 180.0 (/ r pi)))

Code: [Select]
;; (swamp-dxf <key> <elist>)
;; Purpose: Returns the association of key in a dxf association list
;; Arguments:
;; key: integer
;; elist: dxf association list (as returned by entget)

(defun swamp-dxf ( key elist ) (cdr (assoc key elist)))

Code: [Select]
;; (swamp-ss-redraw <SelectionSet> <Mode>)
;; Purpose: Redraws the supplied SelectionSet
;; Arguments:
;; ss  : SelectionSet
;; mode: redraw mode (1=show, 2=hide, 3=highlight, 4=unhighlight)
;; Returns: nil

(defun swamp-ss-redraw ( ss mode )
  (
    (lambda ( i / e )
      (while (setq e (ssname ss (setq i (1+ i))))
        (redraw e mode)
      )
    )
    -1
  )
)

:lol:
Title: Re: A diversion for the recreationally challenged.
Post by: Oak3s on November 05, 2010, 06:05:11 PM
I didnt look up what the added benefit would be to use acet-ss-zoom-extents so this question might be unreasonable but:
Could any alternatives be presented with some sort of documentation explaining what it does, returns...and maybe how...as this is the frustration with acet***...lack of documentation. At least that is my frustration.

*Edited by Oak3s 11.5.10

Thank you Lee for the documentation!!!
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 06:10:15 PM
I didnt look up what the added benefit would be to use acet-ss-zoom-extents so this question might be unreasonable but:
Could any alternatives be presented with some sort of documentation explaining what it does, returns...and maybe how...as this is the frustration with acet***...lack of documentation. At least that is my frustration.

Haha true, I still haven't give any documentation  :lol:
Title: Re: A diversion for the recreationally challenged.
Post by: Oak3s on November 05, 2010, 06:15:57 PM
After reading what I posted I want to just make the comment that I appreciate all the help and knowledge that has been given/shared on this forum. Lee, I have read and followed much of your material and would not want in anyway to ask for more without you and others knowing that what has been presented is a gift and received as such. By asking for more I am in no way down playing the efforts that were put forth. Thank you very much...all of you.
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 06:18:25 PM
After reading what I posted I want to just make the comment that I appreciate all the help and knowledge that has been given/shared on this forum. Lee, I have read and followed much of your material and would not want in anyway to ask for more without you and others knowing that what has been presented is a gift and received as such. By asking for more I am in no way down playing the efforts that were put forth. Thank you very much...all of you.

You're very welcome Oak3s, I'm glad that you can benefit from the stuff I post  :-)

Don't worry, I wouldn't write this stuff if I didn't enjoy it  8-)
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 05, 2010, 06:25:43 PM
Don't worry, I would write this stuff if I didn't enjoy it  8-)
lol
Title: Re: A diversion for the recreationally challenged.
Post by: Oak3s on November 05, 2010, 06:26:43 PM
I caught that too.  :-D
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 06:27:49 PM
Don't worry, I would write this stuff if I didn't enjoy it  8-)
lol

Hahahaha  :lol:
Title: Re: A diversion for the recreationally challenged.
Post by: T.Willey on November 05, 2010, 07:39:41 PM
Maybe the library should have a different prefix?  Maybe instead of ' acet ' use ' swamp ', or something.   :-D
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 05, 2010, 07:56:11 PM

yeah,
the same with using VLA- for home built methods ... confuses me.  :|
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 05, 2010, 08:06:45 PM
Maybe the library should have a different prefix?  Maybe instead of ' acet ' use ' swamp ', or something.   :-D

True, that would be cool  :-)
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 05, 2010, 08:24:43 PM
Maybe the library should have a different prefix?  Maybe instead of ' acet ' use ' swamp ', or something.   :-D
I was thinking the same thing.
Title: Re: A diversion for the recreationally challenged.
Post by: hmspe on November 05, 2010, 08:54:52 PM
There was a clear text file for a lot of the express tools that was part of LT Extender years ago.  The file is copyrighted so I can't post it.  I'll see if I can pull out the defuns and the descriptions of the functions and post that much.  Headed out of town so it may take a few days.
Title: Re: A diversion for the recreationally challenged.
Post by: hmspe on November 06, 2010, 12:26:35 AM
Here's what's in the file i referenced.  I pulled out the defuns with their arguments and put any comments after the defuns.   

Code: [Select]
(defun acet-error-init ( errlist /                    ;;Error Init for ET
(defun acet-error-restore ( /                         ;;Error Restore for ET
(defun acet-sysvar-set ( varlist /                    ;;Save Sysvar List
(defun acet-sysvar-restore ( /                        ;;Restore Sysvar List
(defun acet-spinner ( /                               ;;Show Spinner Sign
(defun acet-table-name-list ( tblORlist /             ;;Get Table Entries
(defun acet-table-purge ( table entry flag /          ;;Purge table entry
(defun acet::store2reg ( varname varval /             ;;Store custom data 2 Registry
(defun acet::loadreg ( varname /                      ;;Load custom from Registry
(defun acet::store2dict ( varname varval /            ;;Store custom data 2 Dict
(defun acet::loaddict ( varname /                     ;;Load custom from Dict
(defun acet-set-CmdEcho ( val                         ;;Setvar CmdEcho
(defun acet-setvar ( varlist /                        ;;Setvar Custom Var
(defun acet-group-make-anon ( enamelist desc /        ;;Create Anonymous Group
(defun acet-ucs-to-object ( ent /                     ;;Setvar UCS to Ent
(defun acet-ucs-set-z ( zvec /                        ;;Setvar UCS to Ent
(defun acet-ucs-get ( from /                          ;;get current/entity ucs
(defun acet-ucs-set ( ucs /
(defun acet-ucs-cmd ( cmdlist /                       ;;execute ucs command
(defun acet-xdata-set ( xkeylist /                    ;;Set XData Values for keys
(defun acet-xdata-get ( xkeylist /                    ;;Get XData Value for key
(defun bns_ss_mod ( ss flag pr /                      ;;Get XData Value for key
(defun acet-layer-locked ( layer /                    ;;Check Layer Locked ?
(defun acet-layer-unlock-all ( /                      ;;Unlock all layers
(defun acet-plines-rebuild ( plist /                  ;;rebuild polylines
(defun acet-pline-segment-list-apply ( na lst /       ;;re-apply pline segment width
(defun acet::apply_width_bulge ( na swlst ewlst blglst /
(defun acet-plines-explode ( ss /                     ;;explode polylines
(defun acet-pline-segment-list ( elist /              ;get pline segment data
(defun acet::plines-get-widthlist ( ename etype elist /
(defun acet::pline-explode ( ename /
(defun acet-ss-ssget-filter ( ss flt /                ;;filter selection set
(defun acet-ss-new ( ename /                          ;;Create new SelectionSet with Ent
(defun acet-ss-clear-prev ( /                         ;;Clear previous SelectionSet
(defun acet-ss-visible ( entset flag /                ;;Make Entities Visible(0)-Invisible(1)
(defun acet-ss-intersection ( ss ssmaster /           ;;SelectionSet Intersection
(defun acet-ss-filter ( filterdata /                  ;;Filter Selection Set
(defun acet-ss-flt-cspace ( /                         ;;Build filter part for current space
(defun acet-ss-remove ( ss ssmaster /                 ;;Remove Ents from SelectionSet
(defun acet-ss-union ( sslist /                       ;;Combine SelectionSets together
(defun acet-ss-redraw ( ss mode /                     ;;Redraw SelectionSet with Mode
(defun acet-list-m-assoc ( key datalist /             ;;Redraw SelectionSet with Mode
(defun acet-ss-entdel ( ss /                          ;;Entdel ss entities
(defun acet-ss-filter-current-ucs ( ss printit /      ;;filter entities on current ucs
(defun acet-ss-annotation-filter ( ss /
(defun bns_annotation_ss ( ss /                       ;;Get Attributes into ss, remove inserts
(defun acet-ss-to-list ( ss /                         ;;Convert selection-set to entities list
(defun acet-list-to-ss ( lst /                        ;;Convert entities list to selection-set
(defun acet-ss-zoom-extents ( ss /                    ;####### Punkte p1/p2 von entry ohne Z-Wert !!!
(defun acet-ss-remove-dups ( ss fuz ignore /          ;;Remove duplicate entities
(defun acet::check-identic-points ( plist1 plist2 fuz /
(defun acet-tjust-keyword ( elist /                   ;;get text justification
(defun acet-tjust ( ss tjust /                        ;;(acet-tjust (ssadd na (ssadd)) "Start") ;; then set it to start
(defun acet-insert-attrib-set ( na attlst flag / 
(defun acet-currentviewport-ename ( /                 ;get current vport entity
(defun acet-viewport-lock-set ( vpename setlocked /   ;set vport locked/unlocked
(defun acet-alert ( msg /
(defun acet-fscreen-toggle ( /
(defun acet-init-fas-lib ( flag1 flag2 /
(defun acet-block-make-anon ( ss blkname /            ;;Create anonymous block from ss
(defun acet-block-purge ( bna /                       ;;Purge Block with given name
(defun getgeomextents ( en /
(defun acet-geom-z-axis ( /
(defun acet-point-flat ( pt from to /                 ;;flat point
(defun acet-geom-midpoint ( p1 p2 /                   ;;Calculate Midpoint for P1,P2
(defun acet-geom-m-trans ( pntlst from to /           ;;Transform Pointlist
(defun acet-geom-list-extents ( pntlst /              ;;Transform Pointlist
(defun acet-geom-zoom-for-select ( pntlist /          ;;Get Zoom Points to Include Points
(defun acet-geom-view-points ( /                      ;;Get Viewport Corner Points
(defun acet-geom-pixel-unit ( /
(defun acet-geom-textbox ( txtdata offset /           ;;Get Textbox for any Text
(defun acet-geom-rect-points ( pa pb /                ;;Get 5 Rectangle Points
(defun acet-geom-self-intersect ( pointlist flag /    ;;Point Check Self-Intersection
(defun acet-geom-object-end-points ( ename /          ;;get object end points
(defun acet-geom-object-point-list ( na alt /         ;;Get Object Points Rasterized    ;; altitude may be NIL !
(defun acet::pl-point-list ( na alt /                 ;;Get Polyline/LwPolyline Points
(defun acet::arc-point-list ( p1 p2 p3 ang alt /      ;;Get Arcus Points
(defun acet::delta-ang ( r a /                        ;;Get Arcus Infos  ;returns the delta angle of an arc with the specified altitude and radius
(defun acet-geom-image-bounds ( na /                  ;;Get Image Bounds
(defun acet-geom-point-rotate ( pnt p1 ang /          ;;Rotate Point ;Rotate 'pnt' from a base point of 'p1' and through an angle of 'ang' (in radians)
(defun acet-geom-vertex-list ( na /                   ;;Get (LW)Polyline Vertexes
(defun acet-geom-delta-vector ( p1 p2 /               ;;Get Difference Vector
(defun acet-geom-vector-scale ( vec scale /           ;;Get Difference Vector
(defun acet-geom-vector-add ( vec add /               ;;Add 2 Vectors
(defun acet-geom-cross-product ( v1 v2 /              ;;Get Vector Cross Product (Normal Vector)
(defun acet-geom-unit-vector ( p1 p2 /                ;;Get Vector Normalized
(defun acet-geom-angle-trans ( ang from to /          ;;Transform Angle between Coordsys
(defun acet-geom-pline-arc-info ( p1 p2 bulge /       ;;Get Arcus Infos
(defun acet-geom-point-inside ( pt ptlist dist /      ;;Check Point inside Band along Ptlist
(defun acet-geom-vector-side ( pt pa pb /             ;;Get Side of Point rel. to Vector
(defun acet-geom-intersectwith ( ent1 ent2 flag /     ;;Get Intersection Points
(defun acet::measure-points ( object dist /           ;;Get Object points by Measure
(defun acet-geom-object-normal-vector ( ename /       ;;Get Entity's Z normal vector
(defun acet-geom-point-scale ( targetpnt frompnt scale /
(defun acet-geom-vector-parallel ( v1 v2 /            ;;Check for parallel vectors
(defun acet-geom-arc-center ( pa pb pc /              ;;Get Arc center from 3 points
(defun acet-geom-object-z-axis ( ename /              ;;Get Entity Z-Axis
(defun acet-geom-vector-d-angle ( v1 v2 /             ;;Get angle between 2 vectors
(defun acet::acos ( inval /
(defun acet-geom-object-fuz ( na /                    ;;Get object fuzz
(defun acet-ui-entsel ( sellst /                      ;;Entity Selection
(defun acet-ui-single-select ( filter flag /          ;;Single Entity Select
(defun acet-ui-fence-select ( /                       ;;Fence Selectino points
(defun acet-ui-polygon-select ( mode /                ;;Window/Crossing Polygon
(defun bns_truncate_2_view ( a b x y x2 y2 /          ;;Truncate point list
(defun bns_groups_unsel ( /                           ;;Set All Groups to Unselect
(defun bns_groups_sel ( grpenames /                   ;;Set Groups back to Select
(defun acet-blink-and-show-object ( lst /             ;;Draw a temporary polyline & let it blink
(defun bns_blink_and_show_object ( na color /         ;;Draw a temporary polyline & let it blink
(defun bns_blktbl_match ( flt /                       ;;Search all entities inside block table
(defun bns_blk_match ( blkname flt lst flag /         ;;Search all entities inside specified blocks
(defun bns_tbl_match ( tblname flt /                  ;;Search all entities inside specified blocks
(defun bns_filter_match ( e1 flt /
(defun bns_-4_match ( a e1 flt /
(defun bns_or_match ( e1 flt /
(defun bns_and_match ( e1 flt /
(defun bns_not_match ( e1 flt / lst a flag )
(defun bns_gc_match ( e1 dp opr / dp2 a b c d flag )
(defun acet-dcl-list-make ( dcltile vallist /         ;;Display List Values
(defun acet-list-put-nth ( newval datalist atidx /
(defun acet-list-remove-nth ( atidx datalist /        ;;Remove Entry at Index
(defun acet-list-assoc-remove ( key datalist /        ;;Remove all Entries by Key
(defun acet-list-remove-adjacent-dups ( datalist /    ;;Remove Duplicates from List
(defun acet-list-remove-duplicate-points ( lst fuz /  ;;Remove duplicate points from List
(defun acet-list-group-by-assoc ( lst /               ;; group data by assoc key
(defun acet-elist-add-defaults ( elist /              ;;add defaults to elist
(defun acet-str-lr-trim ( s str /                     ;;Trim Left / Right Characters
(defun acet-str-space-trim ( str /                    ;;Trim Left / Right Spaces
(defun acet-str-esc-wildcards ( str /                 ;;place escape for wildcard strings
(defun acet-str-to-list ( deli line /                 ;;Split String into List
(defun acet-str-m-find ( find str /                   ;;Find multiple Substrings
(defun acet-str-equal ( str1 str2 /                   ;;Compare Strings Insensitive
(defun acet-bs-strip ( str /                          ;;Remove backslash controls
(defun acet-filename-ext-remove ( file /              ;;Remove Extension from File
(defun acet-filename-path-remove ( file /             ;;Get Filename Without Path
(defun acet-filename-extension ( file /               ;;Get Extension from Filename
(defun acet-filename-directory ( file /               ;;Get Directory from Filename
(defun acet-filename-valid ( file /                   ;;Check for Proper Filename
(defun acet-filename-supportpath-remove ( file /      ;;Remove Path, if file is inside Supportpathes
(defun acet-file-find ( file /                        ;;Extended FindFile
(defun acet-file-find-font ( fontfile /               ;;Extended FindFile (Fonts)
(defun acet-file-find-image ( imgfile /               ;;Extended FindFile (Fonts)
(defun acet-file-backup ( file /                      ;;Create Backup file
(defun acet-file-backup-delete ( /                    ;;Delete All Backup files
(defun acet-filename-associated-app ( filename /      ;;Get Application for file
(defun get-defparts ( cmd / cmdname cmdpar idx slen )
(defun acet-arxload-or-bust ( filename /
(defun acet-autoload ( loadlist /                     ;;Test & Load function & file
(defun acet-autoload2 ( loadlist /
(defun acet-autoloadarx ( loadlist /
(defun acet-viewport-next-pickable ( /                ;;Get Next Pickable VP
(defun acet-viewport-frozen-layer-list ( ename /      ;;Get Next Pickable VP
(defun acet-calc-bitlist ( n /                        ;;Calculate Bit Values
(defun acet-calc-round ( rval rround /                ;;Round Value
(defun acet-calc-tan ( a /                            ;; Calculate Tangens
(defun acet-lwpline-make ( lst /                      ;;Create LW Polyline
(defun acet-temp-segment ( p1 p2 p3 mode /            ;;Draw tempory Segment
(defun acet-wmfin ( wmffile /                         ;;WMF IN
(defun acet-dxf ( key keylist /                       ;;Get dxf value from assoc list
(defun acet-angle-format ( ang /                      ;;format angle 0...2*PI
(defun acet-angle-equal ( a b fuz /                   ;;Compare Angles with Tolerance
(defun acet-dtor ( a /                                ;;Compare Degree <> Radians
(defun acet-rtod ( a /                               
(defun acet-dict-ename ( dictname dictentry /         ;;Get Dictionary entry
(defun acet-dict-name-list ( dictname /               ;;Get Dictionary entries
(defun acet-explode ( na /                            ;;Explode SS and return exploded entities
(defun acet-list-assoc-put ( new lst /                ;;Add / Update entry to list
(defun acet-list-assoc-append ( new lst /             ;;Append entry to list
(defun acet-pline-is-2d ( elist /                     ;;Check (LW)Polyline for 2D
(defun acet-ui-getcorner ( p1 /                       ;;Get other corner with selection rubberband
(defun acet-undo-begin ( /                            ;;undo begin
(defun acet-undo-end ( /                              ;;undo end
(defun acet-cmd-exit ( /                              ;;undo command exit
(defun acet-safe-command ( bStart bAutoEnd cmdList /  ;;execute commands in safe mode
(defun acet-pref-supportpath-list ( /                 ;;Get Support Pathes as list
(defun acet-list-isort ( plst index /                 ;;Indexed Sort
(defun acet-acad-refresh ( /
(defun acet-geom-ss-extents ( ss shrink /             ;;Get extents of selection set
(defun acet-file-find-on-path ( fna path /            ;;Find file on OS env "PATH"
(defun acet-list-is-dotted-pair ( a /                 ;;check for dotted pair
(defun acet-file-open ( fna flag /                    ;;file open
(defun acet-list-remove-duplicates ( lst fuz /        ;;remove duplicates from list
(defun acet-list-split ( lst item /                   ;;Split List at entry
(defun acet-appid-delete ( appid /                    ;;Remove APPID
(defun acet-ui-progress-init ( title maxstep /        ;;init progress bar
(defun acet-ui-progress-safe ( pos /                  ;;set progress pos
(defun acet-ui-progress-done ( /                      ;;done progress
(defun acet-ui-get-long-name ( msg /                  ;;get long keyboard input
(defun acet::getltexmsg ( msgkey defmsg /
(defun acet::expandfn ( fname fcheck /                ;;Expand & Find Filename
(defun acet::filetype ( filename /                    ;;Get File Type Only
(defun acet::pos-filetype ( filename /                ;;Get Position of Extension
(defun acet::nameonly ( filename /                    ;;Get File Without Path
(defun acet::pathonly ( filename /                    ;;Get Directory only[/font]
Title: Re: A diversion for the recreationally challenged.
Post by: JohnK on November 06, 2010, 12:47:49 AM
We need to define code standards.

Lee, did you construct those procedures like that for a specific reason(s)?
(defun foo () ( (lambda ( )...
I ask because that is what i do and i have a specific reason for doing that (just checking to see if your reason is the same as mine).

Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 06, 2010, 10:35:21 AM
We need to define code standards.

Lee, did you construct those procedures like that for a specific reason(s)?
(defun foo () ( (lambda ( )...
I ask because that is what i do and i have a specific reason for doing that (just checking to see if your reason is the same as mine).

I feel that it makes the code more compartmentalised - i.e. 'this lambda block does this', 'that does that' etc - I suppose I could just as well have defined the arguments for those lambda expressions as separate variables.

Is that anything like your reason?

Lee
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 06, 2010, 11:11:24 AM
Just noticed 'acet-spinner' :-)

My version:

Code: [Select]
(defun-q swamp-spinner ( / i ) ;; © Lee Mac 2010
  (setq i 0)
  (setq swamp-spinner (cons (car swamp-spinner) (cons (list 'setq 'i (1+ i)) (cddr swamp-spinner))))
  (nth (rem i 4) '("\\" "|" "/" "-"))
)

(Didn't want to use a global..)
Title: Re: A diversion for the recreationally challenged.
Post by: ronjonp on November 06, 2010, 12:47:37 PM
Is the lambda stuff compatible with other drafting programs such as Bricscad?
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 06, 2010, 12:49:26 PM
My first contribution:
Code: [Select]
(defun swamp-ss-union (sslist)
  ;; Combine list of selection sets
  ;; sslist - list of selection sets
  ;; Alan J. Thompson, 11.06.10
  ((lambda (add / i)
     (foreach ss sslist
       (if (eq (type ss) 'PICKSET)
         (repeat (setq i (sslength ss)) (ssadd (ssname ss (setq i (1- i))) add))
       )
     )
     (cond ((> (sslength add) 0) add))
   )
    (ssadd)
  )
)
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 06, 2010, 01:14:49 PM
Nice one Alan :-)

I think you could actually remove the check:

Code: [Select]
(or (ssmemb (setq e (ssname ss (setq i (1- i)))) add)
As, if the ename already exists in the 'add' set, ssadd will not add it, and no error will be thrown  :-)
Title: Re: A diversion for the recreationally challenged.
Post by: JohnK on November 06, 2010, 02:00:24 PM
Is that anything like your reason?

Well that would be a by-product--of course--of my reason(s) but it wasnt my exact reason. ...I'm actually looking for a way to gracefully back out of this question (I was just surprised by your use and extremely tired at the time) because, well, let's just say that my reasons are stupid--I'm stupid-. Now thats not to say that the use of defun-lambda is detrimental, its not really, i just had some effed-up reasons in my head.

I started AutoLisp like everyone else in that i read AfraLisp and tinkered around but i didnt really understand anything (i understood the basics like conditionals, logic, and even basic recursion but...). I scratched and scraped for about 6 months until Randall Rath (Im sure you have heard some of us mention that name) started the SICP class. After that, my AutoLisp programing and my knowledge became more academic (academic programing is different then real world stuff). When i employed the defun-lambda approach i was at the height of my effed-up-ness because it spun from this huge..."misunderstanding" (that's a good enough word but "idea" could work as well).

Now, I am also looking to back out of this task as well because...well, operating on not enough sleep is terrible and it makes the brain mush.

A library is a H U G E undertaking. For example, take a look at Reni Urban's AutoLisp STL. When working on a team, like this, you will need several good tools.

First off, you will have to ditch your current editor and get something like Vim or Emacs; being totaly honest all those other editors are just toys IMO. Vim (or Emacs) can commit and pull from a CVS, employ snip-its or even let you script big changes. With those other editors you would be doing A LOT of hand edititing and that would be just stupid when you can use a powerfull editor/tools that programmers have been using for years instead.  ...and even with a good editor, a CVS, patch files, and maybe even a "make system" of sorts, you would be doing this for years. Hell, just setting up the enviroment would take a long time.

*sigh* way too much for me. Im sorry for brining it up.
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 06, 2010, 02:08:51 PM
Nice one Alan :-)

I think you could actually remove the check:

Code: [Select]
(or (ssmemb (setq e (ssname ss (setq i (1- i)))) add)
As, if the ename already exists in the 'add' set, ssadd will not add it, and no error will be thrown  :-)
Hmph, I was under the impression that it would result it strange numbers from sslength. Oh well, I was wrong. Corrected above.
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 06, 2010, 02:20:12 PM
Interesting points Se7en, and yes, I agree - an immense undertaking, and, furthermore would need to be organised somewhere properly (somewhat like STL).
Title: Re: A diversion for the recreationally challenged.
Post by: MP on November 06, 2010, 02:46:14 PM
ultra edit > vim
Title: Re: A diversion for the recreationally challenged.
Post by: JohnK on November 06, 2010, 03:14:39 PM
ultra edit > vim

Oh yes, sorry. That is what i meant to say.
Title: Re: A diversion for the recreationally challenged.
Post by: MP on November 06, 2010, 03:30:51 PM
Glad to help.
Title: Re: A diversion for the recreationally challenged.
Post by: gskelly on November 06, 2010, 03:47:27 PM
Is the lambda stuff compatible with other drafting programs such as Bricscad?

There should be no problem with lambda in Bricscad. Just did a quick copy/paste of Lee's swamp-ss-zoom-extents and it appears (visually) to work as expected in Bricscad v10. (I did not actually check the values of the extents returned).

Title: Re: A diversion for the recreationally challenged.
Post by: ronjonp on November 06, 2010, 09:52:04 PM
Is the lambda stuff compatible with other drafting programs such as Bricscad?

There should be no problem with lambda in Bricscad. Just did a quick copy/paste of Lee's swamp-ss-zoom-extents and it appears (visually) to work as expected in Bricscad v10. (I did not actually check the values of the extents returned).



Good to know :)  I wonder why while isn't used more since it seems to usually be the winner in speed "challenges".
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 06, 2010, 09:55:59 PM
Is the lambda stuff compatible with other drafting programs such as Bricscad?

There should be no problem with lambda in Bricscad. Just did a quick copy/paste of Lee's swamp-ss-zoom-extents and it appears (visually) to work as expected in Bricscad v10. (I did not actually check the values of the extents returned).



Good to know :)  I wonder why while isn't used more since it seems to usually be the winner in speed "challenges".
I thought repeat was faster than while.
Title: Re: A diversion for the recreationally challenged.
Post by: ronjonp on November 06, 2010, 10:06:42 PM
Is the lambda stuff compatible with other drafting programs such as Bricscad?

There should be no problem with lambda in Bricscad. Just did a quick copy/paste of Lee's swamp-ss-zoom-extents and it appears (visually) to work as expected in Bricscad v10. (I did not actually check the values of the extents returned).



Good to know :)  I wonder why while isn't used more since it seems to usually be the winner in speed "challenges".
I thought repeat was faster than while.

Is it? :? I could be waaaaaay off again  :-D
Title: Re: A diversion for the recreationally challenged.
Post by: MP on November 07, 2010, 12:12:53 AM
hmmm ... logic suggests a while loop would be slower because tests are evaluated at the lisp (interpreted) level, whereas in a repeat loop they're evaluated at the executable level; most likely using a register for the counter value. Could be over thinking it tho, been a long day.
Title: Re: A diversion for the recreationally challenged.
Post by: JohnK on November 07, 2010, 01:07:34 AM
repeat, foreach, while. In that order.
Title: Re: A diversion for the recreationally challenged.
Post by: gile on November 07, 2010, 07:29:28 AM
Hi,

As Michael said, logicaly repeat sould be faster than while, but it appears to me that most of the time while seems to be faster.
Anyway, a while statement speed depends on what is evaluated in the conditional expression.

Here's an example with three implementations of the classical ss2lst routine which returns a list of ename from a selection set.
The first one (ss2lst_repeat) uses repeat with the length of the selection set.
The second one (ss2lst_while1) uses while the same way as repeat evaluating a counter
The third one (ss2lst_while2) uses while in an optimised way: evaluating (ssname ss n) as condition, this have to be evaluated in every case.
I don't include foreach, neither mapcar, which only operate on lists.

Code: [Select]
(defun ss2lst_repeat (ss / n lst)
  (repeat (setq n (sslength ss))
    (setq lst (cons (ssname ss (setq n (1- n))) lst))
  )
  lst
)

(defun ss2lst_while1 (ss / n lst)
  (setq n (sslength ss))
  (while (< 0 n)
    (setq lst (cons (ssname ss (setq n (1- n))) lst))
  )
  lst
)

(defun ss2lst_while2 (ss / n ent lst)
  (setq n -1)
  (while (setq ent (ssname ss (setq n (1+ n))))
    (setq lst (cons ent lst))
  )
  (reverse lst)
)

Quote
_$ (sslength (setq ss (ssget)))
10000
_$ (benchmark '((ss2lst_repeat ss) (ss2lst_while1 ss) (ss2lst_while2 ss)))
Benchmarking ..........Elapsed milliseconds / relative speed for 128 iteration(s):

    (SS2LST_WHILE2 SS).....1060 / 1.35 <fastest>
    (SS2LST_WHILE1 SS).....1248 / 1.15
    (SS2LST_REPEAT SS).....1435 / 1.00 <slowest>
Title: Re: A diversion for the recreationally challenged.
Post by: ElpanovEvgeniy on November 08, 2010, 03:44:21 AM
Code: [Select]
(sslength (setq ss (ssget "_x")))
(benchmark '((ss2lst_repeat ss) (ss2lst_while1 ss)(ss2lst_while2 ss) (ACET-SS-TO-LIST ss)))

Code: [Select]
_$

10000
_$
Benchmarking ...........Elapsed milliseconds / relative speed for 256 iteration(s):

    (ACET-SS-TO-LIST SS).....1389 / 1.85 <fastest>
    (SS2LST_WHILE2 SS).......1888 / 1.36
    (SS2LST_WHILE1 SS).......2278 / 1.13
    (SS2LST_REPEAT SS).......2574 / 1 <slowest>

 
_$
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 08, 2010, 03:51:53 AM

 :-D

(ACET-SS-TO-LIST SS).....1389 / 1.85 <fastest>
Title: Re: A diversion for the recreationally challenged.
Post by: ElpanovEvgeniy on November 08, 2010, 03:55:03 AM

 :-D

(ACET-SS-TO-LIST SS).....1389 / 1.85 <fastest>


It is easy to explain - the program is already compiled versions of the...
Title: Re: A diversion for the recreationally challenged.
Post by: ElpanovEvgeniy on November 08, 2010, 04:08:31 AM
after compilation:
Code: [Select]
(defun c:test (/ ss)
 (sslength (setq ss (ssget "_x")))
 (benchmark
  '((ss2lst_repeat ss) (ss2lst_while1 ss) (ss2lst_while2 ss) (ACET-SS-TO-LIST ss))
 )
 (princ)
)

Code: [Select]
(LOAD "C:/Users/EElpanov/Desktop/test/test.VLX") nil
Elapsed milliseconds / relative speed for 512 iteration(s):
    (SS2LST_REPEAT SS).......1155 / 2.42 <fastest>
    (SS2LST_WHILE1 SS).......1170 / 2.39
    (SS2LST_WHILE2 SS).......1389 / 2.01
    (ACET-SS-TO-LIST SS).....2792 / 1 <slowest>
Title: Re: A diversion for the recreationally challenged.
Post by: Kerry on November 08, 2010, 04:23:29 AM

That sounds better :)

The ACET-SS-TO-LIST jumps through a lot of hoops
Checks if ss
checks (EQUAL (TYPE SS) PICKSET)
checks (> (SSLENGTH SS) 0)

Then runs a repeat on the ... (SSNAME SS n)

cons a list

Reverse the list when finished.
Title: Re: A diversion for the recreationally challenged.
Post by: Lee Mac on November 08, 2010, 07:13:28 AM
Wow - I didn't realise compilation made that much of a difference....
Title: Re: A diversion for the recreationally challenged.
Post by: ronjonp on November 08, 2010, 08:41:32 AM
So we can say while beats repeat except after c and when compiled?  :-D
Title: Re: A diversion for the recreationally challenged.
Post by: alanjt on November 08, 2010, 08:42:59 AM
So we can say while beats repeat except after c and when compiled?  :-D
LoL
Works for me.
Title: Re: A diversion for the recreationally challenged.
Post by: ronjonp on November 08, 2010, 09:22:03 AM
So we can say while beats repeat except after c and when compiled?  :-D
LoL
Works for me.
:-)