C# SolidWorks二次开发——遍历单个零件的一些信息,如遍历face、loop等(SolidWorks 2020 + VS 2019)
这里介绍如何去遍历当前零件的一些基本信息,如遍历零件上的face、Loop、edge等,获取面的一些基本信息等,这些信息一般是我们进行下一步操作的基础。
这里给出了最基本最常用的一些信息的遍历方法,没有提到的可以参考SolidWorks官方帮助文档。
SolidWorks大致调用结构如下,具体参考SolidWorks官方帮助文档或网站:https://www.codestack.net/solidworks-api/getting-started/api-object-model/class-diagram/
1、获取当前的零件文档
在前两节课提到的Addin插件按钮会调用的函数中,获取当前的零件文档
public void CreateCube()
{
//获取当前文档
IModelDoc2 activeDoc = iSwApp.IActiveDoc2;
//当前文档转换为零件文档
IPartDoc currentPartDoc = (IPartDoc)activeDoc;
//如果非空,则调用遍历的函数
if (currentPartDoc != null)
{
//调用遍历面的函数
TraverseFace(currentPartDoc);
}
}
2、遍历零件的Face
函数的传入参数为当前的零件文档(IPartDoc currentPartDoc)
public void TraverseFace(IPartDoc currentPartDoc)
{
//用于存放遍历到的IFace2的List
List<IFace2> bodyFaces = new List<IFace2>();
//获取所有Body
Array bodies = (Array)<