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 iFeature, espandere il nodo iFeature nella scheda Sistema dell'area Frammenti in iLogic, finestra di dialogo Modifica regola.
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 di 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 corrente della iFeature viene modificata in base ad un'istruzione condizionale che valuta size, ovvero un parametro di testo. Per iFeature.ChangeRow è necessario solo il nome del componente della iFeature RectangularPocket1 e il nome "Pocket-01" della tabella di iFeature Key Column 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 IfConsente di cercare una riga sulla base di uno o più criteri di valore della 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 di iFeature è una stringa di testo. Ad esempio:
Part_number = iFeature.CurrentRowStringValue("Part Number")Questa funzione, se utilizzata insieme a iFeature.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 = <value>
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.