Funzioni parametro (iLogic): riferimenti

Per accedere alle funzioni parametro, espandere il nodo Parametri nella scheda Sistema dell'area Frammenti in iLogic, finestra di dialogo Modifica regola.

Parameter

Parameter("parameterName")

Questa funzione consente di modificare direttamente i valori di parametro.

Negli assiemi è possibile accedere ai parametri in componenti soppressi. Tuttavia, se un componente viene soppresso, non è possibile accedere direttamente al relativo parametro con un'istruzione assegnazione come la seguente:

PartA.ipt.d12 = 6.3

In alternativa, è possibile utilizzare:

Parameter("PartA:1", "d12") = 6.3

Notare che è specificato un nome di componente anziché un nome di file. Sebbene la funzione venga rinominata con un numero di componente specifico, la modifica del parametro influisce su tutte le istanze del componente. Il nome del componente consente alla funzione di identificare il file.

Rinominare il componente manualmente per mantenere il nome se il componente viene sostituito.

È possibile utilizzare anche la funzione MakePath per il nome del componente:

Parameter(MakePath("SubAssem1:1", "Part1:1"), "d12") = 6.3

È possibile leggere il valore corrente di un parametro utilizzando la sintassi di una delle seguenti istruzioni:

param_val = Parameter("d0")

param_val = Parameter("PartA:1", "d0")

Come indicato in questi esempi, il parametro può essere presente nel documento corrente. È possibile utilizzare il nome di qualsiasi parametro accessibile dalla regola.

In un componente non soppresso, è possibile specificare il nome di file anziché il nome componente. Questo metodo consente di modificare un parametro in una parte di base che non appare come componente in un assieme:

Parameter("PartA.ipt", "d12") = 6.3

Se il parametro non viene trovato, la funzione parametro genera un messaggio di errore. È possibile sopprimere il messaggio di errore mediante le seguenti operazioni:

Parameter.Quiet = True

Utilizzare questa tecnica solo se si è consapevoli del fatto che il parametro è mancante e si è preparati a tale condizione.

Accesso ai parametri in parti di base

È possibile accedere ai parametri in una parte di base da un assieme o da una parte derivato. È anche possibile accedervi da un assieme che contiene una parte derivata da una parte di base.

In alcuni casi, è utile gestire i parametri della parte di base dalle regole dell'assieme. Questa tecnica viene definita come modellazione dal generale al particolare. Quando si modifica un parametro di base, vengono modificati anche i parametri collegati in tutte le parti derivate.

La parte e i relativi parametri non sono sempre visibili nella struttura del modello all'interno della finestra di dialogo Modifica regola. È possibile accedervi utilizzando la funzione Parameter. Ad esempio, per modificare un parametro in una parte di base, utilizzare:

Parameter("BaseShaft.ipt”, ”Diameter") = 0.125 in

In genere non è necessario leggere i valori dei parametri dalla parte di base. I parametri sono già collegati all'interno della parte o dell'assieme in cui si sta lavorando.

Funzioni avanzate del parametro

Utilizzare la funzione Parameter.Param per accedere direttamente a un parametro di Inventor. L'oggetto restituito è di tipo Parametro, dall'API di Autodesk Inventor:

param = Parameter.Param("parameterName")
If (param IsNot Nothing) Then
param.Expression = "5.0 in"
param.Tolerance.SetToDeviation(0.002 * 2.54, -0.004 * 2.54)
param.Comment = "Equation and Tolerance set by a rule"
End If

In alternativa, è possibile utilizzare una riga singola:

Parameter.Param("foo").Comment = "Comment set by a rule"

È possibile accedere ad ulteriori proprietà di un parametro di Autodesk Inventor utilizzando i seguenti valori:

param = Parameter.Param("parameterName")
param = Parameter.Param("componentName", "parameterName")

Queste funzioni restituiscono un oggetto della classe Inventor.Parameter. Per ulteriori informazioni su questa classe vedere la Guida programmazione di Inventor.

Funzioni a più valori

Utilizzare funzioni a più valori per accedere e modificare l'elenco dei valori memorizzati con un parametro a più valori. Gli esempi seguenti ne illustrano l'utilizzo:

MultiValue.SetList("d0", 0,5, 0,75, 1,0, 1,25)

Imposta l'elenco dei valori disponibili per il parametro d0.

MultiValue.SetList("d0", "3/8", "d1 * 2", "d1 * 3")

Imposta equazioni anziché valori. È possibile combinare le equazioni e i valori nell'elenco.

MultiValue.SetList("filename.ipt.str0", "Value1", "Value2")

Imposta l'elenco di valori per un parametro di testo in una parte.

MultiValue.SetList("Part1:1", "d0", 0,5, 0,75, 1,0, 1,25)

Imposta l'elenco di valori di un parametro in un componente.

valori = MultiValue.List("d0")

Restituisce l'elenco corrente dei valori, in cui la variabile values è un oggetto del tipo VB.NET ArrayList.

MultiValue.SetValueOptions(True, DefaultIndex := 0, NumericCompare := "=")

Impone al parametro un valore presente nel relativo elenco a più valori. Se si modifica l'elenco a più valori, imposta inoltre il valore corrente del parametro in uno dei valori dell'elenco. Questa funzione non modifica il valore se viene trovato nel nuovo elenco.

MultiValue.SetValueOptions(False)

Quando viene modificato l'elenco a più valori del parametro, il valore attuale del parametro non viene modificato. Questo è il funzionamento di default di MultiValue.

MultiValue.List("MyStringParam") = iProperties.Materials

Imposta un parametro di testo su un elenco di valori equivalenti all'elenco materiali disponibile nella norma attiva corrente.

MultiValue.List("d0") = New Double() {0,5, 0,75, 1,0, 1,25}

Utilizza un metodo alternativo di impostazione dell'elenco di valori.

È possibile trovare esempi che utilizzano valori di Microsoft® Excel nella sezione relativa a GoExcel.CellValues.

MultiValue.UpdateAfterChange = True

Analogamente all'impostazione di Parameter.UpdateAfterChange su True, questa istruzione causa l'aggiornamento del modello di Inventor dopo aver apportato una modifica ad un valore parametro mediante MultiValue.List o MultiValue.SetList.

L'impostazione True causa l'aggiornamento del modello (documento) dopo che il parametro viene modificato. Questo si verifica solo quando si modificano i parametri utilizzando la funzione Parametro:

Per aggiornare il modello nel centro della regola (dopo aver modificato alcuni parametri) utilizzare queste due istruzioni insieme:
  • RuleParametersOutput()
    Nota: - I valori correnti delle variabili locali del parametro verranno assegnati al modello.
  • InventorVb.DocumentUpdate()
  • Se non è necessario aggiornare il modello nel centro della regola, è possibile configurare il sistema per aggiornarlo al termine dell'esecuzione della regola. Utilizzare questa istruzione: iLogicVb.UpdateWhenDone = True.

MultiValue.Quiet = True

Sopprime il messaggio di errore visualizzato quando un parametro non viene trovato. Utilizzare questa funzione solo se si è consapevoli del fatto che il parametro è mancante e si è preparati a tale condizione. Ad esempio, è possibile che il parametro non esista in ogni parte in cui viene applicata la regola.

foundVal = MultiValue.FindValue(aList, "<=", 4,0)

Trova in un elenco il valore che meglio soddisfa una condizione. aList può essere ArrayList o Array. L'argomento per il confronto può essere "<=", "=" o ">=".

Nel seguente esempio viene trovato il valore minore o uguale alla versione 4.0. Se è presente più di un valore, il valore più vicino alla 4.0 viene restituito. Se non esiste un valore corrispondente, questo esempio restituisce la costante VB "Nothing".

foundVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)

È possibile verificare questa condizione.