AutoCAD .Net 用代码创建菜单

以下程序示例:用代码创建菜单。
执行命令 TestMenu ,将在主菜单上创建下图所示的菜单。
这里写图片描述

static AcadPopupMenu testMenu = null;

[CommandMethod("TestMenu")]
public void TestMenu()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;
    AcadApplication acadApp = Application.AcadApplication as AcadApplication;

    // 创建菜单
    if (testMenu == null)
    {
        testMenu = acadApp.MenuGroups.Item(0).Menus.Add("测试菜单");

        testMenu.AddMenuItem(testMenu.Count, "Menu1", "line ");
        testMenu.AddMenuItem(testMenu.Count, "Menu2", "polyline ");
        AcadPopupMenu subMenu = testMenu.AddSubMenu(testMenu.Count, "Menu3");
        subMenu.AddMenuItem(testMenu.Count, "Cricle", "circle ");
        testMenu.AddSeparator(testMenu.Count);
        testMenu.AddMenuItem(testMenu.Count, "Menu4", "rectangle ");
    }

    // 菜单是否显示
    bool isShowd = false;
    foreach (AcadPopupMenu menu in acadApp.MenuBar)
    {
        if (menu == testMenu)
        {
            isShowd = true;
            break;
        }
    }

    // 显示菜单
    if (!isShowd)
    {
        testMenu.InsertInMenuBar(acadApp.MenuBar.Count);
    }
}
1

以上代码中用到的类 AcadApplication,需要添加引用 Autodesk.AutoCAD.Interop.dll。
该 dll 在对应版本的 ObjectARX 包中,需要下载 ObjectARX 安装。
(如:对于 AutoCAD 2014,在 ObjectARX 目录下的 inc-win32 或 inc-x64目录下)
ObjectARX 的下载地址如下:
AutoCAD 2010 ObjectARX
AutoCAD 2012 ObjectARX
AutoCAD 2014 ObjectARX
AutoCAD 2016 ObjectARX

2

AcadPopupMenuItem AddMenuItem(object Index, string Label, string Macro);
Index 为序号
Label 为菜单显示文本
Macro 为菜单项执行的命令文本

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值