我的DOSLIB是一年内下的
DOSLIB不是一个ARX吗怎么会可以按照需要加载?

- (defun dd_getacadver ( )
- (fix (atof (getvar "acadver")))
-
- )
- ;;
- (if (null dd*acadver*) (setq dd*acadver* (dd_getacadver)))
- ;;-------------------------------------------------
- ;;#$help.begin
- ;;##function.name-> (dd_autoloadlisp dir)
- ;;##keyword-> auto load lisp 自动 加载
- ;;##Description-> 自动加载指定路径下的所有LISP程序,包括子目录
- ;;##Arguments.begin
- ;| dir <STR> 文件路径,需以\\结束 |;
- ;;##Arguments.end
- ;;##return-> loadfiles <list> 成功加载的lisp文件全路径
- ;;##usextfunction->
- ;;##useDDsysvar->
- ;;##var.begin
- ;| |;
- ;;##var.end
- ;;##examples.begin
- ;| (dd_autoloadlisp14 "c:\" ) => |;
- ;;##examples.end
- ;;##seealso->
- ;;#$help.end
- ;;-------------------------------------------------
- (defun dd_autoloadlisp (dir / filepaths loadfiles filep file)
- (COND
- ((= dd*acadver* 14) ;;;;;;;;;;;R14
- (progn
- (if (setq filepaths (dos_subdir dir))
- (FOREACH filep filepaths
- (if (and (/= filep ".") (/= filep ".."))
- (dd_autoloadlisp (strcat dir filep "\"))
- )
- )
- )
- (if (setq files (DOS_DIR (STRCAT dir "*.LSP")))
- (FOREACH file files
- (progn
- (load (strcat dir file))
- ;(print (strcat dir file))
- (setq loadfiles (append loadfiles (list (strcat dir file))))
- )
- )
- )
- )
- )
-
- ((= dd*acadver* 15) ;;;;;;;;;;;20002
- (progn
- (if (setq filepaths (VL-DIRECTORY-FILES dir nil -1))
- (FOREACH filep filepaths
- (if (and (/= filep ".") (/= filep ".."))
- (dd_autoloadlisp (strcat dir filep "\"))
- )
- )
- )
- (if (setq files (VL-DIRECTORY-FILES dir nil 1))
- (FOREACH file files
- (if (= (strcase (vl-filename-extension file)) ".LSP")
- (progn
- (load (strcat dir file))
- ;(print (strcat dir file))
- (setq
- loadfiles (append loadfiles (list (strcat dir file)))
- )
- )
- )
- )
- )
- )
- )
- ) ;(princ "loaded")
- (princ)
- )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(arxload "D:\\ARX\\DOSLIBR14.ARX")
(dd_autoloadlisp "D:\\LISP\\")
;;;;;;;;
;;;;;;;;其实就这么上面两句话 在一般情况下可以通过
;;;;;;;但在ACAD.LSP 或者ACAD.MUL里一起加载就不可以,分开就可以 |