AutoCAD二次开发:创建自定义菜单(AcCui)

更新时间:2023-07-26 12:02:51 阅读: 评论:0

AutoCAD⼆次开发:创建⾃定义菜单(AcCui)
从CAD2007之后,Autodesk提供了⼀个新的程序集AcCui.dll,使⽤这个程序集,我们可以⽅便地做⼀些界⾯⽅⾯的操作,⽐如创建⾃定义菜单。突变论
下⾯介绍⼀下菜单的创建过程:
1、在项⽬中添加引⽤:AcCui.dll,这个DLL存放在CAD的安装⽬录中。但是,好像CAD2007之前的版本⾥没有这个DLL),我电脑上安装了CAD2004、CAD2005、CAD2008、CAD2010,其中,只有CAD2008和CAD2010中有这个DLL。
2、在代码中添加using:
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Customization;
using System.Collections.Specialized;
3、声明⼀个⾃定义组,在这个组中可以⾃定义我们的命令、菜单、⼯具栏等。
/
/⾃定义的组名
残忍的吻
string strMyGroupName = "MyGroup";
//保存的CUI⽂件名(从CAD2010开始,后缀改为了cuix)
string strCuiFileName = "MyMenu.cui";
//创建⼀个⾃定义组(这个组中将包含我们⾃定义的命令、菜单、⼯具栏、⾯板等)
CustomizationSection myCSection = new CustomizationSection();
myCSection.MenuGroupName = strMyGroupName;
4、创建命令组,并添加菜单命令
//创建⾃定义命令组
MacroGroup mg = new MacroGroup("MyMethod", myCSection.MenuGroup);
MenuMacro mm1 = new MenuMacro(mg, "打开⽂件", "OF", "");
硬盘响
白羊座和射手座MenuMacro mm2 = new MenuMacro(mg, "打开模板", "OM", "");
MenuMacro mm3 = new MenuMacro(mg, "保存", "SV", "");
5、创建菜单,如果菜单项是单级菜单,则直接声明为PopMenuItem即可;如果菜单项下有⼦级,则将其⼦级放到⼀个PopMenu中,然后将这个PopMenu放到PopMenuRef中,最后将PopMenuRef放到总菜单中。按照这个原理,可以创建多级菜单。
//声明菜单别名
StringCollection scMyMenuAlias = new StringCollection();
scMyMenuAlias.Add("MyPop1");
scMyMenuAlias.Add("MyTestPop");
大学生心理咨询//菜单项(将显⽰在项部菜单栏中)
PopMenu pmParent = new PopMenu("我的菜单", scMyMenuAlias, "我的菜单", myCSection.MenuGroup);
/
平行四边形判定定理/⼦项的菜单(多级)
PopMenu pm1 = new PopMenu("打开", new StringCollection(), "", myCSection.MenuGroup);
PopMenuRef pmr1 = new PopMenuRef(pm1, pmParent, -1);
PopMenuItem pmi1 = new PopMenuItem(mm1, "⽂件", pm1, -1);
PopMenuItem pmi2 = new PopMenuItem(mm2, "模板", pm1, -1);
//⼦项的菜单(单级)
PopMenuItem pmi3 = new PopMenuItem(mm3, "保存(&S)", pmParent, -1);
6、保存菜单⽂件
养羊怎么养
哺乳期可以烫发吗// 最后保存⽂件
myCSection.SaveAs(strCuiFileName);
本来还想实现菜单的⾃动加载,但是CUI菜单必须⽤cuiload命令进⾏加载,在⽹上找到的⽅法都是向CAD发送lisp命令调⽤cuiload,但是我没有调⽤成功过。
下⾯是⼀个测试程序的源码,开发环境是:VS2005 + CAD2008

本文发布于:2023-07-26 12:02:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1097318.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:菜单   创建   定义   命令   版本   安装   开发
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图