Primi passi con Inventor iLogic
Come fare i primi passi con Inventor iLogic.
Sicuramente è noto che all’interno di Inventor è presente una tecnologia chiamata iLogic.
iLogic consente di automatizzare la modellazione in Inventor in molteplici modi, tramite il linguaggio di programmazione Visual Basic ed apposita interfaccia intuitiva.
Per quanto iLogic sia un enorme vantaggio ed offra fantastiche possibilità di automazione, un ostacolo può essere il fatto che, sebbene sia impostato nel modo più intuitivo possibile, è necessario avere una certa conoscenza del linguaggio di programmazione per utilizzarlo correttamente.
Con questa premessa, a seguito, un estratto di un semplice codice VB per poter cominciare a programmare in iLogic.
Condizione IF
Inserire una condizione IF attiverà un’azione di confronto dei criteri di ricerca.
Viene usata frequentemente e copre gran parte dei principali ingaggi di controllo.
Esempio: un’estrusione che presenta un semplice foro che attraversa la parte, con posizionamento centrato.
Se volessimo controllare la lunghezza di taglio rispetto alla lunghezza del componente solo se maggiore di 1 metro, potremmo utilizzare il seguente codice.
‘Verifica se d0, la quota che controlla la lunghezza della parte, è maggiore di 1 metro
If d0 > 1000 mm Then
‘Se (If) la lunghezza è maggiore di 1 m, attiva il taglio.
Feature.IsActive(“Extrusion2”) = True
End If
Questa condizione IF può includere anche un’istruzione ELSE (se necessario) che ingaggerà qualsiasi altro criterio e dare un’azione di controllo. Per riferimento: può essere utilizzato anche ElseIF per aggiungere criteri specifici nella stessa dichiarazione.
‘Verifica se d0, la quota che controlla la lunghezza della parte, è maggiore di 1 metro
If d0 > 1000 mm Then
‘Se (If) la lunghezza è maggiore di 1 m, attiva il taglio.
Feature.IsActive(“Extrusion2”) = True
‘Se (If) il criterio non corrisponde
Else
‘Se (If) la lunghezza è minore di 1 m, disattiva il taglio.
Feature.IsActive(“Extrusion2”) = False
End If
Condizione CASE
La condizione CASE è simile all’IF, ma è probabilmente un modo più semplice per gestire diverse varianti o criteri.
Ad esempio, utilizzando sempre il modello precedente, potremmo eseguire fori di dimensioni diverse a seconda della lunghezza del modello.
‘Selezionare la quota che si vuole verificare
Select Case d0
‘Definire cosa deve succedere quando la lunghezza è 1250 mm
Case = 1250 mm
‘Impostare d6, la lunghezza del foro, a 200 mm
d6 = 200 mm
‘Definire cosa deve succedere quando la lunghezza è 1500 mm
Case = 1500 mm
‘Impostare d6, la lunghezza del foro, a 250 mm
d6 = 250 mm
‘Definire cosa deve succedere quando la lunghezza è 1750 mm
Case = 1750 mm
‘Impostare d6, la lunghezza del foro, a 300 mm
d6 = 300 mm
‘Definire cosa deve succedere quando la lunghezza è maggiore di 1750 mm
Case > 1750 mm
‘Impostare d6, la lunghezza del foro, a 350 mm
d6 = 350 mm
‘Termine della verifica sulla lunghezza
End Select
Ciclo FOR EACH
Questa ultima condizione attiva un ciclo di controlli che itera fintanto che non viene soddisfatto un determinato criterio.
Questo è utile in molte occasioni, inclusa l’iterazione attraverso tutte le istanze di un componente all’interno di un assieme.
Per questo esempio entreremo più in dettaglio trattando una regola basata sull’assieme, nella quale vogliamo identificare il numero totale dei componenti al suo interno e visualizzarne i nomi tramite delle finestre di dialogo.
‘Definire una variabile chiamata oAsmCompDef
Dim oAsmCompDef As AssemblyComponentDefinition
‘E referenziarla alla definizione Assembly Definition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
‘Definire una variabile chiamata ComponentOccurrence
Dim oOccurrence As ComponentOccurrence
‘Iterare attraverso ogni corrispondenza
For Each oOccurrence In oAsmCompDef.Occurrences
‘Visualizzare i nomi attraverso una finestra di dialogo (MessageBox)
MsgBox(oOccurrence.Name)
‘Passare alla prossima iterazione
Next
‘Visualizzare il conteggio totale attraverso una finestra di dialogo (MessageBox)
MsgBox(oAsmCompDef.Occurrences.Count)