こちらの続きです。
他Partとリンクした平面の作成1 - C#ATIA
質問者さんはCatVbsを使用しているようなのですが、
デバッグやりにくいので、VBAで進めていきます。
3つに分かれているので1つ目です。
恐らくマクロの記録で作成し、少し手直しした感じがします。
'vba Dim ProdDoc As Document Set ProdDoc = CATIA.ActiveDocument Dim product1 As Product Set product1 = ProdDoc.Product Dim products1 As Products Set products1 = product1.Products Dim product2 As Product Set product2 = products1.AddNewComponent("Part", "NewPart1")'① Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As Document Set partDocument1 = documents1.Item("NewPart1.CATPart") Dim NewPart1 As Part Set NewPart1 = partDocument1.Part Dim hybridShapeFactory1 As Factory Set hybridShapeFactory1 = NewPart1.HybridShapeFactory Dim parameters1 As Parameters Set parameters1 = NewPart1.Parameters Dim oSel As Selection Set oSel = prodDoc.Selection Dim point_ref Dim line_ref Dim Point As Reference Dim Line As Reference
①部分ですが、"Hoge.CATProduct" に新たなPartを追加している部分です。
CatVbsではエラーとならなかったのですが、VBAではエラーになります。
こちらにチラッと記載がありました。
COE : Forums : -
二番目のパラメータ(引数)は、空っぽにする必要がありそうです。
'vba 'Set product2 = products1.AddNewComponent("Part", "NewPart1") Set product2 = products1.AddNewComponent("Part", "") product2.PartNumber = "NewPart1"
PartNumberを決め付けてマクロを実行するのが、結構不便なんですけどね。