A-A+

当在AutoCAD中保存文件时自动执行AutoLISP脚本程序

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

在AutoCAD中我们可以使用AutoLISP的vlr-command-reactor函数来监听文件的保存事件FileOnSave,当监听到此命令时可以自动执行AutoLISP脚本来完成相应的工作。整个流程代码如下:
(defun AtSaveCommand (calling-reactor b)
(if
(or
(= (car b) "QSAVE")
(= (car b) "SAVEAS")
(= (car b) "SAVE")
)
(保存文件时要执行的代码)
)
)
(defun loadTheSaveReactor ()
(vl-load-com)
(if *FileOnSave* (vlr-remove *FileOnSave*))
(setq *FileOnSave*
(vlr-command-reactor nil '((:vlr-commandwillStart . AtSaveCommand)))
)
)
(loadTheSaveReactor)

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

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

给我留言

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

用户登录

分享到: