mikewolf2k 发表于 2004-2-13 20:18:00

怎样启动时自动加载dvb文件?

如题.不然每次都要手动加载,麻烦之极.

HQ_2003 发表于 2004-2-14 12:39:00

这样的问题论坛挺多的,自己搜索一下吧

myfreemind 发表于 2004-2-15 12:27:00

在“实用函数”里的autovbaload函数可以完成你说的功能!去找找!

gosan 发表于 2004-3-13 10:00:00

把dvb文件放到support目录下就可以了

把dvb文件放到support目录下就可以了

gosan 发表于 2004-3-13 10:05:00

补充一点:不过要把.dvb文件改成acad.dvb ,再放入support目录下

莫名 发表于 2004-3-13 21:05:00

在acad.dvb的SUB ACADStartup中加入加载DVB工程文件的语句

mccad 发表于 2004-3-13 21:23:00

我的建议是将加载DVB文件的语句写到acad2004doc.lsp文件中。原因是:acad2004doc.lsp文件是文本文件,所以可以在写安装程序时直接在该文件末尾添加相关的内容,而不象acad.dvb文件不能用文本编辑器修改,只能用文件覆盖。如果只加载,不运行,可以象这样写上:
;;加载VBA程序(vl-vbaload (findfile "UnNameGroup.dvb"))
(vl-vbaload (findfile "AutoPlotConfig.dvb"))
(vl-vbaload (findfile "SetDwgProp.dvb"))
(vl-vbaload (findfile "AutoLayer.dvb"))如果想将DVB文件做一些LSP命令调用,可以这样:;;给标注增加括号的命令
(defun c:ab()
       (setvar "cmdecho" 0)
       (command "-vbarun" "adddia.dvb!AddBracket")
       (setvar "cmdecho" 1)
(princ)
)

subtlation 发表于 2004-3-14 11:15:00

我的做法是:在acad2004doc中加入语句


(load "my.lsp")


在my.lsp中写一系列的语句:


(defun c:DrawT () (command "-vbarun" "DrawT.dvb!Module1.DrawT"))


drawt.dvb文件要在支持目录中。


这样的好处是,不用每次启动都加载dvb文件,只有在用到这个命令时才加载。

mikewolf2k 发表于 2004-3-14 14:23:00

谢谢各位,


我现在有这么一个问题,在acad2000.lsp加载dvb时,每打开一个新图都会重新加载一次,由于我的dvb中有一个menu子程序,用处是在acad新建一个菜单.在加载dvb时就执行这个子程序,这样经常出现问题,在打开新图时停在了vbarun处,然后就无任何反应,绘图区域鼠标无显示,命令行也不接受按键,即使时关闭cad也显示有命令未执行完毕,不能关闭.


我怀疑是由于前一幅图已经新建了菜单,再打开其他图执行到menu时发现有重名的菜单因此冲突.但这也不是绝对的,并不是所有的打开新图都会错误.


因此我的目标是只在autocad打开时加载dvb,执行menu,以后打开新图都不会重新加载dvb文件.请教如何实现?

subtlation 发表于 2004-3-14 16:28:00

一个变通的做法:


在dvb文件里加一个判断,如果已经有这个菜单了,就不再往下运行。
页: [1] 2 3 4
查看完整版本: 怎样启动时自动加载dvb文件?