highflybird
发表于 2011-10-15 14:18:01
cabinsummer 发表于 2011-10-15 14:10 static/image/common/back.gif
手动关闭也不影响安装。天正不会连手动关闭也不允许吧?
上面是测试截图。
虽然安装成功了,但出问题了,天正的多文档标签关闭对这个setup.dwg失效。setup.dwg也没有关闭。
cabinsummer
发表于 2011-10-15 14:39:58
highflybird 发表于 2011-10-15 14:18 static/image/common/back.gif
上面是测试截图。
虽然安装成功了,但出问题了,天正的多文档标签关闭对这个setup.dwg失效。setup.dwg ...
原来天正是建筑行业的,我在机械行业,所以不曾用过这个软件。在其它环境下的测试,也只能依靠各位大侠努力了。我在9月20日的帖子中就提到安装程序是开发者所写,我只能提供一个原理。我用此原理在自己公司能成功,并不代表适用于一切环境。就拿注册表一项来说,不同版本的CAD注册表还略有差别。如果要做成通用的安装程序,还需要很长一段路。如果大侠们有兴趣改进此方法,也希望能将源码贴出。
highflybir
发表于 2011-10-15 14:49:26
如果读者想要更深入了解CAD的启动,不妨参考如下链接:
http://www.360doc.com/content/11/0326/21/61809_104839543.shtml
cabinsummer
发表于 2011-10-15 15:10:27
highflybir 发表于 2011-10-15 14:49 static/image/common/back.gif
如果读者想要更深入了解CAD的启动,不妨参考如下链接:
http://www.360doc.com/content/11/0326/21/61809_ ...
看了链接的博客,发现有一处不一样的地方。博客中提到修改注册表要在CAD关闭的情况下,我的安装程序不需要关闭CAD就可直接用新功能,这是我亲眼所见不需要重启。安装程序中有通过改写注册表添加支持路径的功能。看来AutoCAD版本太多,情况过于复杂。所以安装程序还是需要开发者自己写。另外博客中提到,AutoCAD自身带的lsp、mnl如果重写的话会引起第三方软件的冲突。而我开发的程序都加上作者标记,比如zz_toolkit.mnl,我所有的程序都带前面都带有zz_。也希望其它开发者多注意这方面的情况,否则,即使手动加载,也会出现冲突。
cabinsummer
发表于 2011-10-15 21:31:12
highflybird 发表于 2011-10-15 14:04 static/image/common/back.gif
正是,就是连setup.dwg它都不让你关闭。我没理解错误。
你这个安装方法有很多可取的地方,但是唯一让我觉得 ...
附件是我改进后的测试部分。解压到E:\下,并建立D:\MyApp,有兴趣的人可以实践一下。
根据highflybird的建议,我把安装程序的acaddoc.lsp改进了一下。采用quit退出ACAD,而不是exit退出当前文档。原因如下:如果是双击setup.dwg打开新的AutoCAD窗口进行安装的话,AutoCAD会记得启动目录是E:\Setup,所以在不关闭AutoCAD的情况下新建文件总是要运行e:\setup\acaddoc.lsp,这样就会出错。而如果AutoCAD是通过快捷方式或先打开其它目录下的dwg文件时,双击setup.dwg安装就不会出错。综合各种情况,我用quit退出CAD来代替exit退出当前文档。在quit完全退出时,ACAD会提示是否要保存当前文档,此时你选择是与否都没有关系,聪明的你可以想想为什么。
另一个办法就是在e:\setup\acaddoc.lsp中加上自身的判断,比如(if (not (findfile "d:\\myapp\\myapp.mnu"))([setup函数])),这样新文件就会执行一次空安装,直到ACAD结束也不会出错。
cabinsummer
发表于 2011-10-15 21:36:15
cabinsummer 发表于 2011-10-15 21:31 static/image/common/back.gif
附件是我改进后的测试部分。解压到E:\下,并建立D:\MyApp,有兴趣的人可以实践一下。
根据highflybi ...
其实这也是我对AutoCAD启动顺序不太精通造成的。没有考虑清楚双击setup.dwg启动AutoCAD与其它情况不同。
nxchenjk
发表于 2011-10-15 22:15:37
高手太多了。有的还是看不懂。
hhh454
发表于 2011-10-19 19:52:01
高手实在是很多,我现在就学习简单的lisp,
弱水三千
发表于 2011-11-1 10:11:24
如何使用AutoLISP函数plot使几张图纸不用手动操作自动连续打印出来且名称会自动变化,如1.jpg、2.jpg、3.jpg等?不知道该怎么编程?有人知道吗?
cabinsummer
发表于 2011-11-1 19:02:24
弱水三千 发表于 2011-11-1 10:11 static/image/common/back.gif
如何使用AutoLISP函数plot使几张图纸不用手动操作自动连续打印出来且名称会自动变化,如1.jpg、2.jpg、3.jp ...
用(command "shell")试试?呵呵