C# SolidWorks 二次开发 API---调用Solidworks命令
在开发过程中,大家可能会遇到我想执行某个命令,但是api中没有提供对应的方法。
比如说用户选中一个尺寸时,solidworks的左侧属性框就会自动出来(有个选项可以控制),但此时如果我们想关闭属性框。应该怎么操作? 通过正常的测试可以发现按esc就可以。
当然如果直接发送系统的键盘命令的话,还需要先切换焦点到solidworks中。虽然 也可以实现,相对麻烦。
这时候我们可以通过另一种方式来执行命令,这个方式和我们手动点击菜单中的命令按钮是一样的效果。
这个我就不细说了,下面看一下简单的例子:
首先需要引用SolidWorks.Interop.swcommands
代码比较简单
SldWorks swApp = PStandAlone.GetSolidWorks();//执行命令监控swApp.CommandOpenPreNotify += SwApp_CommandOpenPreNotify;//请参考SolidWorks.Interop.swcommands//swCommands_e 命令操作//swMouse_e 鼠标操作//打开选项对话框//swApp.RunCommand((int)swCommands_e.swCommands_Options, "");//开始3d草图swApp.RunCommand((int)swCommands_e.swCommands_3DSketch, "");//单击右键//swApp.RunCommand((int)swMouse_e.swMouse_Click, "");
在零件或者装配体的状态下执行后,就会看到solidworks已经在3d草图状态下了。
下面这个事件就可以对执行的命令进行记录。还可以限制用户进行一些特殊的命令,如下面的代码就禁用了过滤面命令。
这个可以扩展很多功能,比如做一些标准化管理,限制用户乱改配置。
/// <summary>/// 在执行命令前通知。/// </summary>/// <param name="Command"></param>/// <param name="UserCommand"></param>/// <returns></returns>private int SwApp_CommandOpenPreNotify(int Command, int UserCommand){Debug.Print($@"command is :{Enum.GetName(typeof(swCommands_e), Command)}");Debug.Print($@"user command Id is :{UserCommand}");if (Command == (int)swCommands_e.swCommands_FilterFaces){MessageBox.Show("Fillet Faces Command is disable!");return 1;}return 0;}
在用户点击过滤面的时候就会出现:
C# SolidWorks 二次开发 API---调用Solidworks命令相关推荐
- 微信API接口、微信二次开发API调用
微信API接口.微信二次开发API调用 微信协议接口调用-加微信好友及通过好友请求 加微信好友 /** * 微信自动添加好友 * @author wechatno:tangjin ...
- C# SolidWorks 二次开发 API --- 提升exe执行效率接近DLL
最近一段时间没更新博客,原因比较多.作为湖北人,今年的班上的不容易.当然还是要感谢各地的支援. 今天来和大家分享一下一个关于exe提升性能的选项,因为之前主要写的exe比较多,后来改成dll之后效率提 ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译 之官方示例
这是2018版 自带帮助文件的API例子中文导航,如果有错误的,请指出来 时间原因,我没有一一测试,只是大概过滤了一下. 共计750个例 子: 中文标题 Web Link 将绘图表缩放到窗口中的最大尺 ...
- api 二次 开发 禅道_VBA SolidWorks 二次开发 API ---从宏开始
Macro是可以用来录制一些操作的工具,然后你可以看到具体内部执行的一些代码.通过这些代码,我们可以更快更直接的找到所需要查询的API函数.我们以最简单的做一个拉伸特征开始,看如何找到对应的API 1 ...
- VBA SolidWorks 二次开发 API ---从宏开始
Macro是可以用来录制一些操作的工具,然后你可以看到具体内部执行的一些代码.通过这些代码,我们可以更快更直接的找到所需要查询的API函数.我们以最简单的做一个拉伸特征开始,看如何找到对应的API 1 ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译 ModelDocExtension 方法
AddAngularRunningDim Method (IModelDocExtension) 为选定实体添加指定的角度运行标注. AddComment Method (IModelDocExten ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译-完整版共享
这是2018的api帮助文档看了一下翻译版,我把之前翻译的文件免费共享下,希望能对大家有所帮助. 如果大家想查找快速了解某个功能,可以直接在Excel表中查找全部. 之前有两篇共享了官方示例与Mode ...
- C# SolidWorks 二次开发 API --- 实例:打包文件
我们开发的程序使用过程中经常要使用一些做好的模板,尤其是参数化的时候,这样就难免有一些文件需要从指定的地方复制过来,或者说还要把文件名替换掉,还可以加一些前缀或者后缀.这个例子也只是一个最简单的打包方 ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译 ModelDoc2 属性和IModelDocExtension属性
属性名称 描述 ActiveView Property (IModelDoc2) 获取只读模式下的当前活动模型视图.注意:此属性是一个get-only属性.集合未实现. ConfigurationMa ...
- C# SolidWorks 二次开发 API ---读取零件相关属性
如何读取零件相关属性 这一篇看下如何读取属性: 直接上代码: 代码如下: private void BtnGetPartData_Click(object sender, EventArgs e){/ ...
最新文章
- ORB_SLAM2中的Sim3变换
- jquery $.post 超时_jQuery介绍
- wxWidgets:wxListbook类用法
- cxf restful_使用Apache CXF开发RESTful服务
- 使用Spring Data MongoDB和Spring Boot进行数据聚合
- 计算机文化基础论述题,计算机文化基础复习题六
- android alarmmanager定时任务,AlarmManager 实现定时任务
- 五月数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待
- java实验二 类和对象
- 金融数据分析与挖掘实战1.4.4-1.5.1
- Intel开发工具之VTune
- 【论文写作】JSP旅游网如何写总体设计
- 【Qt学习笔记】10.主窗口 The Main Window
- js获取td的html,js中获取 table节点各tr及td的内容简单实例
- LINUX编译GtkLP(开源的打印机图形化工具)
- vivado实现cameralink接口
- 码率自适应算法深入浅出
- latex引用图标出现问号
- No virtual method
- “加号 +” 的运算原理(详细!!!)
热门文章
- vb.net 教程 3-8 窗体编程 容器 1 Panel GroupBox
- 云南大学计算机专业双一流排名,42所双一流、39所985大学四档排名分析
- 数据结构实验报告——约瑟夫问题(循环链表)
- 编写一个C程序,实现以下功能: 张三、李四、王五三个人同时放鞭炮,张三每隔i秒放一个,李四每隔j秒放一个,王五每隔k秒放一个,他们各自放n个。对任意给定的i、j、k和n,求能听到多少声鞭炮响。
- 从零开始理解DM368的H264视频编码过程(上)
- 全球及中国分子束外延(MBE)系统行业研究及十四五规划分析报告
- Android开发之Windows系统adb环境设置
- VSTO,COM加载项勾选后不显示,始终处于未加载状态
- ​ leetcode 714. 买卖股票的最 佳时机含手续费 medium ​
- mysql datareader dataset_DataReader与DataSet的选择?