使用VBA宏在CATIA V5R19中实例化PowerCopy

时间:2016-10-17 08:20:46

标签: vba catia

我无法弄清楚如何使用VBA宏实例化Power-copy。我有一个CATPart1,它有Power-copy名称" MyPC"。我想在当前的Part中实例化这个power-copy。例如,这个Power-copy输入是:" Plane"," Start_point"和" End_point"。我找到了" CAA V5 VB的帮助"有InstanceFactory对象,它具有实例化power-copy和UDF的方法。但我的代码不起作用。

Sub CATMain() 
Dim partDocument1 As partDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As part
Set part1 = partDocument1.part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("gt")

Dim mplane As Plane
Dim StartPnt As point
Dim EndPnt As point

Set mplane = hybridBody1.HybridShapes.Item(1)
Set StartPnt = hybridBody1.HybridShapes.Item(2)
Set EndPnt = hybridBody1.HybridShapes.Item(3)

Dim InstFactory As InstanceFactory
Set InstFactory = part1.HybridShapeFactory

Dim instance

InstFactory.BeginInstanceFactory "MyPC", "D:\myFolder\Part1.CATPart"
InstFactory.BeginInstantiate

InstFactory.PutInputData "Plane", mplane
InstFactory.PutInputData "Start_point", StartPnt
InstFactory.PutInputData "End_point", EndPnt

Set instance = InstFactory.Instantiate
hybridBody1.AppendHybridShape instance
InstFactory.EndInstantiate

End Sub   

中出现自动化错误
InstFactory.BeginInstanceFactory "MyPC", "D:\myFolder\Part1.CATPart"

有人帮助我理解它为什么不起作用吗? 提前谢谢你)

1 个答案:

答案 0 :(得分:1)

有两件事可能是您遇到错误的原因:

1 - 使用

Dim InstFactory As InstanceFactory
Set InstFactory = part1.GetCustomerFactory("InstanceFactory")

而不是

Dim InstFactory As InstanceFactory
Set InstFactory = part1.HybridShapeFactory

2 - 您需要激活浮动许可证KT1才能通过API使用PowerCopy操作。要激活它,请转到Catia菜单 - >工具 - >选项,然后选择Shearable Products选项卡并激活许可证。