加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C# AutoCAD创建菜单

(2010-10-04 20:57:36)
标签:

杂谈

分类: C#-AutoCAD
    同样可以采用com的方式,与VBA类似(http://hi.baidu.com/kakanimo/blog/item/422777f55972edd0f2d385b9.html),代码如下:
public class Class_Initialize
    {
        public void AddMenu()
        {
            //COM方式获取AutoCAD应用程序对象
            AcadApplication acadApp = (AcadApplication)Application.AcadApplication;
            //为AutoCAD添加一个新的菜单,并设置标题为"MoKa插件"
            AcadPopupMenu MKMenu = acadApp.MenuGroups.Item(0).Menus.Add("MoKa插件");
            //声明一个AutoCAD弹出菜单项,用于获取添加的菜单项对象
            AcadPopupMenuItem MKMenuItem;

            //在新建的菜单中添加一个名为"横断面"的子菜单
            AcadPopupMenu MKMenuItems = MKMenu.AddSubMenu(MKMenu.Count + 1, "横断面 ");
            //在"横断面"子菜单下添加子菜单
            MKMenuItem = MKMenuItems.AddMenuItem(MKMenuItems.Count + 1, "创建高程", "KHDM ");
            MKMenuItem.HelpString = "在纬地生成的横断面基础上创建高程";//状态栏提示信息
            MKMenuItem = MKMenuItems.AddMenuItem(MKMenuItems.Count + 1, "编辑高程", "KED ");
            MKMenuItem.HelpString = "编辑MoKa插件生成的横断面高程";
            MKMenuItem = MKMenuItems.AddMenuItem(MKMenuItems.Count + 1, "删除高程", "KE ");
            MKMenuItem.HelpString = "删除MoKa插件生成的横断面高程";

            //添加一个分隔条以区分不同类型的命令
            MKMenu.AddSeparator(MKMenu.Count + 1);

            //将定义的菜单显示在AutoCAD菜单栏的最后
            MKMenu.InsertInMenuBar(acadApp.MenuBar.Count + 1);
        }
    }
需要注意的就是后面的命令如"KHDM "、"KED "、"KE "==。引号里面需要有个空格,否则你输入命令的时候会停在那,需要回车才能继续,而带了空格直接输入命令就能运行了。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有