使用选择根据实例更改 CATIA 用户定义的特性

Changing CATIA User Defined Properties based on the instance using selection

我遇到了麻烦,我已经处理了一个星期了,但仍然遇到同样的问题。 我正在使用 CATIA V5R26,我试图通过在 CATIA 中选择 product/part 和 运行 宏来更改用户定义的属性(定义其他属性)。

目前,这就是我所拥有的

Set Pull_document2 = CATIA.ActiveDocument.Selection
Part_Number_Name = Pull_document2.Item(1).LeafProduct.ReferenceProduct.Name

CATIA.ActiveDocument.Selection.Item(1).LeafProduct.ReferenceProduct.UserRefProperties.Item(Part_Number_Name & "\Properties\DESIGNER").Value = "Yeet"

这会产生 2 个问题,我仍然无法更改 2 级或更多属性。这仅适用于顶层。此外,我尝试操作 11 个用户定义的属性,而代码只会做 3 个。我尝试了很多不同的路线,也使用了他们使用的其他人的代码,但由于某种原因它不起作用。

需要做些什么才能让它在多个层面发挥作用? 为什么这只能更改 11 个用户定义属性中的 3 个?

一个问题是你是基于一个选择。如果用户选择了错误类型的对象,它将引发错误。

也就是说,试试这个:

Set Pull_document2 = CATIA.ActiveDocument.Selection
Set ProducRef = Pull_document2.Item(1).LeafProduct.ReferenceProduct
With ProducRef.UserRefProperties
    .Item("DESIGNER").Value = "Yeet"  ' This is how I think it should work
    .Item(.Name & "\Properties\DESIGNER").Value = "Yeet"  ' This is based on the code you had
End With

在 With 块中,您应该能够列出所有要更改的属性。