Изменение пользовательских свойств CATIA в зависимости от экземпляра с помощью выбора - PullRequest
0 голосов
/ 27 апреля 2020

Я попал в ловушку, я уже неделю этим занимаюсь и продолжаю решать ту же проблему. Я использую CATIA V5R26 и пытаюсь изменить определенные пользователем свойства (Определить другие свойства), выбрав продукт / деталь в CATIA и запустив макрос.

В настоящее время это то, что у меня есть

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. Я пробовал много разных маршрутов, а также использовал код других людей, который они используют, и по какой-то причине он не работает.

Что нужно сделать, чтобы это работало на нескольких уровнях? Почему это может изменить только 3 из 11 пользовательских свойств?

1 Ответ

1 голос
/ 27 апреля 2020

Одна проблема в том, что вы основываетесь на этом выборе. Если пользователь выберет неправильный тип объекта, он выдаст ошибку.

Тем не менее, попробуйте это:

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

Внутри этого блока вы сможете перечислить все свойства, которые вы хотите изменить.

...