C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

ProductからPartDocumentを取得する

作業オブジェクトがProductの状態で、Treeにぶら下がっているPartを
操作したい と言った内容のご質問を頂いたので、調べてみました。
f:id:kandennti:20150728123734p:plain
こんな感じでPart2を操作したい と言うことになります。

このPartを操作するためには、結果的にPartDocumentさえ取得して
しまえば、単体のPartファイルを操作するのと同じ事になります。

Sub CATMain()
 Dim ProductDoc As ProductDocument
 Set ProductDoc = CATIA.ActiveDocument
 
 Dim PartDoc As PartDocument
 Set PartDoc = ProductDoc.Product.Products.Item(2).ReferenceProduct.Parent
 Stop
End Sub

このような感じです。
最初は

 Set PartDoc = ProductDoc.Product.Products.Item(2)

これでPartDocumentが取得出来るかと思ったのですが、取得できるのは
Productなんですね。(カラフルな歯車のアイコンの部分)

もっとすんなり取得できる方法があるかも知れませんが・・・。