Расширение и адаптация iLogic

Можно разместить правила iLogic во внешних файлах, а не сохранять их в модели Inventor, и импортировать или экспортировать внешние правила.

Хранение правил во внешних файлах

Такой способ хранения позволяет использовать одно и то же правило в нескольких местах.

Правила iLogic могут использовать код в других сборках .NET. Можно задать каталог, где хранятся эти сборки .NET. Сборку .NET можно создать с помощью таких средств программирования, как Visual Studio. См. дополнительные сведения об использовании сборок .NET в правилах в разделе "Расширенные возможности программирования правил".

Конфигурация импорта/экспорта внешних правил

Выполните настройку конфигурации импорта/экспорта iLogic в виде файла XML для совместного использования несколькими пользователями на разных компьютерах. После выполнения конфигурации внешне подключенные папки появятся в стандартном дереве каталогов, которое обновляется сразу же после изменения содержимого (вложенных папок и правил).

Настройки конфигурации внешних правил используются и сопоставляются в процессе создания развертываний.

Глобальные формы обновляются через параметр контекстного меню для отражения последних версий.

Интерфейс автоматизации для получения доступа к параметрам и правилам

iLogic предлагает интерфейс автоматизации. Этот интерфейс можно использовать из кода Inventor VBA, VB6 или .NET для получения доступа к параметрам и правилам.

Эту возможность обеспечивает класс iLogicAutomation.

В проекте VBA или VB можно использовать его в качестве типа позднего связывания (объявляемого как объект), не добавляя ссылки. Поскольку он не является полным объектом .сом, его методы просматривать невозможно.

Тип данных DoubleForEquals

Для хранения значений параметров в iLogic используется пользовательский тип данных, называемый DoubleForEquals. DoubleForEquals поддерживает простое сравнение чисел. Этот параметр аналогичен стандартному типу VB.NET Double. Однако значения DoubleForEquals сравниваются, как если бы они были значениями одинарной точности (7 знаков после запятой, а не 15). По умолчанию параметры в правилах объявляются как DoubleForEquals.

DoubleForEquals позволяет игнорировать ошибку округления в операциях сравнения. Например, предположим, что в качестве единиц изменения в детали используются дюймы, и значение одного из параметров составляет 13/16 дюйма. В правиле деталь не в точности равна 13/16 дюйма, поскольку в модели значение параметра хранится в сантиметрах. Затем значение преобразуется в дюймы, чтобы использовать его в правиле. Рассмотрим следующее сравнение:

if d0 = 13/16 then ... 

В этом примере условие не выполняется, если переменная d0 объявлена как переменная типа Double. Однако если объявить d0 как переменную типа DoubleForEquals, условие выполняется.

DoubleForEquals хранит значение как значение типа Double и выполняет все вычисления со значениями двойной точности. При этом сравнение выполняется для переменных одинарной точности.

При необходимости значение параметра можно преобразовать в величину двойной точности с помощью функции CDbl.

DoubleForEquals в VB.NET является структурой (тип значений).

Сравнение значения DoubleForEquals с нулем

DoubleForEquals рассматривает сравнение с нулем как особый случай. Если одно из сравниваемых значений в точности равно нулю, то проверка считается успешной, если другое число отличается от нуля меньше чем на 0,0000001 (по модулю).

Такое сравнение позволяет игнорировать ошибки округления для значений, близких к нулю. Например, в результате следующей операции сравнения можно сделать вывод, что x = 0:

angle = PI/2
x = cos(angle)
If (x = 0) Then
...
End If

В каких случаях DoubleForEquals можно отключить

DoubleForEquals — это тип по умолчанию для всех параметров Inventor, используемых в правилах. Этот параметр можно отключить по следующим причинам:

Дополнительные ресурсы для обучения по VB

Выполните поиск учебных пособий VB и информации в Интернете с использованием веб-браузера.