上期我們談談了談EPLAN電氣制圖二次開發,制圖軟件EPLAN的安裝和破解,今天我們來說說使用C#語言,如何實現Api插件及菜單,今天它來了!!!
關於項目環境的搭建請參考:https://blog.csdn.net/Laity07/article/details/109215518
下面我們一起來看看
我們就以我寫的一個例子來看
首先建立一個這樣的類,

using Eplan.EplApi.ApplicationFramework; using Eplan.EplApi.DataModel; using Eplan.EplApi.HEServices; using Frm_Eplan_EplanApi; using Frm_Eplan_EplanApi.ViewModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Forms; namespace Eplan_EplanApi { public class MyAction : IEplAction, IEplActionEnable { //public delegate //PathFileAcross pathFile; public bool Execute(ActionCallingContext ctx) { return true; } public bool OnRegister(ref string Name, ref int Ordinal) { Name = "功能配置"; Ordinal = 20; return true; } public void GetActionProperties(ref ActionProperties actionProperties) { // actionProperties.Description = "Action test with parameters."; } public bool Enabled(string strActionName, ActionCallingContext actionContext) { return true; } } }
第二步,我們再建一個這樣的類

using Eplan.EplApi.Base; using Eplan.EplApi.Gui; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using ContextMenu = System.Windows.Forms.ContextMenu; namespace Eplan_EplanApi { public class AddInModule : Eplan.EplApi.ApplicationFramework.IEplAddIn { public bool OnExit() { return true; } public bool OnInit() { return true; } public bool OnInitGui() { //菜單欄菜單 Eplan.EplApi.Gui.Menu oMenu = new Eplan.EplApi.Gui.Menu(); //一級菜單 uint num1 = oMenu.AddMainMenu("Test", Eplan.EplApi.Gui.Menu.MainMenuName.eMainMenuHelp, "項目配置", "MyAction", "項目配置", 0); #region 單功能配置顯示二級菜單 //我們在一級菜單的基礎上新增新的菜單,並在二級菜單顯示新的子菜單 //此處的“功能配置”為二級菜單名稱 uint menu3 = oMenu.AddPopupMenuItem("功能配置", "此處都為你二級菜單下子菜單的Action類(例如:電源進線)", "電源進線", "電源進線", num1, 1, false, false); oMenu.AddMenuItem("控制電源", "此處都為你二級菜單下子菜單的Action類(例如:控制電源)", "控制電源", menu3, 1, true, false); #endregion return true; } public bool OnRegister(ref bool bLoadOnStart) { bLoadOnStart = true; return true; } public bool OnUnregister() { return true; } } }
最后一定要把 右擊-打開項目屬性的程序集名稱修改為這樣的格式 EPLAN.EplAddin.MyAddIn
這些都設置好了,我們下面看看將生成的.dll的程序集加載到EPLAN中后的效果吧
最后這個東西吧,還是要好好閱讀API文檔,看懂了就明白了。
https://blog.csdn.net/Laity07/article/details/109236645
Nothing that has meaning is easy.
凡是有意義的事都不簡單。