Функции работы с рабочими элементами в iLogic

В iLogic содержатся функции, которые позволяют задать или прочитать состояния подавления, цвета и обозначения резьбы элементов.

Используйте функции Feature для резьбы, чтобы задать или прочесть свойства резьбы или резьбовых отверстий. Эти свойства также отображаются в диалоговых окнах для редактирования резьбы или резьбового отверстия.

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

Feature.IsActive (с именем элемента)

Задает или читает состояние подавления для элемента детали или сборки. Используйте эту функцию, чтобы подавить или восстановить любой элемент детали или сборки Inventor. При изменении состояния активации элемента также изменяются зависимые элементы. Благодаря этому в правиле можно не задавать зависимые элементы.

Прим.: Если состояние активации элемента изменить вручную, то правила, относящиеся к ним, не срабатывают автоматически. Для деталей можно добиться того, чтобы такие правила срабатывали автоматически, добавив их к списку правил, вызываемых в случае изменения статуса подавления элемента. Это событие вызывается командой инициаторов событий.

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

Имена элементов должны обязательно быть заключены в кавычки.

Синтаксис

Feature.IsActive("имя элемента")

Пример

if bracket_width >= 3 then
Feature.IsActive("flange_hole_pattern") = true
Feature.IsActive("base_hole_pattern") = true
else
Feature.IsActive("flange_hole_pattern") = false
end if

Feature.IsActive (с именем компонента и элемента)

Этот вариант функции Feature.IsActive задает или читает состояние подавления элементов в детали или узле по имени компонента и элемента. Используйте этот синтаксис, чтобы управлять состоянием активизации элементов деталей из правила на уровне сборки.

Синтаксис

Feature.IsActive("имя компонента", "имя элемента")

Примеры

Задать состояние подавления:

Feature.IsActive("PartA:1", "Hole:1") = false

Читать состояние подавления:

MyBooleanParameter = Feature.IsActive("PartA:1","Hole:1")

Feature.Color

Задает или читает цвет элемента детали по имени элемента. Эта функция не используется для элементов сборки.

Значение цвета — это текстовая строка. Текст необходимо заключить в кавычки. Кроме того, он должен в точности соответствовать написанию и регистру названий цветов, доступных в активном стандарте текущего документа Autodesk Inventor.

Синтаксис

Feature.Color("имя элемента")

Примеры

Чтобы задать цвет:

Feature.Color("Hole:1") = "Green"
Feature.Color("Hole:2") = "Aluminum (Cast)
"Feature.Color("Hole:3") = "As Material"

Чтобы прочитать цвет:

MyStringParameter = Feature.Color("Chamfer:1")

Цвет элементов узла или детали можно задать или прочитать, указав имя компонента и имя элемента:

Feature.Color("componentName", "featurename")

Feature.ThreadDesignation

Задает или читает обозначение резьбы в документе детали или сборки. Обозначение резьбы — это текстовая строка. Его необходимо задавать, используя строку в точности, как она отображается в поле Обозначение в диалоговом окне редактирования элемента с резьбой.

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

Синтаксис

Feature.ThreadDesignation("имя элемента") = "<значение обозначения>"

При желании можно использовать следующий синтаксис для отображения текущего обозначения резьбы в формате, необходимым для его задания:

threadDes = Feature.ThreadDesignation("Thread1")

После использования правила, чтобы задать обозначение резьбы для отверстия, размер отверстия регулируется автоматически.

В случае стержня с резьбой можно использовать правило, чтобы одновременно изменить диаметр стержня и обозначение резьбы. Диаметр стержня должен соответствовать обозначению резьбы.

Пример

If rod_type = "small" Then
Feature.ThreadDesignation("Thread1") = "3/8-16 UNC"
rod_diameter = 0.375
ElseIf rod_type = "large" Then
Feature.ThreadDesignation("Thread1") = "1/2-13 UNC"
rod_diameter = 0.500
End If

Можно также задать или прочесть обозначение резьбы в документе детали или сборки из правила на уровне сборки. Укажите компонент или имя файла и имя элемента с резьбой:

Feature.ThreadDesignation("PartA.ipt", "featurename") = "1/2-13UNC"
Feature.ThreadDesignation("PartA:1", "featurename") = "1/2-13UNC"

Feature.SetThread

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

Прим.: В случае конической резьбы введите вместо пустой строки класс резьбы. Кроме того, вместо обозначения используйте размер.

Синтаксис

Feature.SetThread("имя элемента", "тип резьбы", "обозначение резьбы", "класс резьбы")

Чтобы внести существенные изменения в отверстие или элемент с резьбой в компоненте, можно также использовать следующий синтаксис:

Feature.SetThread("имя компонента", "имя элемента", "тип резьбы", "обозначение резьбы", "класс резьбы")

Feature.ThreadType

Извлекает тип резьбы отверстия или элемента с резьбой. В качестве примера можно привести такие типы, как "стандартная резьба ANSI", "метрический М-профиль ANSI" и т.д. Чтобы изменить тип, используйте оператор SetThread и задайте одновременно обозначение и класс.

Синтаксис

currentType = Feature.ThreadType("имя элемента")

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

currentType = Feature.ThreadType("имя компонента", "имя элемента")

Feature.ThreadClass

Задает класс резьбы отверстия или элемента с резьбой. Чем больше номер, тем выше степень точности.

Синтаксис

Feature.ThreadClass("имя элемента") = "3B"

Используйте следующий синтаксис, чтобы извлечь класс резьбы отверстия или элемента с резьбой:

currentClass = Feature.ThreadClass("имя элемента")

Чтобы задать класс резьбы отверстия или элемента с резьбой в компоненте, используйте следующий синтаксис:

Feature.ThreadClass("имя компонента", "имя элемента") = "3B"

Прим.: Не применяется к конической резьбе.

Извлечение класса резьбы отверстия или элемента резьбы в компоненте.

currentClass = Feature.ThreadClass("имя компонента", "имя элемента")