NX二次开发获取最小包容块和最小包容柱(简单快准)

最小的包容块pk直接有函数(PK_TOPOL_find_nabox),最小包容柱也会用到,这里就不过多的介绍了。NX二次开发获取最小包容块和最小包容柱(简单快准)_第1张图片

 无论怎么摆斜都可以获取。

获取最小包容块的数据是为了拿到方向找最小包容柱的圆心和半径,有一个PK函数可以按照你传的方向把你传入的体的外轮廓投影在一个平面内(这里是借鉴了梅雷PK库里的方法)PK_BODY_make_curves_outline,具体怎么用大家可以关注我留言问我,或者去梅雷的PK库找一下。PK创出平面轮廓线之后还得转成UG的样条(同样梅雷一起给你封装好了)主要是代码有点长不好放出来。投影轮廓会把体内的孔和破洞的轮廓也会投影出来,我只需要最大的轮廓,线多的话会影响速度,这里做了一个简单粗暴的处理,用UG里的创建包裹体,这样我们获取投影轮廓的时候传我们创建的包裹体就好了。

NX二次开发获取最小包容块和最小包容柱(简单快准)_第2张图片

这里需要借助UG的一个自带功能,分析-测量极限-2D边界半径,我录制出来封装好了(8.5以上版本可能需要重新录制);NX二次开发获取最小包容块和最小包容柱(简单快准)_第3张图片NX二次开发获取最小包容块和最小包容柱(简单快准)_第4张图片

X,Y,Z三个方向都需要投影,因为要拿来做对比,找出三个方向的最小体积的包容柱就是我们需要的了 

NX二次开发获取最小包容块和最小包容柱(简单快准)_第5张图片

给大家看一下效果(速度很快,参数有了,线框或者体自己画)

NX二次开发获取最小包容块和最小包容柱(简单快准)_第6张图片

NX二次开发获取最小包容块和最小包容柱(简单快准)_第7张图片

NX二次开发获取最小包容块和最小包容柱(简单快准)_第8张图片 

想知道更多细节关注博主给博主留言。 

你可能感兴趣的:(c++)