catvba、catia 产品重命名错误

catvba, catia product renaming bug

我有一个具体问题,即这段代码无法按预期工作:

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 级别上工作吗?

您的代码在 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

使用参考产品而不是实例产品来添加新的child并且您应该能够设置实例名称

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

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