SW_边界框
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public static string Get_BoundingSize_value(SldWorks swApp) { ModelDoc2 swDoc = swApp.ActiveDoc;
PartDoc Part = (PartDoc)swDoc; double[] Corners = Part.GetPartBox(true);
object Length = (Corners[3] - Corners[0]) * ConvFactor; object Width = (Corners[5] - Corners[2]) * ConvFactor; object Height = (Corners[4] - Corners[1]) * ConvFactor;
string s = Length + "×" + Width + "×" + Height; }
|
获得边界框
GetPartBox()方法返回值将是六个数值的Corners数组
1 2 3 4
| ModelDoc2 swDoc = swApp.ActiveDoc;
PartDoc Part = (PartDoc)swDoc; double[] Corners = Part.GetPartBox(true);
|
返回值在模型中的表现:
即:Corners={X1,Y1,Z1,X2,Y2,Z2}={0,0,0,0.015,0.02,0.01}
如果是不规则模型:则会按【参考几何体-边界框】获得
计算长宽高
利用边界框的数据,进行数值的加减,或者线段的长度(也就是边界框的长宽高尺寸)
1 2 3 4
| object Length = (Corners[3] - Corners[0]) * ConvFactor; object Width = (Corners[5] - Corners[2]) * ConvFactor; object Height = (Corners[4] - Corners[1]) * ConvFactor;
|