C# SolidWorks二次开发——新增一个插件按钮(SolidWorks 2020 + VS 2019)
创建插件Addin后,我们可以对原有的按钮进行修改,如修改按钮调用的函数或者直接修改按钮调用的函数“CreateCube”中的内容。
原Addin插件模板中有两个初始按钮,我们也可以新增一个新按钮来实现我们想要的功能。下面介绍如何新增一个插件按钮。
1、找到Addin模板中的SwAddin.cs
2、在SwAddin类中找到AddCommandMgr()函数
3、在AddCommandMgr()函数新增一个int变量
在AddCommandMgr()函数新增一个int变量,命名随意,在这里我和默认的变量名保持一致,命名为“cmdIndex2”。该变量用来作为下一步AddCommandItem2方法的返回值。
//创建新按钮第1步
int cmdIndex2;
4、调用cmdGroup.AddCommandItem2方法
在AddCommandMgr()函数相应位置调用cmdGroup.AddCommandItem2方法。该函数的具体用法和每个参数的含义可以查阅帮助文档。
cmdIndex2 = cmdGroup.AddCommandItem2("New Button", -1, "Show how to create a new button", "New Button", 2, "NewButton", "", mainItemID3, menuToolbarOption);
以我创建的新按钮为例,常用的几个参数的含义为:
第一个参数“New Button”表示按钮名称;
第三个参数“Show how to create a new button”表示按钮的注释,即鼠标悬停后的提示;
第六个参数“NewButton”表示该按钮会调用的函数名;
5、修改对于数组长度,新增相应数组项
在AddCommandMgr()函数相应位置修改对应数组长度,并增加相应数组项,修改后续相应数组序号。
首先,修改对应数组长度;
之后,增加相应数组项;
最后,修改后续相应数组序号;
最后修改后如图
6、在SwAddin类中任意位置创建按钮调用的函数
在SwAddin类中任意位置创建按钮调用的函数,函数名与在第4步AddCommandItem2方法中第六个参数中调用的函数名保持一致。
在这里,我创建了NewButton()函数作为简单示例。
public void NewButton()
{
//获取当前文档
IModelDoc2 activeDoc = iSwApp.IActiveDoc2;
//清除选择
activeDoc.ClearSelection2(true);
//当前文档转换为零件文档
IPartDoc currentPartDoc = (IPartDoc)activeDoc;
if (currentPartDoc != null)
{
//发送提示消息给用户
iSwApp.SendMsgToUser("New Button.");
}
}
7、启动调试
启动后,若出现新增的按钮,按下按钮后正确调用了按钮的函数,说明新增按钮成功。