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
我有一个具体问题,即这段代码无法按预期工作:
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