在以往的传统方法中,脚本往往是通过检索模型网格的edge来获取washer孔的边界,并以此获取到孔周边的节点。开发思路如下:
1、选择孔边任意多个点 → 2、获取选点所对应零件的所有边 → 3、获取孔所在的边 → 4、根据孔所在边得到孔周边的节点 → 5、抓取获取的节点
这种方法直观且易于实现,在轻量级的网格模型,如开闭件模型中,无论是便捷程度还是抓取节点的速度都能让人满意。一般抓取rbe2的脚本依据的都是这种逻辑。但它也有缺点,即在面对有大量washer需要抓取,且网格规模较大的仿真模型(如白车身)时,虽然比手工还是快一些,但运行速度并不理想。

但因为bolt功能是HyperMesh内部集成的功能,其检索孔边界的效率极高。我们可以利用这一点,依靠它来检索孔边界节点,然后调用自己配置的脚本来对生成的rbe2进行更大程度的自定义,从而规避上述的bolt连接类型的缺点。其思路如下:
1、选择孔边任意多个点 → 2、获取选点所对应的零件→ 3、后台调用bolt功能创建对应孔的bolt连接 → 4、获取到对应节点→ 5、删除bolt → 6、根据获取到的节点创建自定义rbe2
以下是两种不同算法实现的脚本在同一台电脑上同时抓取不同个数的washer孔需要的时间对比。可以看到采用了bolt方法的脚本,抓取速度明显提高,且随着同时抓取的孔的个数的增加,抓取速度的提升越发明显。

利用bolt去抓取节点,除了可以提升脚本运行速度,在抓取多层washer孔时,脚本对初始时选点的位置也变得更为宽容,可以不再要求必须选择在孔边缘,仅需靠近目标孔位置即可。由于逻辑发生变化,其操作和传统方法比还有诸多区别,此处不再赘述。感兴趣的读者可以自行尝试。
文章转载自AICaer,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




