- UID
- 5945
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-6-1
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2004-12-1 22:57:26
|
显示全部楼层
谢谢斑竹
制作了一个lsp,fas加载函数与大家分享:
;;;(fi_loadlisp_in_a_directory dir);加载一个文件夹中的所有LSP文件,dir为一文件路径字符串,如:"C:/zlisp";;
;;;作者: xdcad.星星 2004年12月1日;;;
;;;此文件可以全文可以添加在acad2000.lsp文件中,并在其后添加如:(fi_loadlisp_in_a_directory "C:/zlisp")
;;;从而实现自动加载文件夹中的所有LSP文件;;;
;;;本函数与fi-AUTOLOAD相比只加载直接目录下的文件,而fi_autoload则加载所有各级子目录中的所有fas和lap文件;;
;;;在cad2000中自动加载文件的工具,这样省去autoload的麻烦,
;;;;文件可以加载则加载,如果不能则跳过,并且能够统计一共有哪些文件未被加载,
(DEFUN fi_loadlisp_in_a_directory (dir / FI FILI ERRLI)
(setvar "cmdecho" 0)
(setq errli(list))
(SETQ FILI (vl-directory-files dir))
(mapcar '(lambda (fi / fufi)
(setq fufi(strcat dir "/" fi))
(IF (OR (= (VL-FILENAME-EXTENSION FI) ".LSP")
(= (VL-FILENAME-EXTENSION FI) ".lsp")
(= (VL-FILENAME-EXTENSION FI) ".FAS")
(= (VL-FILENAME-EXTENSION FI) ".fas")
);过滤出lsp,fas文件;;;
(if (vl-catch-all-error-p (vl-catch-all-apply 'load (list fufi)))(setq errli(cons fufi errli)))
) ;IF
)
FILI
)
(PRINC "以下函数出现加载错误:")
(setq errli errli)
) |
|