首页/文章/ 详情

用Excel BOM在CATIA里创建装配树

11月前浏览6646

之前,小编发过这么一篇文章,介绍了如何通过二次开发的方式,利用宏代码,一键将Product导出为Excel格式的BOM(含层级关系)


【双dan福利】你们心心念念的导出BOM插件


今天这篇文章,我们反过来,聊一聊如何根据一个已有的Excel格式的BOM清单(包含层级关系),在CATIA里一键搭建出对应的装配树。


先来看一下最终的效果:


然后我们来介绍原理:


简单概括,就一句话:逐行读取信息并新建


那么这里就有两个问题需要考虑:


  1. 对于每一行的新建动作,要建在哪个Product下?

  2. 新建Part还是Product?


我们先把BOM表的格式摆在这:


从这个表,可以读出以下信息:


  • 第3行开始有零件信息,且第三行作为根节点;

  • 第1列为序号;

  • 第2-7列为层级信息;

  • 第8列为数量信息;

  • 第9列为零件的件号。


基于上述内容,我们可以大致描述出以下的规则:


  1. 可以根据当前行的装配等级lv_c于下一行的装配等级lv_n对比,如果lv_n=lv_c+1,也就是当前行有子级,那么可以确定当前行作为Product添加;否则作为Part添加;

  2. 每次添加Product后,都记录一下当前行的装配层级深度(如第3级),并把此深度的父级Product设置为此Product(如prd_f),这样可以确保它下面的子节点都添加到prd_f下面,而不是其他3级子总成的下面;

  3. 每次不管添加part还是product,都有两种情况:一种是新实例,一种是已存在该实例(有同part number),需要区分一下新建实例还是添加已有实例;

  4. 添加完节点后,如果数量n大于1,需要循环添加剩余n-1个实例。


或者,看这个流程图要更清晰一些!


所以,接下里的工作就简单了,只需要把上面流程图的内容翻译成宏代码,就可以我们文章开头动图的功能啦!


But,在付费下载前,请您务必阅读以下说明!!!


  1. 本案例及代码,仅作学习研究交流用,请确保自己能看得懂并理解其中的代码(代码中有必要的注释),不推荐用于实际工作,也不包含修改、售后及答疑服务!


  2. 分享的文件内容为包含宏的Excel文件,请确保自己会打开并查看其中的代码(其实就是打开excel,按Alt+F11)。


来源:CATIA那点事儿
二次开发CATIAUM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-02
最近编辑:11月前
CATIA那点事儿
本科 CATIA小狼。微信公众号:CATIA那...
获赞 112粉丝 240文章 16课程 16
点赞
收藏
未登录
1条评论
扛鼎天师
签名征集中
9月前
运行到新建part的时候,sel.Search ("'Product Structure'.Product.'Part Number'=" & pn & ",all")运行错误,错误代码为'-2147467259 (80004005)',方法 Search 失败,不知道怎么弄了~~~
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈