C# SolidWorks 二次开发 API ---创建异型孔特征
之前有网友咨询过如何创建异型孔特征,今天我们来看下如何实现:
异孔特征中参数比较多,想要用的好还是要看API的帮助文档:
下面是简单的一个代码:
/// <summary>/// 插入异形孔特征/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnInsertHole_Click(object sender, EventArgs e){SldWorks swApp = PStandAlone.GetSolidWorks();AddHoleForThisPoint("holePoints", 10, "异型孔测试");}/// <summary>/// 插入简单孔特征/// </summary>/// <param name="sketchName">草图名称</param>/// <param name="DiaSize">孔径</param>/// <param name="holeName">名称</param>public void AddHoleForThisPoint(string sketchName, double DiaSize, string holeName){SldWorks SwApp;Feature swFeature;string fileName;long errors;long warnings;bool status;int SlotType;int HoleType;int StandardIndex;int FastenerTypeIndex;string SSize;short EndType;double ConvFactorLength;double ConvFactorAngle;double Diameter;double Depth;double Length;double ScrewFit;double DrillAngle;double NearCsinkDiameter;double NearCsinkAngle;double FarCsinkDiameter;double FarCsinkAngle;double Offset;string ThreadClass;double CounterBoreDiameter;double CounterBoreDepth;double HeadClearance;double BotCsinkDiameter;double BotCsinkAngle;WizardHoleFeatureData2 swWizardHoleFeatData;SldWorks swApp = PStandAlone.GetSolidWorks();ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;var swFeatureMgr = swModel.FeatureManager;var swModelDocExt = swModel.Extension;status = swModel.Extension.SelectByID2("Front Plane", "PLANE", 0, 0, 0, false, 0, null, 0);HoleType = (int)swWzdGeneralHoleTypes_e.swWzdLegacy;StandardIndex = -1;FastenerTypeIndex = -1;SSize = "";EndType = (int)swEndConditions_e.swEndCondThroughAll;ConvFactorAngle = -1;Diameter = DiaSize / 1000;Depth = -1;Length = -1;CounterBoreDiameter = 0; // Value1CounterBoreDepth = 0; // Value2HeadClearance = -1; // Value3ScrewFit = -1; // Value4DrillAngle = -1; // Value5NearCsinkDiameter = -1; // Value6NearCsinkAngle = -1; // Value7BotCsinkDiameter = -1; // Value8BotCsinkAngle = -1; // Value9FarCsinkDiameter = -1; // Value10FarCsinkAngle = -1; // Value11Offset = -1; // Value12ThreadClass = "";swFeature = swFeatureMgr.HoleWizard5(HoleType, StandardIndex, FastenerTypeIndex, SSize, EndType, Diameter, Depth, Length, CounterBoreDiameter, CounterBoreDepth, HeadClearance, ScrewFit, DrillAngle, NearCsinkDiameter, NearCsinkAngle, BotCsinkDiameter, BotCsinkAngle, FarCsinkDiameter, FarCsinkAngle, Offset, ThreadClass, false, false, false, false, false, false);Feature holeFeature = (Feature)swFeature.GetFirstSubFeature();Feature sizeFeature = (Feature)holeFeature.GetNextSubFeature();holeFeature.Select2(false, 0);swModel.EditSketch();swModel.ClearSelection2(true);status = swModel.Extension.SelectByID2("Point1", "SKETCHPOINT", 0, 0, 0, false, 0, null, 0);status = swModel.Extension.SelectByID2("Point1@" + sketchName, "EXTSKETCHPOINT", 0, 0, 0, true, 0, null, 0);swModel.SketchAddConstraints("sgCOINCIDENT");swModel.ClearSelection2(true);swModel.ClearSelection2(true);swModel.SketchManager.InsertSketch(true);holeFeature.Name = holeName + "-点位";sizeFeature.Name = holeName + "-尺寸";swFeature.Name = holeName;status = swModel.Extension.SelectByID2(holeName, "BODYFEATURE", 0, 0, 0, false, 4, null, 0);status = swModel.Extension.SelectByID2(sketchName, "SKETCH", 0, 0, 0, true, 64, null, 0);swFeature = swModel.FeatureManager.FeatureSketchDrivenPattern(true, false);swFeature.Name = "阵列-" + holeName;}
运行完之后 效果如下图,我打的是简单直孔,如果要打螺纹孔这些需要细看api参数。
可在此下载源码:https://gitee.com/painezeng/CSharpAndSolidWorks
C# SolidWorks 二次开发 API ---创建异型孔特征相关推荐
- SolidWorks二次开发,如何修改异形孔的沉头孔大小
可以使用 SolidWorks API 来进行二次开发,修改异形孔的沉头孔大小.具体来说,需要使用 ISldWorks::IGetObject 函数来获取特定的异形孔特征,然后使用 IFeature: ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译 之官方示例
这是2018版 自带帮助文件的API例子中文导航,如果有错误的,请指出来 时间原因,我没有一一测试,只是大概过滤了一下. 共计750个例 子: 中文标题 Web Link 将绘图表缩放到窗口中的最大尺 ...
- C# SolidWorks 二次开发 API --- 2018版 中文翻译-完整版共享
这是2018的api帮助文档看了一下翻译版,我把之前翻译的文件免费共享下,希望能对大家有所帮助. 如果大家想查找快速了解某个功能,可以直接在Excel表中查找全部. 之前有两篇共享了官方示例与Mode ...
- 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 --- 提升exe执行效率接近DLL
最近一段时间没更新博客,原因比较多.作为湖北人,今年的班上的不容易.当然还是要感谢各地的支援. 今天来和大家分享一下一个关于exe提升性能的选项,因为之前主要写的exe比较多,后来改成dll之后效率提 ...
- 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){/ ...
最新文章
- a*算法matlab代码_导向滤波算法及其matlab代码实现
- RDKit | 小分子构象的生成和比对
- 成功解决Both binary classification-only and multiclassification-only loss function or metrics specified
- iOS开发——高级技术本地化与国际化详解
- 干货!Redis集群工作原理解析
- WordPress忘记密码的5种解决方法
- lsoci mysql_flask项目从sqlite3升级的mysql数据库
- CentOS7.2 network.service NetworkManager.service 冲突
- java 获取bean的注解_如何获取spring 注解的bean
- java向flex传递 List
- 在这做一个词云图生成器来送给大家(附代码),建议收藏
- 南京中山陵环卫工和游客当众互殴(图)
- ❤️ Python 利用NetworkX绘制精美网络图 ❤️
- 关于mysql的题目_关于MySQL的经典例题50道 答案参考
- 维持两人爱情关系需要慢慢做的事情
- k8s 超详细总结,面试必问
- 采购订单税码检查增强(badi)
- mac 时间机器 禁用_如何在Mac上禁用屏幕时间通知
- dim=0与dim=1_CodingPark编程公园
- 纯css实现悬浮球效果