CAD使用一个LISP文件,实现自动加载菜单和程序集
请大神指点,如何在这个LISP文件中同时实现自动加载C#的CAD程序集和自己写的菜单文件
需要加载的CAD菜单文件为 menu.mns 代码如下:
// 院工具
// [-----]
***MENUGROUP=院工具
***POP1
[SLTools]
[管线工具]^c^cHelloWorld
[--]
[面积计算]^c^cmj
[面积计算1]^c^cmj
[面积计算2]^c^cmj
by wst
LISP文件目前代码如下:
(COMMAND "NETLOAD" "D://DotNetARX.dll")
(Command "Showpalette")
求大神指点!!! 展开
2014-04-03 · 知道合伙人互联网行家
知道合伙人互联网行家
向TA提问 私信TA
在AutoCAD的安装文件夹下,有一个acadxxxx.lsp文件,此文件名中的xxxx代表一个年的版本数,例如在C:\Program Files\Autodesk\ACADM 2010\Support下,有个acad2010.lsp文件。在它的最后加上你的后两个函数句子,保存之(见以下第一个截图)。这样在AutoCAD启动后,就会自动运行这两句函数。而且一般默认的是每新建一张图时,均会自动运行。还有几个文件也会在加载时自动调入内存的,从“应用程序加载”对话框中可以看出(见下面第二个截图的左下角)。如果你在这些文件中加入函数,它们都会自动运行的。
至于你的菜单文件,其实是屏幕菜单,现在Autodesk公司在帮助文件中声明快要淘汰这种菜单了,从2010版看尚可使用。然而菜单文件已经变成.cuix文件,虽然仍能用(command "munuload" "xxx")函数加载局部菜单-这里xxx代表后缀为.mnu的菜单文件的前缀,然而新的菜单自定义方式已经在“自定义用户界面”的对话框中进行,这个对话框已经融合了工具栏、命令、下拉菜单等的所有界面自定义功能,但已不支持屏幕菜单的自定义。在这个对话框中,可以加载原有的主菜单文件,然后在其中插入相应的局部菜单、或者在新的混合菜单文件中增加自定义的命令、下拉菜单项、右键快捷菜单,并可以作为一个新的用户界面文件.cuix保存之。你可以参见下述的帮助文件“开发人员文档/目录选项卡”中的“自定义手册”-其中有.cuix文件的编辑方法,并且写道:基于 XML 的 CUIx 文件取代了 AutoCAD 2010 之前版本中的自定义文件和菜单文件。用户无需使用文字编辑器来自定义 AutoCAD 2006 之前的版本中使用的菜单文件(MNU 和 MNS 文件),而可以在 AutoCAD 内的(自定义用户界面对话框中)自定义用户界面。
因此,你的屏幕菜单的内容,就需换一种比较直观的方式,在此对话框中进行,建议增加一个下拉菜单,并先定义好新的命令(代替你原来的屏幕菜单中的宏命令)之后,将其引用到这个下拉菜单的菜单项中去。最后另存这个混合的“自定义用户界面”文件(.cuix),就可以复制给其他人以供使用了。