Правила и формы в iLogic

В браузере iLogic перечислены правила, формы, глобальные формы и внешние правила iLogic.

В браузере iLogic правила упорядочены на двух вкладках.

Формы упорядочены двух вкладках:

Правила в iLogic

Правило — это небольшая программа на Visual Basic (VB.NET), которую можно использовать для контроля за другими параметрами, элементами или компонентами Inventor.

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

Знания сохраняются непосредственно в документе и хранятся там аналогично тому, как хранятся элементы геометрического проекта.

Параметры в правилах

В качестве переменных Visual Basic в правилах можно использовать имена стандартных параметров Inventor. При запуске правила значение параметра присваивается переменной. В случае числовых параметров значение — это действительное число, выраженное в единицах измерения документа, заданных в окне "Сервис" "Процесс моделирования". Текстовые параметры становятся в правиле строковыми переменными. Параметры типа "Истина/ложь" становятся логическими переменными.

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

  • Переменные VB.NET, связанные с числовыми или нечисловыми параметрами. Переменные выделяются синим цветом:

    При запуске правила iLogic читает значения для этих параметров из модели и передает их правилу. После завершения выполнения правила iLogic сохраняет измененные значения обратно в модель.

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

  • Параметры, полученные с помощью функции Parameter. Например:

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

Имена объектов по умолчанию в правилах

До использования в правиле одного из следующих имен объектов Autodesk Inventor измените его имя, если оно было назначено как имя по умолчанию при его создании:

  • элемент
  • эскиз
  • рабочий элемент
  • шаблон
  • зависимость
  • конструктивная пара

Используйте значащие имена. Изменение имени позволяет лучше понять, для чего предназначено правило.

Кроме того, после изменения имени по умолчанию оно становится более переносимым. В локализованных версиях Autodesk Inventor имена элементов по умолчанию переводятся на язык этой версии. Имена автоматически меняются в браузере модели, но не в правиле iLogic. Следовательно, может оказаться, что правило не сможет их найти по имени по умолчанию. Если при этом кто-то пользуется этой же моделью в версии Inventor на другом языке, имена по умолчанию надо обязательно менять. Эта рекомендация относится только к элементам, вызываемых по имени из правила. Например, функции Measure могут использовать имена рабочих элементов. В ситуациях, когда рабочие элементы включены в модель, но не используются в функциях Measure, переименовывать их необязательно. Единственным исключением для этой рекомендации являются внедренные таблицы Excel. Не переименовывайте их.

А неанглийских версиях Autodesk Inventor используйте в правилах имена на английском языке. Например:

"3rd Party:Embedding 1"
Прим.: Некоторые объекты, такие как конструктивные пары, позволяют задать имя при создании.

Запуск правила

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

Правило запускается сразу же после его редактирования. Чтобы этого не происходило, правило необходимо подавить. При запуске правила изменения параметров не приводят к обновлению модели до завершения выполнения правила. При необходимости можно принудительно применить изменение параметров немедленно. Используйте для этого в правиле:

  • функцию Parameter;
  • функцию RuleParametersOutput().

Порядок правил

  • Правила запускаются в том порядке, в котором они отображаются в браузере. Порядок можно изменить, используя функцию iLogicVb.RunRule("ruleName").
  • Если изменившийся параметр используется в нескольких правилах, то первым запускается правила, находящееся первым в списке правил. Это происходит вне зависимости от того, как был изменен параметр.
  • Чтобы изменить порядок правил в списке, связанном с событиями документа вне зависимости от основного списка в браузере iLogic, можно использовать команду инициаторов событий.

Обработка правила

При создании или редактировании правила текст правила преобразуется в допустимый код VB.NET, который затем компилируется. Некоторые имена параметров Inventor нельзя использовать в качестве имен переменных VB.NET. Чтобы использовать весь диапазон имен параметров Inventor, iLogic подставляет вместо параметров Inventor новые имена переменных.

Ключевые слова, используемые в качестве имен параметров

Хотя ключевые слова Visual Basic можно использовать в качестве имен параметров, это не рекомендуется делать в новых документах. Однако при добавлении правил в существующие документы, имена параметров обычно изменять не приходится. Если имя совпадает с ключевым словом, и при этом это ключевое слово требуется использовать в правиле, можно:

  • изменить по возможности имя параметра Inventor (рекомендуется);
  • использовать это ключевое слово в правиле, изменив регистр. Например, если параметр Inventor называется class, то используйте ключевое слово в форме Class. Имена параметров Inventor чувствительны к регистру, однако ключевые слова VB к регистру не чувствительны. В нашем примере class будет изменено на другое имя до того, как VB увидит код, однако Class остается неизменным.

Внутреннее преобразование правил

Текст правила преобразуется в допустимый код VB.NET, который не отображается пользователю и хранится вместе с правилом. Благодаря такому способу хранения, iLogic не приходится генерировать код при каждом запуске правила. Этот код меняется только при редактировании правила.

Сообщения об ошибках компилятора VB в действительности относятся к этому промежуточному коду. В редких случаях при работе с некоторыми сложными кодами отображаются сообщения, не относящиеся к коду правила. В таком случае упростите код. При необходимости убедитесь, что используются инструкции Sub Main() и End Sub.

Когда iLogic преобразует правило в допустимый код VB.NET для компиляции, единицы измерения заменяются коэффициентами преобразования.

Единицы измерения в правилах

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

  • Для правил единицы измерений не требуются. Например, предположим, что параметру присвоено число, которое сопровождается единицей измерения, но в выражении единицы измерения не указаны. В этом случае iLogic предполагает, что для числа следует использовать единицы измерения документа, соответствующие этому параметру. Такое предположение также применяется к сложным единицам измерения, таким как миль/час. Единицы измерения документа задаются в окне "Сервис" "Процесс моделирования" "Единицы" в Inventor.
  • Имена единиц измерения можно использовать только сразу же после чисел в тексте правила. Их нельзя использовать после параметров, переменных или выражений.

Пример - единицы измерения документа

В этом примере в файле детали используются единицы измерения документа в дюймах:

d0 = 4.5 in
d18 = 7.2 in
sum = d0 + d18MessageBox.Show(sum,”Document Units - Inches”)

Если не указано обратное, iLogic предполагает, что единицы измерения чисел определены как единицы измерения документа. В этом случае сумма равна 11,7. В окне сообщения отображается значение и указывается, что единицы измерения документа выражены в дюймах.

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

d0 = 4.5 in
d18 = 7.2 mm
sum = d0 + d18
MessageBox.Show(sum,”Document Units - Inches”)

В этом случае сумма равна 4,78346456692913. В окне сообщения отображается значение и указывается, что единицы измерения документа выражены в дюймах.

Чтобы выполнить предыдущие вычисления для файла детали, где единицы измерения документа выражены в миллиметрах, указывайте дюймы для всех параметров, выраженных в дюймах (например d0 = 4,5 дюйма).

И наконец, если опустить единицы длины из оператора, iLogic использует значение в единицах измерения документа.

Пример - смешанные единицы измерения документа

В этом примере в файле детали используются единицы измерения документа в дюймах. В редакторе параметров iLogic:

  • параметру x задается значение 1 дюйм
  • параметру y задается значение 12,5 мм

Правило записывается следующим образом:

result = x + y
MessageBox.Show(result,“Mixed Units Defined in Parameter Editor”)

При выполнении сложения iLogic преобразует значение параметра y из 12,5 мм в 0,4921 дюйма. В окне сообщения отображается значение 1,49212598425197 и указано, что в редакторе параметров определены смешенные единицы измерения.

И напротив, если в качестве единиц измерения документа указаны миллиметры, то iLogic преобразует значение параметра x из 1 дюйм в 25,4 мм. В окне сообщения отображается значение 37,9 и указано, что в редакторе параметров определены смешенные единицы измерения.

Имена единиц измерения

Определение единиц измерения применяется до выполнения всех математических операций. Эта операция имеет преимущество над всеми другими операторами. Имена единиц измерения:

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

Далее приведены примеры правильного использования имен единиц измерения:

12 in
144 in
144 in^2
125.2 mm
60 mi/hr

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

Внешние правила

Внешние правила можно использовать как правила iLogic или как небольшие программы, запускаемые вручную (как, например, макросы VBA). Они хранятся в текстовых файлах или файлах VB все документа Inventor (детали, сборки или чертежа). Их можно запускать вручную или из других правил.

При просмотре списка внешних правил в браузере iLogic этот список одинаков при открытии любого документа. Он не привязан ни к какому отдельному документу.

Внешние правила можно также запускать как правила, вызываемые событием.

Мастера

iLogic содержит несколько мастеров, которые можно использовать для создания сложных правил для определенных заданий. Эти мастера доступны на вкладке "Мастера" в диалоговом окне "Редактировать правило":

  • Создать правило для диалогового окна — использовать пользовательское диалоговое окно для применения значений параметров.
  • Запомнить текущий вид — запомнить ориентацию вида и значения масштаба отображения.
  • Окно сообщения — создать правило для отображения окна сообщения Windows.
  • Ограничения параметров — задать минимальные и максимальные значения для параметров.

Формы

Создайте и подключите пользовательский интерфейс для параметров, свойств и правил детали, сборки или документа чертежа Inventor.

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

Прим.: Для создания форм правила не требуются.