这是一个不管从xyz哪个正方向看过去,都很歪的零件👇它可以根据零件的几何形状,自动计算出最合适的轴系来生成包围盒👇首先,关于包围盒这个话题,小狼之前已经发过两篇文章,分别通过求极值点,以及用两个足够远的平面去“夹”的方式来自动计算但这两篇文章中的例子,作为思路参考,仅做了在绝对坐标系下测量的功能。事实上,我们完全可以修改上面的代码,像自带的Rough Stock命令那样,为每个零件指定测量长宽高的轴系。但问题又来了,指定轴系,要么手动用鼠标点击交互选择,要么为每个待测量的零件提前建好轴系。而无论哪种,似乎都违背了“二次开发是为了提高效率,减少工作量”这一初衷。直到最近AI工具的广泛应用,小狼发现很多自己之前不了解的领域、算法等,都可以通过AI辅助来给出。这不,我们前段时间还发了这一一篇文章:它可以根据零件的外形特征,自动计算出正确的投图方向,从而让自动出图这件事变得更智能。基于同样的道理,我们可以用同样的算法:先根据零件的顶点信息,通过numpy中的算法实现PCA计算,最终求出一个“适合”的轴系信息;大家可能还用到过这个Inertia的测量工具,它也可以生成一个随形的轴系和框。我们同样可以用代码获取到这个惯性张量特征向量信息,进而构建一个轴系。以上两个方式构建的轴系稍有不同,但结果十分接近。因为对于一个外形不规则的零件,怎样叫“摆正”本来就不好定义。 但不管用哪种方法,我们都得到了这个customized的轴系,从而让了让零件在这个轴系下处于“摆正”的姿态。这时,就可以参考前文的思路,计算零件在这个轴系的xyz方向下的极值点,即可实现我们文章开头的,自动创建一个自适应的“包围盒”的效果。
来源:CATIA那点事儿