Come utilizzare le funzioni per le regole iLogic

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

Parametro

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 Parameter 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 ad un parametro di Inventor. L'oggetto restituito è di tipo Parameter, 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 forniscono 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:

Valore multiplo.Imposta elenco(“d0”, 0.5, 0.75, 1.0, 1.25)

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

Valore multiplo.Imposta elenco(“d0”, “3/8”, “d1 * 2”, “d1 * 3”)

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

Valore multiplo.Imposta elenco(“filename.ipt.str0”, “Value1”, “Value2”)

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

Valore multiplo.Imposta elenco(“Part1:1”, “d0”, 0.5, 0.75, 1.0, 1.25)

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

valori = Valore multiplo.Elenco(“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.

Valore multiplo.Elenco(“MyStringParam”) = iProperties.Materials

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

Valore multiplo.Elenco(“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 Valore multiplo.Elenco o Valore multiplo.Imposta elenco.

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:

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 il valore in un elenco che corrisponde maggiormente ad una condizione. aList può essere un oggetto ArrayList o Array. L'argomento per il confronto può essere "<=", "=" o ">=".

Nell'esempio seguente viene trovato il valore minore di o uguale a 4.0. Se esiste più di un valore, viene restituito il valore più vicino a 4.0. 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.