Всем доброго дня. Есть два внешних правила, которые создают пользовательские параметры "список материалов" и "список правил обработки листового материала". Параметры добавлены в глобальную форму. Я запускаю эту форму после создания новой детали, меняю значения параметров, закрываю форму и потом мне нужно запустить внешниt правила, чтобы материал модели поменялся и толщина тоже. Если создавать аналогичные списки параметров во внутренних правилах, то всё происходит автоматом. Как автоматизировать этот процесс для внешних правил?
Вот сами правила:
СПИСОК МАТЕРИАЛОВ
Try
p = Parameter.Param("Материал")
Catch
ThisDoc.Document.ComponentDefinition.Parameters.UserParameters.AddByValue("Материал", "", UnitsTypeEnum.kTextUnits)
MultiValue.List("Материал") = iProperties.Materials
Материал = iProperties.Material
End Try
iProperties.Material = Parameter("Материал")
InventorVb.DocumentUpdate()
iLogicVb.UpdateWhenDone = True
MultiValue.UpdateAfterChange = True
СПИСОК ПОЛМ
name = ""
For Each par In ThisDoc.Document.ComponentDefinition.Parameters.UserParameters
If par.Name = "ПОЛМ" Then
name = par.Name
Exit For
End If
Next
If name = "" Then
'try to create new multi-value user parameter
Dim MyArrayList As New ArrayList
For Each st In ThisDoc.Document.ComponentDefinition.SheetMetalStyles
MyArrayList.add(st.Name)
Next
MultiValue.SetValueOptions(True, DefaultIndex := 0, NumericCompare := "=")
ThisDoc.Document.ComponentDefinition.Parameters _
.UserParameters.AddByValue("ПОЛМ", "", UnitsTypeEnum.kTextUnits)
MultiValue.List("ПОЛМ") = MyArrayList
Parameter("ПОЛМ") = SheetMetal.GetActiveStyle()
End If
SheetMetal.SetActiveStyle(Parameter("ПОЛМ"))
iLogicVb.UpdateWhenDone =True
InventorVb.DocumentUpdate()
Буду рад любой помощи.