我无法弄清楚如何使用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"
有人帮助我理解它为什么不起作用吗? 提前谢谢你)
答案 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选项卡并激活许可证。