明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2910|回复: 11

可不可以在打开图时就执行工程?

[复制链接]
发表于 2005-3-18 19:35:00 | 显示全部楼层 |阅读模式
  AutoCAD2002中用VBA开发了一个工程,已经嵌入到了dxt.dwg中。现在每次要运行程序,都要打开图,然后点击“工具->宏->宏”,出现对话框后再点运行。比较麻烦。


  可不可以在打开图的时候就执行图中嵌入的工作??


  多谢!
发表于 2005-3-19 06:55:00 | 显示全部楼层

用户可以自动运行 acad.dvb 文件中的任何宏,方法是从 AutoCAD 启动功能(如 acad.lsp)中通过 VBARUN 的命令行版本调用。例如,要自动运行名为 drawline 的宏,请先将 drawline 宏保存在 acad.dvb 文件中。然后调用 notepad.exe 并在 acad.lsp 中创建(或附加)下面几行:

(defun S::STARTUP()
     (command "_-vbarun" "drawline")
)

将宏命名为 AcadStartup,这样在加载 VBA 时就会自动运行该宏。当加载 VBA 时,将自动执行 acad.dvb 文件中所有名为 AcadStartup 的宏.

 楼主| 发表于 2005-3-19 12:24:00 | 显示全部楼层
  acad.dvb 文件是不是还要放在Support文件夹中? acad.lsp 也是在Support文件夹中吧?如果这样的话,别人要是拷贝我的文件用的话,是不是也要将acad.dvb 文件粘贴到Support文件夹中,是不是还得将
(defun S::STARTUP()
     (command "_-vbarun" "drawline")
)

价码也加到acad.lsp 中?这样不是会给用的人带来些麻烦!可不可以就将工程放在图里,每次只拷一个图就可以,然后打开图以后就可以自动运行宏?或者将图和工程分开也行,也就是将工程也拷贝过去,然后打开图时就可以自动运行宏。而不用每换一台机器都要将将acad.dvb 文件粘贴到Support文件夹中,而且每次都要改acad.lsp 文件。
发表于 2005-3-19 13:59:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-3-20 01:30:00 | 显示全部楼层
楼上的利用event
好办法
发表于 2005-3-21 11:53:00 | 显示全部楼层
alin发表于2005-3-19 13:59:0016869

能否提供一个用2002可以打开的版本?
发表于 2005-3-21 14:46:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-3-21 17:53:00 | 显示全部楼层
谢谢
 楼主| 发表于 2005-3-21 18:11:00 | 显示全部楼层
多谢版主了!
 楼主| 发表于 2005-3-21 18:27:00 | 显示全部楼层
现在我又遇到了新问题!


每次打开底图都会在此图上生成新的图,而新图都是与数据相关的,不同的数据生成的图就不一样。如果我要把新图保存下来,为了不破坏底图,要选择“另存为”。而我另存了新图以后,再将其打开的时候,他还会运行嵌入的程序(这时不需要运行嵌入的程序,因为图的结果我已经有了,我只想看存下来的图),因为程序是嵌入图中的,也被存了下来。


现在不知道该怎么解决了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:58 , Processed in 0.165272 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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