Функции работы с зависимостями сборки в iLogic

В iLogic содержатся функции для правил, позволяющие применять состояние подавления зависимостей сборки. Эти функции можно примерять для определения конфигураций на уровне сборки с помощью правил iLogic.

Например, предположим, что необходимо определить альтернативные положения для компонента в сборке. Можно определить все совмещения, необходимые для ограничения компонента в каждом местоположении. Затем можно использовать правило, чтобы подавить или восстановить эти совмещения, когда возникает необходимость переместить компонент в каждой конфигурации.

В Autodesk Inventor создание конфликтующих зависимостей не разрешено. Создайте зависимости для одного положения компонента, а затем подавите их вручную, чтобы создать дополнительные наборы зависимостей для альтернативных положений компонента. После создания всех зависимостей, необходимых для размещения компонента для каждой конфигурации, можно написать правила, позволяющие сделать выбор между этими зависимостями.

Чтобы перейти к функциям зависимости, разверните узел "Зависимости" на вкладке "Система" в области "Фрагменты".

Constraint.IsActive

Задает или читает состояние подавления для зависимости сборки верхнего уровня.

Каждой зависимости, включенной в правило, назначьте уникальное пользовательское имя:

Если вручную изменить состояние подавления зависимости, то это не приводит к автоматическому запуску правил, ссылающихся на нее.

Синтаксис

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

Подавляет или восстанавливает описание конструктивной пары.

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.