| 会员登录 立即注册
关注公众号

关注公众号拿干货

CATIA论坛公众号
加入联盟

扫微信(sakula)入联盟

CATIA软件
风格切换

catia教程

搜索

CATIA联盟论坛

[CATIA VBA] CATIA软件总成批量改名原理大揭秘

[复制链接]
CATIA正版多少钱 发表于 2019-8-15 10:30:49 | 显示全部楼层 |阅读模式
CATIA正版多少钱
2019-8-15 10:30:49 1088 0 看全部
  CATIA Product中批量改名,或者批量重命名这种操作,想必是很多使用CATIA的攻城狮们的需求。

  而这种操作,如果仅仅通过CATIA软件自带的功能,恐怕很难完成。

  所以,我们不能满足于做一只攻城狮,我们要变身!

  攻城狮进化——程序猿!
CATIA软件总成批量改名原理大揭秘89

  关于批量重命名这方面的二次开发工具,小编也发过一二,但与大家见面的都是最后的成品,并不能看见其内部工作的原理。所有今天,小编就来个大揭秘,看看如何用程序员的思想解决批量改名的问题。

  程序的运行,无非就是顺序,分支判断和循环。而对于这种重复性的工作,想必各位看官最先想到的,就是循环。但是,当我们真正面对一个Product的时候,你会发现,循环这条路是行不通的。因为,Product的数量和装配级别,都不是一个定数。
CATIA软件总成批量改名原理大揭秘83

  这个时候,我们要引入一个概念,叫做递归,简单来说就是程序调用自身的过程。

  如果还想不明白,诸位可以回忆一下你们昨晚看的那些小姐姐的直播:当她们***此处省略若干字***,然后中场休息时,在自己的桌面上显示直播画面时,会不会出现这样的情况:

  直播画面里显示着另一个直播画面,画面的画面里还有一个画面,画面的画面的画面里还有一个画面(貌似是个凑字数的好方法)……一个无限循环到细思极恐的画面
CATIA软件总成批量改名原理大揭秘12

  回到我们的重命名问题。通过查阅Automation,获取Product及其下一级装配部件,然后对它做一些不可描述之事,这些对我们来说不难实现,比如:

  Dim P
  set P=CATIA.ActiveDocument.Product
  Dim Pc
  For Each Pc in P.Products
   Pc.OOXX……
   此处省略若干字
   Pc.ZZZ
  Next

  而对我们来说,批量改名的关键,在于通过递归的思想,实现对当前打开总成RootProduct的每个子装配节点都访问到:
CATIA软件总成批量改名原理大揭秘98

  不知各位看官有没有注意到,上面“重命名”三个字为什么用黄色区分呢?

  因为“重命名”,在这里充当的是一个子功能的角色。换句话说,它不仅可以是重命名,也可以是改名,可以是添加后缀,可以是添加/读取自定义属性,还可以是把读取的属性保存到Excel中……诶,等等,这不就是传说中的BOM导出吗!

  因此,我们可以毫不客气地说:只要实现了遍历,那么这些装配节点对象将任我们摆布!

  按照惯例,接下来,该放出一个包含源代码脚本的百度网盘下载链接了吧!但是小编转念一想:这次的内容有点超纲,因为它是小编录制的《从工程狮到程序猿》课程中的内容。如果把源代码都放出来了,那花钱购买课程的小伙伴心里得多不平衡!

  但是,我们之前分享的《可能是东半球最好用的免费CATIA小工具了》里面,已经包含了导出BOM的功能,各位可以随意使用!
CATIA论坛官方公众号
  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

查看:1088 | 回复:0

CATIA教程| CATIA视频| CATIA培训| CATIA下载| CATIA安装| CATIA插件| CATIA入门| CATIA V5| CATIA V6| CATIA论坛
联系电话:18982019507 地址:成都市青羊区二环路西一段155号天祥广场4栋1801
版权所有 ©软易达 •( 蜀ICP备14018086号 )Copyright © 2001-2013 Comsenz Inc. All Rights Reserved.   Powered by Discuz! X3.4
联盟微信客服:
silhouette023CATIA软件


CATIA技术群

微信公众号 CATIA微信公众号
“CATIA联盟”