catvba,catia产品重命名bug

时间:2016-11-22 18:16:23

标签: vba catia

我有一个特定问题,即这段代码无法正常工作:

Private Sub productRename()
    Dim oProd As Product
    Set oProd = CATIA.Documents.Add("Product").Product

    Set oProd = oProd.Products.AddNewComponent("Product", "")
    oProd.Name = "prod.1"

    Set oProd = oProd.Products.AddNewComponent("Product", "")
    oProd.Name = "prod.2"
End Sub

我正在尝试更改不同级别的实例名称,适用于第一级,但不适用于其他级别。特定脚本创建新产品,添加子产品,重命名它,然后添加另一个子级别并尝试重命名它,但没有任何错误,脚本将完成而不更改最后一个实例。实例名称不存在冲突,唯一,因为只有那些新创建的产品。

R24 sp4上出现

问题,那么有人可以确认它在不同的sp级别上工作吗?

2 个答案:

答案 0 :(得分:2)

使用参考产品而不是实例产品添加新子项,您应该能够设置实例名称

Dim PN As String 
PN = "12345"
Dim instanceName as String 
instanceName = "12345.X"

Set oProd3 = oProd2.ReferenceProduct.Products.AddNewComponent("Product", PN)
oProd3.Name = instanceName

答案 1 :(得分:0)

您的代码在r25中也有相同的行为。

我会尝试这样的事情:

Sub CATMain()

Dim oProd As Product
Set oProd = CATIA.Documents.Add("Product").Product

Set oProd1 = oProd.Products.AddNewComponent("Product", "prod.1")
'~ oProd1.Name = "prod.1"

Set oProd2= oProd1.Products.AddNewComponent("Product", "prod.2")
'~ oProd2.Name = "prod.2"

    Set oProd3 = oProd2.Products.AddNewComponent("Product", "prod.3")
'~ oProd3.Name = "prod.3"

End Sub
相关问题