ADN Club > Inventor API
Регенерация конкретного правила iLogic
(1/1)
Владимир Ананьев:
Попался мне тут любопытный вопрос про регенерацию одного конкретного правила iLogic.
Способ регенерировать все правила в текущем документе известен. Для этого достаточно выполнить команду "iLogic.RegenAllRules":
--- Код: ---Dim controlDef as ControlDefinition = ThisApplication. _
CommandManager.ControlDefinitions.Item("iLogic.RegenAllRules")
controlDef.Execute2(True)
--- Конец кода ---
А как можно осуществить регенерацию одного конкретного правила, если нежелательно трогать остальные?
Специальной функции в API нет, но нашелся вот такой ход.
Если переопределить текст правила iLogic, то список параметров, на которые ссылается данное правило, очищается (обновляется), что, собственно, и требуется. После этого можно инициировать выполнение правила.
--- Код: ---auto = iLogicVb.Automation
rule0 = auto.GetRule(ThisDoc.Document, "Rule0")
' Reset для текста правила очищает список параметров,
' на которые правило ссылается
rule0.Text = rule0.Text
auto.RunRuleDirect(rule0)
--- Конец кода ---
Метод работает :)
Навигация
Перейти к полной версии