明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2944|回复: 7

打开DWG文件就自动执行程序??

[复制链接]
发表于 2005-3-18 08:45:00 | 显示全部楼层 |阅读模式
我想实现这样一个功能:只给对方DWG文件,如何让对方打开时就自动执行程序。我想只有用永久反应器了,但回调函数怎么办?
“反应器只是链接事件和回调函数的一种工具,即使反应器还在,回调函数本身并不是反应器的一部分,它一般也不是图形的一部分。只有在 AutoCAD 中加载了相关联的回调函数时,图形中保存的反应器才有实际作用。如果将反应器和回调函数定义在独立名称空间 VLX 中,则在打开图形时会自动加载回调函数。
如果打开的图形包括 VLISP 反应器信息,但没有加载相关回调函数,AutoCAD 会显示错误信息。可用函数 vlr-pers-list 返回图形文档中所有永久反应器组成的表。”——摘自帮助
发表于 2005-3-18 08:57:00 | 显示全部楼层
那就写在MNL文件里嘛
发表于 2005-3-18 09:21:00 | 显示全部楼层
可以上传例子源码?
 楼主| 发表于 2005-3-18 09:29:00 | 显示全部楼层
我只给对方COPY一份DWG文件带走啊,打开就执行; 写MNL那还是要他COPY一份LIP程序的! ---------------------------- (vl-load-com)
(if (not myreactor1)
(setq MyReactor1
(vlr-dwg-reactor
nil
'((:VLR-saveComplete . DoThisBeforeSave)
)
)
)
) (vlr-pers myreactor1) (defun DoThisBeforeSave (Caller CmdSet)
(alert "You are about to save the drawing!")
(princ)
)
--------------------------------- 呶,上面的加载后关闭CAD,回调函数怎么办? 拿上面的程序举例:我要对方把DWG文件拷回家后,当保存时出现alert。
发表于 2005-3-18 09:47:00 | 显示全部楼层
<H5 class=heading_mid>VBA sounds reasonable for your solution.</H5>
<H5 class=heading_mid>Enable Auto Embedding </H5>
< class=body>The auto embed feature automatically creates an embedded VBA project for all drawings when the drawing is opened.
 楼主| 发表于 2005-3-18 11:17:00 | 显示全部楼层
Alin斑竹的意思是用VBA?


很不好意思,VBA实在不太懂,但又很需要这样的功能,请问谁能写个程序啊!!
发表于 2005-3-18 13:05:00 | 显示全部楼层
Wish you can get some ideas from the thread below http://discussion.autodesk.com/thread.jspa?messageID=1110922
发表于 2005-3-26 14:42:00 | 显示全部楼层
又学了一招。谢谢ALIN斑主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 14:25 , Processed in 0.161726 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表