之前有网友咨询过如何创建异型孔特征,今天我们来看下如何实现:


异孔特征中参数比较多,想要用的好还是要看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 ---创建异型孔特征相关推荐

  1. SolidWorks二次开发,如何修改异形孔的沉头孔大小

    可以使用 SolidWorks API 来进行二次开发,修改异形孔的沉头孔大小.具体来说,需要使用 ISldWorks::IGetObject 函数来获取特定的异形孔特征,然后使用 IFeature: ...

  2. C# SolidWorks 二次开发 API --- 2018版 中文翻译 之官方示例

    这是2018版 自带帮助文件的API例子中文导航,如果有错误的,请指出来 时间原因,我没有一一测试,只是大概过滤了一下. 共计750个例 子: 中文标题 Web Link 将绘图表缩放到窗口中的最大尺 ...

  3. C# SolidWorks 二次开发 API --- 2018版 中文翻译-完整版共享

    这是2018的api帮助文档看了一下翻译版,我把之前翻译的文件免费共享下,希望能对大家有所帮助. 如果大家想查找快速了解某个功能,可以直接在Excel表中查找全部. 之前有两篇共享了官方示例与Mode ...

  4. api 二次 开发 禅道_VBA SolidWorks 二次开发 API ---从宏开始

    Macro是可以用来录制一些操作的工具,然后你可以看到具体内部执行的一些代码.通过这些代码,我们可以更快更直接的找到所需要查询的API函数.我们以最简单的做一个拉伸特征开始,看如何找到对应的API 1 ...

  5. VBA SolidWorks 二次开发 API ---从宏开始

    Macro是可以用来录制一些操作的工具,然后你可以看到具体内部执行的一些代码.通过这些代码,我们可以更快更直接的找到所需要查询的API函数.我们以最简单的做一个拉伸特征开始,看如何找到对应的API 1 ...

  6. C# SolidWorks 二次开发 API --- 2018版 中文翻译 ModelDocExtension 方法

    AddAngularRunningDim Method (IModelDocExtension) 为选定实体添加指定的角度运行标注. AddComment Method (IModelDocExten ...

  7. C# SolidWorks 二次开发 API --- 提升exe执行效率接近DLL

    最近一段时间没更新博客,原因比较多.作为湖北人,今年的班上的不容易.当然还是要感谢各地的支援. 今天来和大家分享一下一个关于exe提升性能的选项,因为之前主要写的exe比较多,后来改成dll之后效率提 ...

  8. C# SolidWorks 二次开发 API --- 实例:打包文件

    我们开发的程序使用过程中经常要使用一些做好的模板,尤其是参数化的时候,这样就难免有一些文件需要从指定的地方复制过来,或者说还要把文件名替换掉,还可以加一些前缀或者后缀.这个例子也只是一个最简单的打包方 ...

  9. C# SolidWorks 二次开发 API --- 2018版 中文翻译 ModelDoc2 属性和IModelDocExtension属性

    属性名称 描述 ActiveView Property (IModelDoc2) 获取只读模式下的当前活动模型视图.注意:此属性是一个get-only属性.集合未实现. ConfigurationMa ...

  10. C# SolidWorks 二次开发 API ---读取零件相关属性

    如何读取零件相关属性 这一篇看下如何读取属性: 直接上代码: 代码如下: private void BtnGetPartData_Click(object sender, EventArgs e){/ ...

最新文章

  1. a*算法matlab代码_导向滤波算法及其matlab代码实现
  2. RDKit | 小分子构象的生成和比对
  3. 成功解决Both binary classification-only and multiclassification-only loss function or metrics specified
  4. iOS开发——高级技术本地化与国际化详解
  5. 干货!Redis集群工作原理解析
  6. WordPress忘记密码的5种解决方法
  7. lsoci mysql_flask项目从sqlite3升级的mysql数据库
  8. CentOS7.2 network.service NetworkManager.service 冲突
  9. java 获取bean的注解_如何获取spring 注解的bean
  10. java向flex传递 List
  11. 在这做一个词云图生成器来送给大家(附代码),建议收藏
  12. 南京中山陵环卫工和游客当众互殴(图)
  13. ❤️ Python 利用NetworkX绘制精美网络图 ❤️
  14. 关于mysql的题目_关于MySQL的经典例题50道 答案参考
  15. 维持两人爱情关系需要慢慢做的事情
  16. k8s 超详细总结,面试必问
  17. 采购订单税码检查增强(badi)
  18. mac 时间机器 禁用_如何在Mac上禁用屏幕时间通知
  19. dim=0与dim=1_CodingPark编程公园
  20. 纯css实现悬浮球效果

热门文章

  1. OSChina 周三乱弹 ——carlos 你和你的电脑怎么过的幸福?
  2. 华为砍单,小米、荣耀谁会“上位”?
  3. rockchip wificountry code
  4. [maya学习笔记(18)] 粒子系统 - 落叶纷飞
  5. Android 私有权限白名单
  6. 找出阿里云RDS数据库的IP地址
  7. 阿齐索-对接淘宝第三方平台
  8. 南邮NOJ2029节奏大师
  9. 淘宝至强cpu为什么那么便宜
  10. 嵌入式工程师应该知道的C语言