netload不能彈出對話框,參考文獻2
參考文獻1說明了自定義菜單的問題,用的是cad的系統命令
只要加載了dll,自定義的命令與cad的命令同等地位。
這時,可以將自定義菜單的系統命令替換為自定義命令。
? ? ? ? <CommandMethod("AddMenu")>
? ? ? ? Public Sub AddMenu()
? ? ? ? ? ? Dim currentPath1 As String = System.Environment.CurrentDirectory
? ? ? ? ? ? Dim currentPath As String = "D:\testVBNet\ODPM"
? ? ? ? ? ? Dim cs As CustomizationSection = activeDoc.AddCui(cuiFile, menuGroupName)
? ? ? ? ? ? cs.AddMacro("面板", "^C^C_CreatePalette1 ", "ID_MyPalette", "創建面板: ? CreatePalette1", currentPath & "\Image\Line.BMP")
? ? ? ? ? ? cs.AddMacro("多段線", "^C^C_Pline ", "ID_MyPLine", "創建二維多段線: ?PLINE", currentPath & "\Image\Polyline.BMP")
? ? ? ? ? ? cs.AddMacro("矩形", "^C^C_Rectang ", "ID_MyRectang", "創建矩形多段線: ?RECTANG", currentPath & "\Image\Rectangle.BMP")
? ? ? ? ? ? cs.AddMacro("圓", "^C^C_circle ", "ID_MyCircle", "用指定半徑創建圓: ? CIRCLE", currentPath & "\Image\Circle.BMP")
? ? ? ? ? ? cs.AddMacro("復制", "^C^CCopy ", "ID_MyCopy", "復制對象: ? COPY", currentPath & "\Image\Copy.BMP")
? ? ? ? ? ? cs.AddMacro("刪除", "^C^CErase ", "ID_MyErase", "從圖形刪除對象: ? ERASE", currentPath & "\Image\Erase.BMP")
? ? ? ? ? ? cs.AddMacro("移動", "^C^CMove ", "ID_MyMove", "將對象在指定方向上平移指定的距離: ?MOVE", currentPath & "\Image\Move.BMP")
? ? ? ? ? ? cs.AddMacro("旋轉", "^C^CRotate ", "ID_MyRotate", "繞基點旋轉對象: ?ROTATE", currentPath & "\Image\Rotate.BMP")
? ? ? ? ? ? Dim sc As StringCollection = New StringCollection()
? ? ? ? ? ? sc.Add("MyPop1")
? ? ? ? ? ? Dim myMenu As PopMenu = cs.MenuGroup.AddPopMenu("我的菜單", sc, "ID_MyMenu")
? ? ? ? ? ? If myMenu IsNot Nothing Then
? ? ? ? ? ? ? ? myMenu.AddMenuItem(-1, "面板", "ID_MyPalette")
? ? ? ? ? ? ? ? myMenu.AddMenuItem(-1, "多段線", "ID_MyPLine")
? ? ? ? ? ? ? ? myMenu.AddMenuItem(-1, "矩形", "ID_MyRectang")
? ? ? ? ? ? ? ? myMenu.AddMenuItem(-1, "圓", "ID_MyCircle")
? ? ? ? ? ? ? ? myMenu.AddSeparator(-1)
? ? ? ? ? ? ? ? Dim menuModify As PopMenu = myMenu.AddSubMenu(-1, "修改", "ID_MyModify")
? ? ? ? ? ? ? ? menuModify.AddMenuItem(-1, "復制", "ID_MyCopy")
? ? ? ? ? ? ? ? menuModify.AddMenuItem(-1, "刪除", "ID_MyErase")
? ? ? ? ? ? ? ? menuModify.AddMenuItem(-1, "移動", "ID_MyMove")
? ? ? ? ? ? ? ? menuModify.AddMenuItem(-1, "旋轉", "ID_MyRotate")
? ? ? ? ? ? End If
? ? ? ? ? ? cs.LoadCui()
? ? ? ? End Sub
如果發現菜單一直沒有更新,額可以將自定義的cuix文件刪除,重新加載
自動加載dll的方法見參考文獻7
至此VB.net開發CAD所有關節全部打通。
正式進入實際編程階段。
相對于VBA,VB.net更為靈活,做出的東西更像一個產品。
參考文獻
vbnet 實現AutoCAD自定義菜單和工具欄_vb,net 開發cad 添加菜單欄下拉子菜單-CSDN博客
AutoCAD輸入netload命令后不彈出菜單而是一直顯示程序集文件名解決方案-CSDN博客
https://www.cnblogs.com/loveclumsybaby/archive/2012/08/21/2649050.html
AutoCAD中.Net實現打開程序自動加載菜單欄的方法_cad二開自動加載按鈕-CSDN博客
https://www.cnblogs.com/bomb12138/p/3607929.html
https://www.cnblogs.com/bomb12138/p/3600842.html
cad二次開發——自動運行dll,加載菜單(收集)_cad開啟自動加載dll-CSDN博客