Funzioni iFeature in iLogic

Utilizzare le funzioni di iFeature per scegliere una riga in una iFeature controllata da una tabella. Ogni riga presenta un gruppo di valori di parametri per la gestione della iFeature.

Le funzioni iFeature operano all'interno della parte in cui la iFeature viene inserita (creazione dell'istanza). La sintassi corrisponde a quella utilizzata per le funzioni GoExcel e iPart.

Per accedere alle funzioni per iFeature, espandere il nodo iFeature nella scheda Sistema dell'area Frammenti.

iFeature.ChangeRow

Consente di modificare la riga attiva di una iFeature controllata da una tabella.

Sintassi

iFeature.ChangeRow("iFeatureName", "rowName")

"iFeatureName”

Nome della iFeature come visualizzato nella struttura del modello.

"rowName"

Valore desiderato del parametro chiave nella tabella iFeature.

Se la iFeature possiede più di un parametro chiave, occorre specificarli tutti in una stringa di testo con la sintassi [Key1=Value1][Key2=Value2]. Ad esempio:

[Size=A0][CutLength=0.4375000 in]

Questo esempio è la proprietà iFeatureTableRow.MemberName, come descritto nella documentazione dell'API di Inventor. È possibile specificare diversi valori di parametro anche utilizzando iFeature.FindRow.

È inoltre possibile utilizzare un numero intero di riga:

iFeature.ChangeRow("iFeatureName", rowNumber)

Esempio

In questo esempio, la configurazione della iFeature corrente viene modificata in base all'istruzione condizionale che valuta size, un parametro di testo. iFeature.ChangeRow richiede solo il nome del componente iFeature RectangularPocket1 e, per la tabella iFeature, il nome della colonna chiave "Pocket-01" per gestire la configurazione della iFeature attiva:

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

iFeature.FindRow

Consente di cercare una riga sulla base di uno o più criteri valore colonna. Se viene trovata una riga, imposta la riga attiva della iFeature su tale riga.

Sintassi

i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)

"iFeatureName"

Nome della iFeature controllata da tabella.

"columnName"

Titolo della colonna in cui eseguire la ricerca.

Operatori

Il valore può essere un valore numerico o una stringa di testo. Può essere specificato con un valore esplicito, un parametro o una variabile locale.

Valori restituiti

iFeature.CurrentRowValue("columnName")

Legge un valore dalla riga trovata utilizzando la funzione iFeature.FindRow, dove "columnName" è il nome del titolo della colonna. Restituisce il valore cella del valore riga corrente restituito dalla funzione iFeature.FindRow. Ad esempio:

i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250)
pocketlength = iFeature.CurrentRowValue("pocketlength")
pocketwidth = iFeature.CurrentRowValue("pocketwidth")

Se la colonna non esiste nella iFeature, viene visualizzato un messaggio di errore nella regola.

iFeature.CurrentRowStringValue("columnName")

Utilizzare questa funzione quando la voce ricercata nella tabella iFeature è una stringa di testo. Ad esempio:

Part_number = iFeature.CurrentRowStringValue("Part Number")

iFeature.Tolerance

Questa funzione, se utilizzata insieme a iPart.FindRow, consente di cercare un valore all'interno di un intervallo anziché un valore esatto. La ricerca prevede sempre una tolleranza. La tolleranza di default è 0,0000001 e non dipende dalle unità del documento.

Sintassi

iFeature.Tolerance =<valore >

Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.

Esempio

iFeature.Tolerance = 0.001
i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)

Questo esempio corrisponde a una riga con un valore pocketlength di 2,0004.