装配体的每个组件也是该装配体的一个特征。因此,要访问组件,须使用ProSolidFeatVisit()访问特征 ,并使用 函数 ProFeatureTypeGet()查找类型为PRO_FEAT_COMPONENT的特征。
在遍历获取所有面要素碰到的主要问题是:
使用ProSolidFeatVisit遍历组件,输出的数据类型为<ProFeature>。但我在获取面要素时,涉及到 坐标 系的矩阵变换,用ProAsmcomppathTrfGet获取转换矩阵,需要输入<ProAsmcomppath>,我无法将<ProFeature>转换成<ProAsmcomppath>。现在的问题是我不知道这么获取<ProAsmcomppath>。
解决 思路:
1.Toolkit中ProSelectionAsmcomppathGet可以获得ProAsmcomppath,这需要手动选取,这不符合我的需求。
2.Toolkit中ProSolidDispCompVisit同样可以访问组件,它的输出是ProAsmcommpath,但我在遍历时碰到一些问题,就没实现,可以试试。
3.Toolkit中ProAsmcomppathInit初始化,它的输出同样是ProAsmcomppath,最终我使用这种方式。它的结构:
owener: 根装配体的标识符 comp_id_table:组件标识符表,由组件id组成的数组 table_num:指定comp_id_table数组中组件标识符的数量