众所周知, CATIA装配模块操作繁琐,一直是二次开发的重点项目。而制作一个操作Product文档的窗体则需要一个类似于CATIA结构树的控件。VS中的TreeView可以满足需求。

工程软件二次开发_CATIA:Product结构树和VS中TreeView的信息整...  catia 第1张

  --------------------------------------------------------------------------------------------------------

  Product文档的装配组件有四个重要属性—— 自身零件号、在装配文档中的名称、实际文件名称、实际文件路径:

  ①组件本身零件号的获取: Product.Name

工程软件二次开发_CATIA:Product结构树和VS中TreeView的信息整...  catia 第2张

  ②组件在装配文档中的名称的获取: Product.PartNumber

  ③组件实际文件路径的获取: Product.ReferenceProduct.Parent.FullName

  ④组件实际文件名称的获取: 从组件路径字符中截取相关字符

  其中,可用于TreeView展示的为零件号、组件名称、实际文件名称。

工程软件二次开发_CATIA:Product结构树和VS中TreeView的信息整...  catia 第3张

  --------------------------------------------------------------------------------------------------------

  主要步骤:

  1.写方法:包含总装Component及其子集Product的有序排列数组(一维Product对象数组)

  用递归方式写。

  2.写属性:Product对象的位置信息属性(类型:字符*1)

  一个字符记录一个组件的位置。不同层级用逗号隔开。其中,总装Component为”0”,二级组件(Component/Product/Part)为”0,0”、”0,1”、”0,2”….三级组件则为”0,0,0”、”0,0,1”、”0,1,0”…依次类推。

  该方法输入Product对象可得到结果。

工程软件二次开发_CATIA:Product结构树和VS中TreeView的信息整...  catia 第4张

  3.写属性:Product位置信息的对应Product对象属性(类型:Product对象)

  该方法输入位置字符可得到Product对象。

  4.写属性:Product文档组件的位置信息数组属性(类型:一维字符数组)

  通过步骤1的方法和步骤2的属性可得。

  5.写属性:Product零件号数组、组件名称数组、实际文件路径数组、实际文件名称数组或包含其它信息的数组

  通过步骤1的方法可得。

  6.写方法:TreeView填充节点

工程软件二次开发_CATIA:Product结构树和VS中TreeView的信息整...  catia 第5张

  该方法输入两个参数(参数1:步骤4的Product位置信息数组;参数2:步骤5的零件号/组件名称/实际文件名称数组其中之一),填充树形节点。

  7.写属性:TreeView节点对象的位置信息属性(类型:字符*1)

  该方法输入节点对象,可获取节点完整路径,并进一步转化为步骤2类型的位置信息。

  --------------------------------------------------------------------------------------------------------

  程序运行时, 点击TreeView中的节点可以获取该节点对象,利用该对象可获取同名Product对象。得到Product后可获取其相关信息或对其进行操作。

  --------------------------------------------------------------------------------------------------------

  如有疑问, 可以发我微信。