CAD使用一个LISP文件,实现自动加载菜单和程序集

我写了一个LISP文件,实现了自动加载我用C#编写的CAD程序集请大神指点,如何在这个LISP文件中同时实现自动加载C#的CAD程序集和自己写的菜单文件需要加载的CAD菜... 我写了一个LISP文件,实现了自动加载我用C#编写的CAD程序集

请大神指点,如何在这个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")
求大神指点!!!
展开
 我来答
zxg_zyr
2014-04-03 · 知道合伙人互联网行家
zxg_zyr
知道合伙人互联网行家
采纳数:1368 获赞数:7047
1982年1月毕业于北京钢铁学院,金属压力加工学士学位,长期从事CAD设计工作至今,能应用Autolisp语言编程。

向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),就可以复制给其他人以供使用了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式