更改 CATIA 中主动选择的项目的名称

Changing the name of an actively selected item in CATIA

我正在 CATIA 中处理一个项目,但在使用来自用户窗体的输入重命名实例名称时遇到了问题。当我 运行 这段代码时,我遇到了两个错误之一,要么是文件是只读的,要么是 属性.

使用不当

当我更改单个选定产品的属性然后在事后创建另一个产品时,我 运行 遇到了实例冲突。问题是第一个实例将在第一次宏为 运行 时采用第二个实例的 PartNumber,除非更改实例名称。解决这个问题的方法是什么?

Private Sub Assembly_Field_Update(oCurrentProduct As product)

    Dim oCurrentTreeNode As product
    Dim i As Integer

    ' Loop through every tree node for the current product
    For i = 1 To oCurrentProduct.Products.Count
        Set oCurrentTreeNode = oCurrentProduct.Products.Item(i)

        If oCurrentTreeNode.Products.Count > 0 Then
            Assembly_Field_Update oCurrentTreeNode

        End If

   Next

        If oCurrentTreeNode.Name = CATIA.ActiveDocument.Selection.Item(1).Value.Name Then
            On Error GoTo UserInputs
                oCurrentTreeNode.ReferenceProduct.UserRefProperties.Item(1).Value = DESIGNER_INPUT.Text
                oCurrentTreeNode.ReferenceProduct.UserRefProperties.Item(2).Value = BASE_NUMBER_INPUT
                oCurrentTreeNode.ReferenceProduct.UserRefProperties.Item(3).Value = DASH_NUMBER_INPUT
                oCurrentTreeNode.Name = BASE_NUMBER_INPUT & DASH_NUMBER_INPUT

实例名称由您的 Product Instance 对象的所属 Product 管理。

oCurrentTreeNode.Parent.Item(oCurrentTreeNode.Name).Name = BASE_NUMBER_INPUT & DASH_NUMBER_INPUT

实例产品的父级是所属产品的产品集合。

ReferenceProduct 的父级是 .CATProduct 文档对象。

如果您尝试重命名装配中的 "Component" 产品,情况可能会略有不同。

找到组件级实例的答案。

https://www.eng-tips.com/viewthread.cfm?qid=404685