Функции параметрических деталей и сборок в iLogic

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

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

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

Аналогичные функции доступны для параметрических элементов. См. дополнительные сведения в разделе Функции iFeature.

iPart.ChangeRow

Меняет активную строку в таблице параметрической детали или параметрической сборки.

Синтаксис

iPart.ChangeRow("iChangedComponentName:1", "memberName")

iChangedComponentName:1

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

memberName

Имя, назначенное строке в таблице в столбце "Элемент".

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

iPart.ChangeRow("iChangedComponentName:1", "memberName", customParam1,customParam2)

Используйте этот синтаксис, чтобы задать не имя элемента, а номер строки. Номер столбца — это целое число, равное 1 для первой строки (только для стандартных параметрических деталей):

iPart.ChangeRow("iChangedComponentName:1", rowNumber)

Пример

В этом примере текущая конфигурация параметрической детали изменяется на основе условного оператора, который оценивает пользовательский параметр Inventor Port_1_Size. Чтобы применить активную конфигурацию параметрической детали, функции необходимо указать только имя компонента параметрической детали port_1_Flange_screw и имя элемента таблицы параметрических деталей Screw-01.

If Port_1_Size = .50 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-01")
ElseIf Port_1_Size = .75 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-02")
ElseIf Port_1_Size = 1.00 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-03")
End If

iPart.FindRow

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

Синтаксис

i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)

i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)

i

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

iChangedComponentName:1

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

columnName

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

Пример

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

iPart.FindRow("port_1_flange_screw", "Thread_Diameter", ">=", 0.45, "Thread_Length", ">=", 2.0)

iPart.CurrentRowValue

Когда строка найдена с помощью функции iPart.FindRow, эта функция считывает соответствующие значения столбцов из этой строки. Эта функция считывает только числовые значения. Используйте функцию iPart.CurrentRowStringValue, чтобы выполнить чтение столбцов, содержащих текстовые значения.

Синтаксис

d0 = iPart.CurrentRowValue("columnName")

Любая из следующих функций задает текущую строку:

iPart.FindRow или iPart.ChangeRow

columnName

Имя требуемого столбца таблицы параметрических деталей.

Пример

В этом примере в столбце Port_Size таблицы параметрических рядов port_1_flare_flange выполняется поиск точного значения, которое соответствует значению параметра Inventor Port_1_Size. Когда строка найдена, используется функция iPart.CurrentRowValue для извлечения размеров из столбцов A_dim и B_dim таблицы. Затем эти значения присваиваются параметрам Inventor с именами Port_1_screw_A_dim и Port_1_screw_B_dim.

i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size)
Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim")
Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")

iPart.CurrentRowStringValue

Когда строка найдена с помощью функции iPart.FindRow, используйте эту функцию для чтения соответствующих значений столбцов из этой строки. Это функция, аналогичная функции iPart.CurrentRowValue, но она используется только для чтения текстовых значений. Используйте функцию iPart.CurrentRowValue, чтобы выполнить чтение столбцов, содержащих числовые значения.

Синтаксис

iPart.CurrentRowStringValue("PartNumber")

Альтернативный синтаксис для имени компонента

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

iPart.ChangeRow("iParentFileName:1", "memberName")

iPart.FindRow("iParentFileName:1","columnName","<=",d1,"columnName","<=",d2)

iParentFileName:1

Имя родительского файла параметрической детали, где :1 заменяет обычное расширение IPT или IAM. Используйте вместо :1 номер компонента, с которым выполняется работа.

Хотя такой синтаксис поддерживается, его применение не рекомендуется. Существует более стандартный метод: изменить имя компонента, чтобы его стабилизировать.

iPart.RowName

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

Прим.: После применения этой функции можно использовать функцию iPart.CurrentRowValue или iPart.CurrentRowStringValue для извлечения значений других ячеек в активной строке.

Синтаксис

iPart.RowName("iChangedComponentName:1")

Пример

memberName = iPart.RowName("port_1_flange_screw:1")

iPart.RowNumber

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

Прим.: После применения этой функции можно использовать функцию iPart.CurrentRowValue или iPart.CurrentRowStringValue для извлечения значений других ячеек в активной строке.

Синтаксис

iPart.RowNumber("iChangedComponentName:1")

Пример

rowNumber = iPart.RowNumber("port_1_flange_screw:1")

iPart.Tolerance

Эта функция используется вместе с функцией iPart.FindRow и позволяет искать не точное значение, а значение, находящееся в диапазоне. Для этого поиска всегда существует допуск. Значение допуска по умолчанию составляет 0,0000001 и не зависит от единиц измерения документа.

Синтаксис

iPart.Tolerance = <значение>

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

Пример

Предположим, что используются следующие операторы:

iPart.Tolerance = 0.001
i = iPart.FindRow("Block:1","length", "=", 2.3)

Эти два оператора вместе аналогичны следующей операции поиске без допуска:

i = iPart.FindRow("Block:1", "length", ">=", 2.299, "length","<=", 2.301)

Чтобы заменить элемент параметрической детали элементом из другого параметрического ряда, используйте функцию Component.ReplaceiPart.