天天看點

AutoCAD .Net 用代碼建立菜單

以下程式示例:用代碼建立菜單。

執行指令 TestMenu ,将在主菜單上建立下圖所示的菜單。

AutoCAD .Net 用代碼建立菜單
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().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 為菜單項執行的指令文本

繼續閱讀