用vl-doc-export和vl-doc-import函数实现autolisp自定义函数的引用

vl-doc-export和vl-doc-import函数配合使用,可实现自定义函数的引用,可将常用的自定义函数放到一个文件中,类似一个库文件,在其他程序中直接引用,提高代码复用效率。

1、首先用vl-doc-export声明函数可被引用,如TestAdd.lsp文件代码如下:

(vl-doc-export 't-plus)    ;这个声明必须放到所有函数之外,文件的顶层
(defun t-plus (a b / sum a b)
  (setq sum (+ a b))
  (princ "\na+b=")
  (princ sum)
  (print)
)

 

2、在visual Lisp中将TestAdd.lsp编译为testadd.VLX文件,注意:使用应用程序向导的专家模式,vlx文件的名称要和lsp文件一致(不分大小写),这样vlx文件就不依赖fas文件了,选中“独立名称空间”选项(这一点比较重要)。

3、在要引用上述函数的文件中,先加载vlx文件,再用vl-doc-import引用函数,以下是a-add-b.lsp文件的代码:

(if (vl-vlx-loaded-p "testadd")
  ()              ;如果已加载,什么都不做
  (load "d:/testadd.vlx")       ;如果没有加载,用load函数加载D盘根目录下的testadd.vlx文件
)
(vl-doc-import "testadd" 't-plus)
(defun c:a-add-b()
  (setq a (getreal "a="))
  (setq b (getreal "b="))
(t-plus a b)
)

最终效果如下:

 

posted @ 2024-05-03 14:52  遇事修性遇人修心  阅读(126)  评论(0)    收藏  举报