A-A+

当关闭AutoCAD文档时自动执行AutoLISP脚本程序

2017年11月24日 CAD 阅读 1,072 views 次

在AutoCAD中我们可以使用AutoLISP的vlr-command-reactor函数来监听文件的关闭事件FileOnClose,当监听到此命令时可以自动执行AutoLISP脚本来完成相应的工作。整个流程代码如下:
(defun AtEndCommand (calling-reactor b)
(if (= (nth 0 b) "CLOSE")
(关闭文档时要执行的代码)
)
)
(defun loadTheReactor ()
(vl-load-com)
(if *FileOnClose* (vlr-remove *FileOnClose*))
(setq *FileOnClose*
(vlr-command-reactor nil '((:vlr-commandEnded . AtEndCommand)))
)
)
(loadTheReactor)

使用此流程时需要注意:(1)不能在代码中执行更改即将关闭的AutoCAD文档内容的命令,因为更改AutoCAD文档后必须再次执行关闭动作,这样会造成死循环;(2)不能在代码中执行对话框相关操作,否则可能会造成致命错误。

个人公众号“数字化设计CAX联盟”,欢迎关注,共同交流
为您推荐:

给我留言

© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: