基于CATIA二次开发
发表时间:2012-12-21 作者: 刘圣*郝泳涛
关键字: CATIA二次开发 bom表 属性提取 
    该文介绍了CATIA三维设计软件及其二次开发接口中常用的重要对象及相关函数,针对了树形产品结构给出了常用的操作与处理方法,并利用相关对象和方法实现对产品文件的属性提取和BOM表统计生成程序。

4 程序设计总体思路和关键技术

    本程序所要操作的是产品文件中的产品树,各种零件文件在建立后就添加了自定义属性,并通过装配引入到产品文件中,为了便于管理,通常会在根产品节点下面建立若干子产品节点,并将零件分类装配到各个子产品节点中。同理,可以再子产品节点下在建立子产品节点,对节点内的装配零件进行分类。在提取过程中程序要处理任意层数的产品节点,并要在访问过程中统计相同零件的个数,据此本程序利用了以下方法来实现提取BOM的目的。

    4.1 基于递归访问策略的提取方法

    当访问到一个节点,先判断其是否一个终端节点,若是终端节点,则对其进行提取属性的操作,若是中间节点,则递归地调用该过程,由此达到处理任意层数产品树的目的。

    4.2 终端节点的判断方式

    零件的属性都定义在终端节点中,终端节点是通过装配导入到产品树的,由于终端节点是一个对零件的简单包装的产品节点,该节点必定没有子节点,故本程序以此作为判断终端节点的条件。

    4.3 提取一个终端节点中的属性

    提取并统计单个零件的BOM信息的工作由一个函数extract_single_bom完成,首先通过参数的Parameters方法获得要提取的属性对的集合。其中选取出类型参数,与预先在界面上选取的类型比较,若不是则不提取该节点中的属性。在统计过程中,建立以零件编号为键值,网格中显示的行号作为值的hash表全局变量,提取属性时提取出零件编号,在建立的hash表中检索。若已经在表中存在,则认为是已经出现过类型的零件,可以从对应的值取出行号,将对应单元格的值加一;若获在表中没有,则将当前行值加一,并将键值对添加到hash表中,以便后续重复元素统计修改对应行的值。


    程序运行结果如图2。

运行结果

    图2 运行结果

5 结束语

    本文在行为流概念的基础上,提出一种基于行为流知识库的功能结构智能映射框架,该框架可在较高层次实现设计知识重用。此外,该框架可用于开发计算机辅助设计工具,用来辅助设计者进行新产品概念设计。




责任编辑:pljin
项目信息
信息化文库
政策法规
返回首页 | 关于e-works | 意见建议 | 广告服务 | 版权说明 | 联系我们 | 交换链接
e-works 版权所有 ICP经营许可证:鄂B2-20080078