如何在SolidWorks的任务窗格里设计一个插件,xCAD帮你快速实现
在任务窗格里设计插件和在工具栏里设计插件的原理是基本相同的,用xCAD框架设计插件,除了可以把插件放在工具栏和任务窗格里,还可以放在底部的模型标签处。xCAD给我们提供了非常简洁快速的方法实现插件设计。下面就来看看如何把插件放到任务窗格里以及其中的一些注意事项。首先,在Visual Studio里创建一个.NET Framework类库项目。在NuGet中安装Xarial.XCad.SolidWorks。这些过程和之前发布的文章里介绍的一样,不再赘述。在下面的例程里,我创建一个名叫WinformTaskPane的.NET Framework类库项目。给项目添加资源文件Resources.resx,并在这个资源文件中添加一个图片Icon。

再给项目添加一个窗体Form1,在窗体里添加需要的控件,在本例中,只添加一个按钮Button1。点击Button1后需要运行的具体代码这里就不贴出来了,相信只要有Winform开发经验的人都知道该怎么写。但是在这里建议设置一下Form1的属性,把它的ControlBox属性改成False,也就是把窗口右上角的最小化、最大化和关闭窗体这3个图标取消,这是因为在后续运行程序时,如果点击关闭窗体,会使得窗体里的所有控件都无法运行,而窗体仍然显示着这些控件。

再给项目添加一个名为Main.cs的类,这个类作为程序的主入口,它的全部代码如下所示:
using System; using System.ComponentModel; using System.Runtime.InteropServices; using Xarial.XCad.Base.Attributes; using Xarial.XCad.SolidWorks; using Xarial.XCad.UI.TaskPane.Attributes; using Xarial.XCad.UI.TaskPane.Enums; using Xarial.XCad.UI; using System.Windows; namespace WinFormTaskPane { [Title("TaskPane")] [Description("全栈开发的码农")] [ComVisible(true),Guid("c1eb8dad-7d55-444e-84e4-dfa80e44e307")] public class Main:SwAddInEx { public enum TaskPaneCommands_e { [Title("Task Pane Command")] [Icon(typeof(Resources),nameof(WinFormTaskPane.Resources.Icon))] Command, [TaskPaneStandardIcon(TaskPaneStandardIcons_e.Close)] Close } private IXTaskPane<Form1> m_TaskPane; public override void OnConnect()//重写OnConnect方法 { var cmdTaskPane =this.CreateTaskPaneWinForm<Form1, TaskPaneCommands_e>(); cmdTaskPane.ButtonClick += OnTaskPaneButtonClick; m_TaskPane = cmdTaskPane; } private void OnTaskPaneButtonClick(TaskPaneCommands_e spec) { switch(spec) { case TaskPaneCommands_e.Command: MessageBox.Show("全栈开发的码农_第一个任务窗格插件"); break; case TaskPaneCommands_e.Close: //m_TaskPane.Close(); //不建议在这里写任何代码 break; } } } }
在上面代码中,首先定义了插件的标题、描述和GUID,其中GUID是插件的身份证,每个插件都不相同。接下来定义了一个枚举对象TaskPaneCommands_e,这里面的两个对象就对应着插件左上角的两个图标,如下图。

紧接着定义一个私有的IXTaskPane对象m_TaskPane,这个对象用窗体Form1作为类型。最后重写OnConnect方法,在OnConnect方法中,创建一个TaskPane,并给这个TaskPane绑定点击后的相应方法。本例中虽然添加了TaskPaneCommands_e.Close这个枚举变量,但是不建议给它添加关闭整个任务窗格插件的代码,因为关闭插件后,需要重新启动SolidWorks才能再次把插件显示到任务窗格里。关于任务窗格的插件设计就介绍到这里,这个插件的部署或安装方法和其它插件的部署或安装方法完全相同,请参阅其它相关文章?如果有任何问题,欢迎留言或私信小编,如果你觉得本文对你有帮助,请关注、点赞、推荐,让更多的朋友看到。
浙公网安备 33010602011771号