首页/文章/ 详情

听说这是个困扰众多CATIA高手多年的问题?

1年前浏览3614

我们在录制宏代码,或者自己写VBA二次开发程序时,通常以下面的代码作为开头,来获取CATIA当前激活的文档,从而进行后续的操作:

Set Document = CATIA.ActiveDocument

但有一种情况,相信各位做Automation开发的时候都遇到过:如何获取装配文件中正在编辑的Part

对于上面图片的情况,我们直接通过ActiveDocument,获取到的永远倒是装配体的根节点,即Product5。所以,要想获取到Part1,我们不得不另辟蹊径。

那么,这个蹊径是什么呢?

如果你用过CATIA软件的Search功能(快捷键Ctrl+F),那么你会知道,我们查到的范围是可以设置的。并且,在装配文件下设置为“in”的时候,

如果当前处于某个part的编辑状态,其范围会自动限定为在该part下搜索。

现在,我们来做一些手动的尝试,比如:激活part的情况下,通过in的范围,可以搜索到名为xy plane的元素:

但激活Product的情况下,则无法搜到:

借助这一特性,我们便可写出如下函数,通过搜索part下实现“获取装配文件中正在编辑的Part”这一需求。

实际运行一下,也是可以达到我们预期的效果的:

好啦,以上就是本期文章的全部内容!

祝各位度过一个愉快的五一假期😊

来源:CATIA那点事儿
二次开发CATIA
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-09
最近编辑:1年前
CATIA那点事儿
本科 CATIA小狼。微信公众号:CATIA那...
获赞 112粉丝 241文章 16课程 16
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈