Используйте функции iFeature для выбора строки из табличного параметрического элемента. В каждой строке имеется набор параметрических значений для управления параметрическим элементом.
Функции параметрических элементов действуют внутри детали, в которую помещен параметрический элемент (экземпляр). Их синтаксис аналогичен синтаксису, используемому для функций GoExcel и Параметрическая деталь.
Чтобы перейти к функциям iFeature, разверните узел "iFeature" на вкладке "Система" в области "Фрагменты".
Меняет активную строку табличного параметрического элемента.
Синтаксис
iFeature.ChangeRow("ИмяПараметрическогоЭлемента", "имяСтроки")
"ИмяПараметрическогоЭлемента"
Имя параметрического элемента в том виде, как оно отображается в дереве модели.
"имяСтроки"
Требуемое значение ключевого параметра в таблице параметрических элементов.
Если параметрический элемент имеет несколько ключевых параметров, укажите их все в текстовой строке в виде [КлючевойПараметр1=Значение1][КлючевойПараметр2=Значение2]. Например:
[Size=A0][CutLength=0.4375000 in]
Это пример свойства iFeatureTableRow.MemberName, как оно описано в документации по Inventor API. Также можно задать несколько значений параметров с помощью функции iFeature.FindRow.
Можно также использовать целочисленный номер строки:
iFeature.ChangeRow("ИмяПараметрическогоЭлемента", "номерСтроки")
Пример
В этом примере текущая конфигурация параметрического элемента изменяется на основе условного оператора, который оценивает размер, который является текстовым параметром. Для функции iFeature.ChangeRow требуется указать только имя компонента параметрического элемента RectangularPocket1 и название ключевого столбца таблицы параметрических элементов Pocket-01, чтобы применить активную конфигурацию параметрического элемента.
If size = "small" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-01") ElseIf size = "medium" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-02") ElseIf size = "large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-03") ElseIf size = "very large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-04") End If
Выполняет поиск строки на основе одного или нескольких критериев значения столбца. При нахождении строки функция заменяет активную строку параметрического элемента этой строкой.
Синтаксис
i = iFeature.FindRow("ИмяПараметрическогоЭлемента", "имяСтолбца", "<=", 0,2, "имяСтолбца", "<=", 4,1)
"ИмяПараметрическогоЭлемента"
Имя табличного параметрического элемента.
"имяСтолбца"
Заголовок столбца, поиск которого выполняется.
Операторы
В качестве значения можно использовать число или текстовую строку. Его можно задать непосредственно или с использованием параметра или локальной переменной.
Возвращаемый результат
iFeature.CurrentRowValue(имя столбца)
Считывается значение из строки, найденной с помощью функции iFeature.FindRow, где имяСтолбца — это заголовок столбца. Функция возвращает значение ячейки в текущей строке, которая была возвращена функцией iFeature.FindRow. Например:
i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250) pocketlength = iFeature.CurrentRowValue("pocketlength") pocketwidth = iFeature.CurrentRowValue("pocketwidth")
Если в параметрическом элементе отсутствует такой столбец, правило отображает сообщение об ошибке.
iFeature.CurrentRowStringValue(имя столбца)
Используйте эту, функцию при поиске в таблице параметрических элементов текстовой строки. Например:
Part_number = iFeature.CurrentRowStringValue("Part Number")
Эта функция используется вместе с функцией iFeature.FindRow и позволяет искать не точное значение, а значение, находящееся в диапазоне. Для этого поиска всегда существует допуск. Значение допуска по умолчанию составляет 0,0000001 и не зависит от единиц измерения документа.
Синтаксис
iFeature.Tolerance = <значение>
Задайте более высокое значение допуска, чтобы расширить диапазон приемлемых значений.
Пример
iFeature.Tolerance = 0.001 i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)
В этом примере строка сопоставляется со значением pocketlength, равным 2,0004.