C# Solidworks二次开发:获取零件的最小包容体方法详解
今天要讲的文章是在Solidworks如何获取零件的最小包容体的方法,这个方法的API如下所示:
获取零件的最小包容体的API为:partDoc.GetPartBox(true);
这个方法中参数为只有一个,是否转换为用户单位;True保留系统单位,false更改用户单位。
下面举个使用的例子:
PartDoc partDoc=(PartDoc)swDoc;
List<double[]> boxpoint = GetBoxPoint(partDoc);
var holePtInModel2 = new double[3];
var holePtInModel1 = new double[3];
holePtInModel2[0] = boxpoint[0][0];
holePtInModel2[1] = boxpoint[0][1];
holePtInModel2[2] = boxpoint[0][2];
holePtInModel1[0] = boxpoint[0][3];
holePtInModel1[1] = boxpoint[0][4];
holePtInModel1[2] = boxpoint[0][5];
double[] first = new double[3];
double[] second = new double[3];
first[0] = holePtInAss2[0] * 1000;
first[1] = holePtInAss2[1] * 1000;
first[2] = holePtInAss2[2] * 1000;
second[0] = holePtInAss1[0] * 1000;
second[1] = holePtInAss1[1] * 1000;
second[2] = holePtInAss1[2] * 1000;
//获取最小包容体一个6维double[]数组的点位坐标
public List<double[]> GetBoxPoint(PartDoc partDoc)
{
List<double[]> boxpoint = new List<double[]>();
double[] box= partDoc.GetPartBox(true);
boxpoint.Add(box);
return boxpoint;
}
通过上述例子,可以了解到方法的返回值是一个6维double[]数组的点位坐标,点坐标中分为两部分,返回值为左下和右上两个点位。
也可以通过返回的这两个点位坐标来判断某些点位是否在这个包容体中还是包容体外,用上面的例子的时候也需要注意要判断你是在零件的里面才可以获取零件的最小包容体。
今天的文章就讲这些,我们下篇文章再见。