Informazioni su espansione e personalizzazione di iLogic

È possibile posizionare le regole iLogic in file esterni anziché memorizzarle nel modello di Inventor e importare o esportare le regole esterne.

Memorizzazione delle regole in file esterni

Questo metodo di memorizzazione consente di utilizzare la stessa regola in diverse posizioni.

Le regole iLogic possono utilizzare codice di altri assiemi .NET. È possibile specificare la directory in cui sono situati tali assiemi .NET. È possibile creare un assieme .NET con strumenti di programmazione quali Visual Studio. Vedere Programmazione avanzata delle regole per ulteriori informazioni sull'utilizzo di assiemi .NET nelle regole.

Configurazione dell'importazione/esportazione delle regole esterne

Importare/esportare le impostazioni di configurazione di iLogic in un file XML da condividere tra più utenti e computer. Una volta configurato, le cartelle mappate esternamente vengono visualizzate al di sotto di una struttura Directory standard che si aggiorna immediatamente quando il contenuto di sottocartelle e regole cambia.

Le impostazioni di configurazione delle regole esterne vengono sfruttate e mappate durante la creazione di installazioni client.

I moduli globali vengono aggiornati tramite un'opzione del menu contestuale per riflettere la versione più aggiornata.

Interfaccia di automazione per accedere a parametri e regole

iLogic dispone di un'interfaccia di automazione. È possibile utilizzare questa interfaccia da Inventor VBA, oppure da codice VB6 o .NET per accedere a parametri e regole.

La classe iLogicAutomation consente questa funzionalità.

In un progetto VB o VBA, è possibile utilizzarla come tipo ad associazione tardiva (dichiarata come Oggetto) senza l'aggiunta di un riferimento. Poiché non si tratta di un oggetto .COM completo, non è possibile consultare relativi i metodi.

Tipo dati DoubleForEquals

iLogic utilizza un tipo di dati personalizzato denominato DoubleForEquals per memorizzare i valori del parametro. DoubleForEquals supporta il confronto semplice tra numeri. Questo parametro è simile al tipo Double VB.NET standard. Fa eccezione il fatto che i valori DoubleForEquals vengono confrontati come se fossero valori Single (7 posizioni decimali anziché 15). Per default, i parametri nelle regole vengono dichiarati come DoubleForEquals.

DoubleForEquals rende più facile ignorare gli errori di arrotondamento durante i confronti. Si supponga, ad esempio, che la parte utilizzi i pollici come unità del documento e che si disponga di un parametro con un valore di 13/16 pollici. La parte non è esattamente uguale a 13/16 in una regola, perché il valore del parametro è memorizzato in centimetri nel modello. Il valore viene convertito in pollici per essere utilizzato nella regola. Prendere in considerazione il seguente confronto:

if d0 = 13/16 then ... 

In questo esempio, il confronto non riesce se d0 è di tipo Double. Tuttavia, se d0 è di tipo DoubleForEquals, il confronto riesce.

DoubleForEquals memorizza il valore come tipo Double ed esegue i calcoli come valori Double. Solo il confronto viene eseguito come un Single.

È possibile convertire un valore di parametro in un Double utilizzando la funzione CDbl, se necessario.

DoubleForEquals è una Structure (un tipo di valore) in VB.NET.

Confronto DoubleForEquals di un valore con zero

DoubleForEquals considera i confronti con zero come casi speciali. Quando uno dei numeri di cui si deve verificare l'uguaglianza equivale esattamente a zero, il test riesce se l'altro numero è minore di 0,0000001 (in valore assoluto).

Tale confronto rende più semplice ignorare errori di arrotondamento con valore prossimo a zero. Ad esempio, il seguente confronto determina che x = 0:

angle = PI/2
x = cos(angle)
If (x = 0) Then
...
End If

Quando disabilitare DoubleForEquals

DoubleForEquals è il tipo di default per tutti i parametri di Inventor utilizzati nelle regole. È possibile disattivare questa impostazione per i seguenti motivi:

Risorse di istruzione aggiuntive per VB

Ricerca di esercitazioni VB e informazioni in linea tramite il browser Web.