В iLogic содержатся функции для правил, позволяющие применять состояние подавления зависимостей сборки. Эти функции можно примерять для определения конфигураций на уровне сборки с помощью правил iLogic.
Например, предположим, что необходимо определить альтернативные положения для компонента в сборке. Можно определить все совмещения, необходимые для ограничения компонента в каждом местоположении. Затем можно использовать правило, чтобы подавить или восстановить эти совмещения, когда возникает необходимость переместить компонент в каждой конфигурации.
В Autodesk Inventor создание конфликтующих зависимостей не разрешено. Создайте зависимости для одного положения компонента, а затем подавите их вручную, чтобы создать дополнительные наборы зависимостей для альтернативных положений компонента. После создания всех зависимостей, необходимых для размещения компонента для каждой конфигурации, можно написать правила, позволяющие сделать выбор между этими зависимостями.
Чтобы перейти к функциям зависимости, разверните узел "Зависимости" на вкладке "Система" в области "Фрагменты".
Задает или читает состояние подавления для зависимости сборки верхнего уровня.
Каждой зависимости, включенной в правило, назначьте уникальное пользовательское имя:
Если вручную изменить состояние подавления зависимости, то это не приводит к автоматическому запуску правил, ссылающихся на нее.
Синтаксис
Constraint.IsActive("Mate:1")
Constraint.IsActive("SubAssem.iam", "Mate:1")
Примеры
Задать состояние подавления:
If ConfigStyle = “A” Then Constraint.IsActive("MateLeftSide:1") = true Constraint.IsActive("MateRightSide:2") = false ElseIf ConfigStyle = “B” Then Constraint.IsActive("MateLeftSide:1") = false Constraint.IsActive("MateRightSide:2") = true End If
Читать состояние подавления:
If Constraint.IsActive("MateLeftSide:1") Then (Do something)
Задать или читать состояние подавления зависимости в узле (указывается имя файла узла и имя зависимости):
Constraint.IsActiveInDoc("SubAssem.iam", "Mate:1")
Чтобы копировать или переименовать все файлы сборки без изменения правил, используйте функцию Constraint.IsActiveInComponent и укажите вместо имени файла имя узла.
Задать с использованием имени узла:
If ConfigStyle = “A” Then Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = true Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = false ElseIf ConfigStyle = “B” Then Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = false Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = true End If
Читать с использованием имени узла:
Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)
Подавляет или восстанавливает описание конструктивной пары.
Constraint.iMateDefIsActive(“iMate:1”) = False
Подавляет описание конструктивной пары с именем iMate:1 в текущем документе правила. Результат действия этой функции аналогичен подавлению описания через контекстное меню в интерфейсе пользователя. Если описание конструктивной пары подавлено, оно недоступно для сопряжения.
Constraint.iMateDefIsActive(“SubAssem:1”,“iMate:1) = False
Подавляет описание конструктивной пары с именем iMate:1 в компоненте SubAssem:1.
Constraint.iMateDefIsActive(PartA:1”,“iMate:1”) = True
Восстанавливает описание конструктивной пары с именем iMate:1 в детали компонентаPartA:1.