È possibile posizionare le regole iLogic in file esterni anziché memorizzarle nel modello di Inventor e importare o esportare le regole esterne.
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.
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.
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 abilita 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.
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.
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 IfDoubleForEquals è il tipo di default per tutti i parametri di Inventor utilizzati nelle regole. È possibile disattivare questa impostazione per i seguenti motivi:
Double. Sono state prese tutte le misure possibili per abilitare la conversione trasparente in Double. Tuttavia, se una funzione richiede un argomento di tipo Object, non viene eseguita alcuna conversione. Se viene passato un oggetto DoubleForEquals, la funzione può attendersi un tipo Double. È possibile utilizzare CDbl o disabilitare DoubleForEquals.DoubleForEquals utilizzando Double direttamente.Single (all'incirca tra 1,4e-45 a 3,4e38). Sebbene questa situazione sia poco probabile in un modello di Inventor, potrebbe verificarsi con unità diverse dalle unità di lunghezza.Ricerca di esercitazioni VB e informazioni in linea tramite il browser Web.