怎样启动时自动加载dvb文件?
如题.不然每次都要手动加载,麻烦之极. 这样的问题论坛挺多的,自己搜索一下吧 在“实用函数”里的autovbaload函数可以完成你说的功能!去找找!把dvb文件放到support目录下就可以了
把dvb文件放到support目录下就可以了 补充一点:不过要把.dvb文件改成acad.dvb ,再放入support目录下 在acad.dvb的SUB ACADStartup中加入加载DVB工程文件的语句 我的建议是将加载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)
) 我的做法是:在acad2004doc中加入语句
(load "my.lsp")
在my.lsp中写一系列的语句:
(defun c:DrawT () (command "-vbarun" "DrawT.dvb!Module1.DrawT"))
drawt.dvb文件要在支持目录中。
这样的好处是,不用每次启动都加载dvb文件,只有在用到这个命令时才加载。 谢谢各位,
我现在有这么一个问题,在acad2000.lsp加载dvb时,每打开一个新图都会重新加载一次,由于我的dvb中有一个menu子程序,用处是在acad新建一个菜单.在加载dvb时就执行这个子程序,这样经常出现问题,在打开新图时停在了vbarun处,然后就无任何反应,绘图区域鼠标无显示,命令行也不接受按键,即使时关闭cad也显示有命令未执行完毕,不能关闭.
我怀疑是由于前一幅图已经新建了菜单,再打开其他图执行到menu时发现有重名的菜单因此冲突.但这也不是绝对的,并不是所有的打开新图都会错误.
因此我的目标是只在autocad打开时加载dvb,执行menu,以后打开新图都不会重新加载dvb文件.请教如何实现? 一个变通的做法:
在dvb文件里加一个判断,如果已经有这个菜单了,就不再往下运行。