Una funzione è un'istruzione eseguita all'interno di un programma. L'istruzione può includere gli argomenti o richiedere determinati input per essere eseguita correttamente.
Le funzioni vengono normalmente disposte in un determinato ordine per ottenere il risultato desiderato. Ad esempio, una funzione recupera un dato da un database e la funzione successiva esegue un'operazione su tale dato. In genere, ciascuna funzione è indipendente dal restante codice nel programma.
iLogic fornisce numerose funzioni per l'utilizzo nelle regole. Le funzioni sono raggruppate in categorie.
Di seguito viene riportato un esempio di visualizzazione di una funzione in una regola:
returnValue = Category.FunctionName(argument1, argument2, ...)
Un argomento può essere una stringa di testo, un valore booleano True/False o un numero.
Un valore stringa di testo viene specificato all'interno di una coppia di virgolette doppie. “ComponentName:1” e “Hole2” sono esempi di stringhe di testo. Utilizzando l'esempio precedente, se gli argomenti sono stringhe di testo, la funzione viene visualizzata come segue:
returnValue = Category.FunctionName(“ComponentName:1”,“Hole2”)
È possibile utilizzare un parametro di testo iLogic come argomento di una funzione che richiede una stringa di testo. È possibile utilizzare un parametro numerico di Inventor come argomento di una funzione che richiede un numero.
Un valore restituito può essere una stringa di testo, un valore booleano True/False o un numero. Spesso si tratta di un valore che si desidera recuperare dal modello. È possibile verificare il valore restituito o assegnarlo ad un parametro o ad una variabile locale nella regola.
Alcune funzioni non dispongono di un valore di restituzione. In VB.NET, questo tipo di funzione è definita funzione Sub. Spesso comporta la modifica del modello. Ad esempio:
Category.FunctionName(argument1, argument2, ...)
È possibile utilizzare un altro tipo di funzione per scrivere o assegnare un valore ad un elemento nel modello di Inventor. In VB.NET, questo tipo di funzione è definita Property. Ad esempio:
Category.FunctionName(argument1, argument2, ...) = value
In questo esempio, la funzione scrive il valore nel modello.
Utilizzo delle funzioni in iLogic
iLogic include funzioni che consentono di modificare il modello di Inventor o di estrarre dati dal modello e restituirli all'utente. Tali funzioni sono disponibili come frammenti di codice nella finestra di dialogo Modifica regola. È possibile posizionare le funzioni nelle regole (piccoli programmi Visual Basic) definite per il modello. Quando viene eseguita una regola, vengono eseguite le operazioni all'interno di tale regola.
Aggiunta di una funzione ad una regola
È possibile modificare una funzione all'interno di una regola mediante tecniche standard di modifica del testo. Per assistenza con determinate operazioni, utilizzare la barra degli strumenti al di sopra dell'area del testo della regola o il menu contestuale.
Quando si aggiunge una funzione, a volte risulta più veloce e più efficace modificare una copia di una funzione simile presente nella regola. Utilizzare i comandi Copia/Incolla per creare una copia di una funzione esistente che può essere modificata.
Per accedere alle funzioni parametro, espandere il nodo Parametri nella scheda Sistema dell'area Frammenti.
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.3Notare 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.
È inoltre possibile utilizzare 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("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.3Se 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.
È 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 inIn 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 ottenere l'accesso diretto ad 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 IfIn 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.
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 di 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")
Ottiene l'elenco corrente di valori, in cui la variabile values è un oggetto di 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.
Se il valore corrente del parametro non è presente nel nuovo elenco, il parametro viene impostato per il primo valore (indice 0) nell'elenco.
Verifica l'uguaglianza. È inoltre possibile utilizzare "<=" o ">=".
MultiValue.SetValueOptions(False)
Quando viene modificato l'elenco a più valori del parametro, il valore attuale del parametro non viene modificato. Questo funzionamento è 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
Come per l'impostazione di Parameter.UpdateAfterChange su True (Vero), questa istruzione consente di aggiornare immediatamente il modello di Inventor.
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 un valore corrispondente non è presente, tale esempio restituisce la costante VB "Nothing".
foundVal = MultiValue.FindValue(MultiValue.List("d0"), "<=", 4.0)iLogic dispone di funzioni che consentono di impostare o leggere gli stati di soppressione, i colori e le designazioni di filettatura delle lavorazioni.
Usare le funzioni di lavorazione per le filettature, per impostare o leggere le proprietà delle filettature o dei fori filettati. Tali proprietà vengono visualizzate anche nella finestra di dialogo per la modifica di una lavorazione di filettatura o di un foro filettato.
Per accedere alle funzioni di lavorazione, espandere il nodo Lavorazioni nella scheda Sistema dell'area Frammenti.
Feature.IsActive (con nome lavorazione)
Consente di impostare o leggere lo stato di soppressione per una lavorazione di parte o di assieme. Utilizzare questa funzione per sopprimere o scoprire le lavorazioni di una parte o di un assieme di Inventor. Quando si modifica lo stato di attivazione di una lavorazione, si modificano anche le lavorazioni dipendenti. Grazie a questo effetto non è necessario specificare le lavorazioni dipendenti nella regola.
Se si modifica il nome di una lavorazione dopo la scrittura di una regola che include questa funzione, modificare la regola. Sostituire il nome esistente con il nuovo nome. Modificare i nomi di lavorazione (se necessario) prima di procedere alla scrittura delle regole.
I nomi di lavorazione devono sempre essere racchiusi tra virgolette.
Feature.IsActive(“featurename”)
if bracket_width >= 3 then
Feature.IsActive("flange_hole_pattern") = true
Feature.IsActive("base_hole_pattern") = true
else
Feature.IsActive("flange_hole_pattern") = false
end ifFeature.IsActive (con nome lavorazione e componente)
Questa variazione della funzione Feature.IsActive consente di impostare o leggere lo stato di soppressione delle lavorazioni in una parte o in un sottoassieme specificando il nome della lavorazione e del componente. Utilizzare questa sintassi per controllare lo stato di attivazione delle lavorazioni nelle parti dall'interno di una regola a livello di assieme.
Feature.IsActive(“componentname”, “featurename”)
Impostazione dello stato di soppressione:
Feature.IsActive("PartA:1", "Hole:1") = falseLettura dello stato di soppressione:
MyBooleanParameter = Feature.IsActive("PartA:1","Hole:1")Consente di impostare o leggere il colore di una lavorazione di parte specificando il nome lavorazione. La funzione non può essere utilizzata per le lavorazioni di assieme.
Il valore di colore è una stringa di testo. Il testo deve essere racchiuso tra virgolette. È inoltre necessario che corrisponda al nome esatto (incluse maiuscole/minuscole) dei colori disponibili nella norma attiva del documento Autodesk Inventor corrente.
Feature.Color("Hole:1") = "Green"
Feature.Color("Hole:2") = "Aluminum (Cast)
"Feature.Color("Hole:3") = "As Material"MyStringParameter = Feature.Color("Chamfer:1")Impostazione o lettura del colore delle lavorazioni di parte o sottoassieme specificando il nome del componente e della lavorazione:
Feature.Color("componentName", "featurename")Consente di impostare o leggere la designazione di una lavorazione di filettatura in un documento di parti o di assiemi. La designazione della filettatura è una stringa di testo. È necessario specificare la stringa esattamente come viene visualizzata nel campo Designazione della finestra di dialogo di modifica della filettatura.
Per una filettatura rastremata, specificare il valore che viene visualizzato nel campo Dimensioni della finestra di dialogo Filettatura. Questo valore è generalmente una versione ridotta della designazione di filettatura completa.
Feature.ThreadDesignation("featurename") = "<designation value>"
Se lo si desidera, utilizzare la sintassi seguente per mostrare la designazione di filettatura corrente nel formato necessario all'impostazione:
threadDes = Feature.ThreadDesignation("Thread1")
Quando si imposta la designazione di filettatura per un foro con una regola, le dimensioni del foro vengono adattate automaticamente.
Per un'asta filettata è possibile utilizzare una regola per modificare contemporaneamente il diametro dell'asta e la designazione di filettatura. Il diametro dell'asta deve essere compatibile con la designazione di filettatura.
If rod_type = "small" Then
Feature.ThreadDesignation("Thread1") = "3/8-16 UNC"
rod_diameter = 0.375
ElseIf rod_type = "large" Then
Feature.ThreadDesignation("Thread1") = "1/2-13 UNC"
rod_diameter = 0.500
End IfÈ inoltre possibile impostare o leggere la designazione di una lavorazione di filettatura in un documento di parti o di assiemi da una regola a livello di assieme. Specificare il componente o il nome file e il nome della lavorazione di filettatura:
Feature.ThreadDesignation("PartA.ipt", "featurename") = "1/2-13UNC"Feature.ThreadDesignation("PartA:1", "featurename") = "1/2-13UNC"Consente di eseguire modifiche importanti ad un foro o ad una filettatura. Imposta il tipo, la designazione e la classe. Utilizzare questa funzione per alternare tra filettature in pollici e metriche. Non è possibile passare da una filettatura diritta ad una filettatura rastremata.
Feature.SetThread("featurename", "thread type", "thread designation", "thread class")
In alternativa, utilizzare la sintassi seguente per apportare modifiche importanti ad una filettatura o ad un foro in un componente:
Feature.SetThread("componentName", "featurename", "thread type", "thread designation", "thread class")
Ottiene il tipo di filettatura di una filettatura o di un foro. Gli esempi includono "Filettature unificate ANSI", "Profilo metrico M ANSI" e così via. Per modificare il tipo, utilizzare SetThread e impostare contemporaneamente la designazione e la classe.
currentType = Feature.ThreadType("featurename")
In alternativa, utilizzare la sintassi seguente per ottenere il tipo di filettatura di un foro o di una filettatura in un componente:
currentType = Feature.ThreadType("componentName", "featurename")
Imposta la classe filettatura di un foro o di una filettatura. Maggiore è il numero impostato, maggiore sarà il grado di precisione.
Feature.ThreadClass("featurename") = "3B"
Utilizzare questa sintassi per ottenere la classe di filettatura di un foro o di una filettatura:
currentClass = Feature.ThreadClass("featurename")
Utilizzare la sintassi seguente per impostare la classe di filettatura di un foro o di una filettatura in un componente:
Feature.ThreadClass("componentName", "featurename") = "3B"
Ottiene la classe di filettatura di un foro o di una filettatura in un componente.
currentClass = Feature.ThreadClass("componentName", "featurename")
iLogic fornisce funzioni regola per l'impostazione o la lettura degli stati di soppressione del componente e dei colori, nonché una funzione per la sostituzione di un componente con un altro. Tali funzioni sono utili per la gestione di configurazioni diverse di parti o di assiemi.
È possibile creare un modello (parte o assieme) che include i componenti necessari per rappresentare tutte le configurazioni valide possibili di un prodotto. Questo metodo è noto come "super modellazione". Quando le parti o i componenti dell'assieme sono troppo complessi o numerosi e non è possibile eseguire la super modellazione, utilizzare la funzione Component.Replace.
Per accedere alle funzioni Componente, espandere il nodo Componenti nella scheda Sistema dell'area Frammenti.
Personalizzare tutti i nomi di componente facendo riferimento ai nomi in una regola. Quando si modifica il nome del componente rispetto al nome di default assegnato da Autodesk Inventor, è necessario verificare che non subisca modifiche quando cambiano i file .ipt o .iam.
È possibile ripristinare il nome originale del componente e mantenerne la stabilità. Per modificare il componente, apportare una modifica secondaria al nome, quindi convertirlo nuovamente all'originale.
Per un componente del Centro contenuti, la modifica del nome è necessaria per la funzione Component.IsActive, nonché per la funzione Component.Replace.
Consente di impostare o leggere lo stato di soppressione e la struttura distinta componenti di un componente dell'assieme. Utilizzare questa funzione per includere o escludere un componente da una configurazione di assieme.
La funzione può essere utilizzata su un singolo componente o su serie di componenti. Per le serie, utilizzare il nome serie. La serie deve trovarsi allo stesso livello dell'assieme al quale si trova la regola, e non in un sottoassieme.
Non sopprimere i sottocomponenti. È consigliabile eseguire la soppressione da una regola all'interno del componente.
Ad esempio, un assieme denominato Topassembly contiene SubAssembly:1 e tale sottoassieme contiene SamplePart:1.
Utilizzare una regola all'interno di SubAssembly per sopprimere SamplePart:1. Questa regola può includere un parametro che determina lo stato di soppressione, gestibile mediante una regola in TopAssembly.
Quando si utilizza iLogic per sopprimere un componente, la struttura distinta componenti del componente viene impostata su Riferimento. Questa azione impedisce la comparsa del componente nella distinta componenti. Viene visualizzato nella vista Dati modello, ma non nelle viste Strutturata o Solo parti. Se il componente viene scoperto, iLogic ne ripristina lo stato precedente alla soppressione (Normale, Inseparabile Acquistato o Nascosto).
Prima di poter utilizzare una regola iLogic per modificare lo stato di soppressione di un componente di assieme, creare e attivare un nuovo livello di dettaglio personalizzato.
Component.IsActive("ComponentName")
È possibile utilizzare 1 anziché true e 0 anziché false.
Per impostare lo stato di soppressione e la struttura distinta componenti:
Component.IsActive("PartA:1") = false
Component.IsActive("PartB:1") = 0
Component.IsActive("PartC:1") = false
Component.IsActive("PartD:1") = 0Per leggere lo stato di soppressione e la struttura distinta componenti:
MyBooleanParam = Component.IsActive("ComponentName:1)
If Component.IsActive("PartE") Then
' do something
End IfQuesta funzione è una variazione di Component.IsActive che consente di impostare o leggere lo stato di soppressione di un componente iPart o iAssembly. Se non viene modificato manualmente il nome del componente, iPart e iAssembly richiedono l'utilizzo di tale sintassi dedicata.
È consigliabile modificare il nome del componente. In tal caso sarà possibile utilizzare Component.IsActive anziché questa funzione.
Component.iComponentIsActive(“iPartParentName:1”)
Nome della parte della famiglia senza l'estensione nome file .ipt.
Consente di impostare o leggere il colore di un componente.
Component.Color("iPartA:1") = "Green"
Component.Color("iPartA:2") = "Aluminum (Cast)"
Component.Color("iPartA:3") = "As Material"MyStringParameter = Component.Color("iPartA:1")Consente di impostare o leggere la visibilità di un componente. Questa funzione non modifica la struttura distinta componenti del componente.
Component.Visible("componentName")
Impostazione della visibilità:
Component.Visible("Plate") = true
Component.Visible("Bearing") = falseparameter = Component.Visible("Plate")
parameter = Component.Visible("Bearing")If Component.Visible("PartE") Then
do something
End IfSpecifica se un documento componente viene salvato in caso di modifica e successiva soppressione da parte di una regola.
Component.SkipDocumentSave = True
Quando l'opzione è impostata su True, il documento componente non viene salvato.
Il valore di default è False (Component.SkipDocumentSave = False); il documento componente viene salvato.
Sostituisce una parte o un sottoassieme con un altro. Questa funzione può essere utilizzata anche per sostituire le serie dei componenti.
Utilizzare iMate nei componenti che vengono scambiati per mantenere intatti i vincoli di assieme. È possibile scambiare una parte con una parte, una parte con un assieme o un assieme con una parte.
La funzione esegue una ricerca in più directory (cartelle) per trovare il file da utilizzare come sostituzione:
Il nome del file può essere un percorso relativo (rispetto ad uno di questi percorsi di ricerca).
Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)
Il nome della parte o del sottoassieme sostituito.
La parte o l'assieme da utilizzare come sostituzione.
Impostare questo valore booleano su True per sostituire tutte le istanze del componente. Impostare il valore su False per sostituire solo la singola istanza denominata.
If PartType = "Type A" Then
Component.Replace("Widget","PartA.ipt", True)
ElseIf PartType = "Type B" Then
Component.Replace("Widget","PartB.ipt", True)
End IfComponent.Replace (con livello di dettaglio specificato)
Questa variazione della funzione Component.Replace sostituisce un componente in un assieme con un altro componente in corrispondenza di un determinato livello di dettaglio.
Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Level of Detail>", <replaceAll>)
In questa funzione, l'argomento <replaceAll> è lo stesso come descritto per la funzione Component.Replace più generica.
È inoltre possibile sostituire un sottoassieme con lo stesso sottoassieme ad un diverso livello di dettaglio.
Obbligatorio per iPart con parametri personalizzati, questa funzione è consigliata anche per iPart standard. Utilizzarla in sostituzione di Component.Replace quando il componente è una iPart. È possibile utilizzare iPart.ChangeRow o iPart.FindRow dopo la sostituzione per modificare la configurazione della iPart specifica.
Per una iPart con parametri personalizzati, elencare i valori per i parametri personalizzati dopo rowNumber. I valori devono essere elencati nell'ordine in cui sono presenti nella tabella.
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)
Utilizzare rowNumber per sostituire il componente e scegliere contemporaneamente una riga iPart.
Per impostare i parametri personalizzati, ripetere i valori personalizzati in Component.ReplaceiPart e di nuovo in iPart.ChangeRow o iPart.FindRow successivamente nella regola.
Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)Definisce il percorso per un nome componente in un sottoassieme. Per specificare il percorso, elencare tutti i livelli di sottoassieme nell'ordine in cui appaiono nella struttura. Questa funzione è obbligatoria se si desidera specificare un nome componente quando lo stesso nome esiste anche in un'altra posizione all'interno dell'assieme.
MakePath(“SubassemblyComponentName”,“PartComponentName”)
Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”iLogic fornisce funzioni regola per l'impostazione o l'ottenimento di iProperties di documenti di disegno, parte e assieme di Inventor. Dato che le regole vengono utilizzate per strutturare o modificare i progetti in nuove configurazioni, mantenere aggiornate le iProperties dei documenti di progetto. Affinché la distinta componenti sia corretta, è necessario che le iProperties siano aggiornate. Le regole possono essere utilizzate anche per leggere i valori iProperty di un documento e intervenire su tali valori. Ad esempio, è possibile disporre di una regola che modifica lo spessore di una parte quando la proprietà del materiale viene modificata. Una regola può applicare modifiche se la massa della parte supera un valore massimo o minimo. Qualsiasi iProperty che può essere impostata manualmente può anche essere impostata o letta utilizzando una regola.
Per accedere alle funzioni iProperties, espandere il nodo iProperties nella scheda Sistema dell'area Frammenti.
iProperties.Value("property tab name", "property name")
Consente di leggere o impostare un valore di proprietà del documento che contiene la regola.
iProperties.Value("filename.ipt", "property tab name", "property name")
Utilizzato in una regola di livello assieme per accedere alle iProperties di una parte o di un sottoassieme.
Se il nome del file della parte o del sottoassieme viene modificato, il testo della regola deve essere modificato di conseguenza.
Si consiglia di utilizzare il nome del componente (dopo la personalizzazione) anziché il nome del file.
iProperties.Value("custom component name", "property tab name", "property name")
Consente di impostare o leggere i valori delle proprietà di un componente. Questa funzione utilizza il nome del componente anziché il nome del file. Personalizzare il nome del componente (modificare il relativo nome di default), in modo che non venga più modificato se il file di riferimento viene modificato.
Impostazione del valore iProperty:
iProperties.Value("Project", "Stock Number") = "302A"MyStringParam = iProperties.Value("Project", "Stock Number")Impostazione del valore iProperty personalizzato:
iProperties.Value("Custom", "Age") = 41 'number type
iProperties.Value("Custom", "Company") = "Autodesk, Inc" 'text type
iProperties.Value("Custom", "Date") = CDate("11/1/2008") ' date type
iProperties.Value("Custom", "Insured") = true 'yes or no typeLettura del valore iProperty personalizzato:
age = iProperties.Value("Custom", "Age")
company = iProperties.Value("Custom", "Company")
thedate = CStr(iProperties.Value("Custom", "Date"))
insured = iProperties.Value("Custom", "Insured")Work_In_Progress = 1
Pending = 2
Released = 3
iProperties.Value("Status", "Design State") = PendingNelle versioni precedenti di iLogic venivano utilizzate le seguenti funzioni per ottenere le iProperties di parti di assiemi:
iProperties.ValueInDoc("filename.ipt", "property tab name", "property name")
iProperties.ValueInComponent("custom component name", "property tab name", "property name")
Riferimento al nome componente.
Sebbene queste funzioni non siano disponibili nell'area Frammenti della finestra di dialogo Modifica regola, funzionano se utilizzate in una regola. Tuttavia, è preferibile utilizzare la funzione iProperties.Value anziché le funzioni precedenti.
Questa funzione supporta l'utilizzo dello stesso documento in versioni di Autodesk Inventor di lingue diverse. Per ottimizzare la portatilità del modello è consigliabile utilizzare nomi inglesi per i materiali e i colori nelle regole. Se si imposta questa funzione su True, qualsiasi funzione che restituisce nomi di materiali o colori li restituisce in inglese. È possibile utilizzare nomi nella lingua di installazione di Autodesk Inventor per impostare un nome del materiale o del colore. È consigliabile utilizzare nomi in inglese per mantenere la coerenza. Le seguenti funzioni restituiscono i nomi in inglese quando si imposta il valore iProperties.StylesInEnglish su True:
Consente di impostare o leggere il materiale di un documento.
Quando si imposta il materiale, utilizzare lo stesso nome del materiale (inclusa la distinzione tra maiuscole e minuscole) che appare nell'elenco dei materiali fisici della norma attiva. I valori del materiale sono sempre stringhe di testo racchiuse tra virgolette.
iProperties.Material = "Gold"
MyStringParam = iProperties.Material
iProperties.Material(“filename.ipt”)
Consente di impostare o leggere il materiale di una parte in un assieme, specificando il nome di file.
Consente di impostare o leggere il colore corrente di una parte. I valori di colore parte sono stringhe di testo racchiuse tra virgolette. La modifica del colore non influenza il valore del materiale corrente.
Questa funzione può essere utilizzata solo per le parti.
iProperties.PartColor = "Green" iProperties.PartColor = "As Material"
MyStringParam = iProperties.PartColor
Consente di leggere o scrivere la massa del documento della parte o dell'assieme contenente la regola.
Se si compila la massa, viene sostituita la massa calcolata. Per ripristinare il valore calcolato, impostare la massa su -1.
iProperties.Mass("filename.ipt")
Consente di leggere o scrivere la massa di una parte o di un sottoassieme in un assieme, specificando il nome di file.
iProperties.Mass("nome componente:1")
Consente di leggere o scrivere la massa di un componente in un assieme, specificando il nome del componente. Questa funzione può essere utilizzata anche per leggere o scrivere la massa di un componente virtuale.
MyMassParam = iProperties.Mass
MyMassParam = iProperties.Mass("component:1")
MyMassParam = iProperties.Mass("mypart.ipt")Per impostare la massa (sostituzione calcolo automatico):
iProperties.Mass = 3 kg
iProperties.Mass("virtual_component") = 233 g
iProperties.Mass("mypart.ipt") = 4.2 lb
massiProperties.Mass = -1 'set the mass back to automatic calculationConsente di leggere o scrivere il volume del documento contenente la regola.
iProperties.Volume("filename.ipt")
Consente di leggere o scrivere il volume della parte o del sottoassieme contenente la regola, specificando il nome di file.
iProperties.Volume("componente:1")
Consente di leggere o scrivere il volume di un componente in un assieme, specificando il nome del componente. Questa funzione può essere utilizzata anche per leggere o scrivere il volume di un componente virtuale.
MyVolumeParam = iProperties.Volume
MyVolumeParam = iProperties.Volume("component:1")
MyVolumeParam = iProperties.Volume("mypart.ipt")Per impostare il volume (sostituzione calcolo automatico):
iProperties.Volume = 12.4 in^3
iProperties.Volume("virtual_component") = 542 cm^3
iProperties.Volume("mypart.ipt") = 12.8 in^3
iProperties.Volume = -1 'set it back to automatic calculationConsente di leggere il baricentro del modello nel documento contenente la regola.
pt = iProperties.CenterOfGravity
pt è di tipo Inventor.Point, descritto nella Guida in linea dell'API di Inventor. È possibile leggere i valori X, Y e Z del punto, espressi nell'unità di misura del documento regola:
cx = pt.X cy = pt.Y cz = pt.Z
pt = iProperties.CenterOfGravity("componente")
Consente di leggere il baricentro di un componente in un assieme, specificando il nome del componente.
Funzioni collegamento dati Excel
iLogic fornisce funzioni regola per la lettura e la scrittura in fogli di calcolo Microsoft® Excel. Per accedere alle funzioni collegamento dati Excel, espandere il nodo Collegamenti dati di Excel nella scheda Sistema dell'area Frammenti.
Sono disponibili due tipi di funzioni collegamento dati Excel:
Per la lettura e la scrittura in altri formati di file, aggiungere codice VB.NET personalizzato alle regole.
Utilizzare la funzione ThisBOM.Export dedicata per esportare la distinta materiali di un assieme in Microsoft® Excel e altri formati.
Specificazione del file di Excel
È possibile incorporare dati di Microsoft® Excel, collegarli in un documento di Autodesk Inventor o mantenerli come file esterno. Le funzioni richiedono un nome file o la specificazione di un file Excel collegato o incorporato.
In un nome file, è possibile specificare un percorso relativo o assoluto. Tuttavia, l'utilizzo di percorsi assoluti può rendere difficile l'invio del modello ad un altro utente su un altro computer. Se non viene specificato un percorso, iLogic presuppone che il documento Excel si trovi nella stessa cartella del documento di Inventor corrente. Un percorso relativo viene interpretato rispetto alla cartella contenente il documento di Inventor.
La ricerca del file viene eseguita anche nel percorso dell'area di lavoro del progetto. È possibile utilizzare un percorso relativo nel percorso dell'area di lavoro del progetto.
Le estensioni di nomi di file supportate sono .xls, .xlsx, .xlsm e .xlsb.
È inoltre possibile specificare un foglio di calcolo collegato o incorporato, anziché un nome di file. Utilizzare la sintassi 3rd Party:Embedding# per i fogli di calcolo incorporati.
Utilizzare la sintassi 3rd Party:LinkedName.xls per i fogli di calcolo collegati. Specificare il nome visualizzato nella struttura del modello di Autodesk Inventor, in Altro produttore.
Se si utilizza una tabella incorporata, incorporarla utilizzando Collegamento nella finestra di dialogo Parametri. Non modificare il nome di default della tabella incorporata assegnato da Autodesk Inventor (ad esempio, Elementi incorporati 1). GoExcel richiede il nome originale.
Per collegare un file, fare clic su 
o utilizzare Collegamento nella finestra di dialogo Parametri.
Consente di cercare una riga sulla base di uno o più criteri di valore della colonna.
GoExcel.FindRow("filename", "sheetname", "first column title", "operator", value to look for, "second column title", "operator", value to look for, "third column title",...)
Foglio del documento di Excel contenente la tabella in cui eseguire la ricerca. Il foglio può essere qualsiasi foglio esistente.
Titolo della prima colonna nella tabella in cui eseguire la ricerca. I titoli delle colonne in genere vengono posizionati nella riga 1, a partire dalla colonna A.
Individua una riga con un valore di colonna minore o uguale al valore specificato.
Individua una riga con un valore di colonna maggiore o uguale al valore specificato.
Individua una riga con un valore di colonna di testo o numerica uguale al valore specificato.
Il valore di testo o numerico può essere specificato con un valore esplicito, un parametro o una variabile locale.
Titolo della seconda colonna nella tabella in cui eseguire la ricerca.
Individua una riga in base a più criteri.
Il numero di riga (un numero intero) che corrisponde ai criteri di ricerca. Il valore è -1 se non viene trovata una riga corrispondente.
Requisiti della tabella di Excel
Questi esempi impostano il valore della variabile parametro i sul numero di riga della tabella. Dia è uguale a 0.2 e Len è maggiore o uguale a 4.1. Il primo esempio fa riferimento ad un foglio di calcolo esterno, il secondo ad un foglio di calcolo incorporato.
i = GoExcel.FindRow("mytable.xls", "Sheet1", "Dia", "=", 0.2, "len", ">=",4.1)i = GoExcel.FindRow("3rd Party:Embedding 1", "Sheet1", "Dia", "=", 0.2, "len",">=", 4.1)
In questi esempi le righe 5, 6 e 7 soddisfano la prima condizione Dia=.2. Tuttavia, solo la riga 7 soddisfa entrambi i criteri Dia=.2 e len>=4.1.
Legge un valore dalla riga trovata utilizzando la funzione GoExcel.FindRow.
GoExcel.CurrentRowValue("column name")
Nome del titolo della colonna per il valore della cella da recuperare dalla riga corrente.
Valore della cella della colonna della riga corrente, trovata in precedenza tramite la funzione GoExcel.FindRow.
Restituisce un messaggio di errore se non viene trovata la colonna.
i = GoExcel.FindRow("iLogic_SCHS.xls", "Sheet1", "thread_diameter", "=", Screw_Size, "screw-length", ">=",
screw_length_required)
thread_diameter = GoExcel.CurrentRowValue("thread_diameter")
screw_length = GoExcel.CurrentRowValue("screw_length")
head_diameter = GoExcel.CurrentRowValue("head_diameter")
head_thickness = GoExcel.CurrentRowValue("head_thickness")
socket_size = GoExcel.CurrentRowValue("socket_size")
thread_pitch = GoExcel.CurrentRowValue("thread_pitch")Consente di leggere o scrivere i valori nelle celle del foglio di calcolo.
GoExcel.CellValue("filename", "sheetname", "cellnumber")
Vedere Specificazione del file di Excel.
Nome del foglio nel documento di Excel che contiene la cella di destinazione. Il foglio può essere qualsiasi foglio esistente.
Indirizzo della cella per la lettura o scrittura (ad esempio "A7"). È anche possibile specificare un intervallo denominato nel foglio di lavoro.
Requisiti di formato tabella di Excel
I valori di cella possono essere numerici o di testo.
Lettura di un foglio di calcolo incorporato:
head_rad = GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1","A1")Scrittura in un foglio di calcolo incorporato:
GoExcel.CellValue("3rd Party:Embedding 4", "Sheet1", "A1")= head_radLettura di un foglio di calcolo esterno:
head_rad = GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "A5")
message =GoExcel.CellValue("Spreadsheet.xlsx", "Sheet1", "B5")Scrittura in un foglio di calcolo esterno:
GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A6") = "Hello World"
GoExcel.SaveGoExcel.CurrentCellValue, GoExcel.CellValue
Consente di leggere o scrivere in un indirizzo di cella specifico di un foglio di calcolo in seguito all'utilizzo della funzione GoExcel.CellValue o GoExcel.Open. Questa funzione utilizza il file e il foglio aperti in precedenza.
GoExcel.CurrentCellValue("cellnumber")
GoExcel.CellValue("cellnumber") (without specifying a filename and sheet name)
Indirizzo della cella o intervallo denominato del valore della cella da leggere o scrivere nel foglio di calcolo corrente.
Il valore della cella corrispondente al numero della cella specificato.
Lettura di una serie di celle da un singolo foglio di calcolo:
head_rad = GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1")
head_thick = GoExcel.CellValue("B1")
pin_length = GoExcel.CellValue("C1")
shaft_rad = GoExcel.CellValue("D1")Scrittura di una serie di celle in un documento foglio di calcolo:
GoExcel.CellValue("Spreadsheet.xlsx","Sheet1","A1") = head_rad
GoExcel.CellValue("B1") = head_thick
GoExcel.CellValue("C1") = pin_length
GoExcel.CellValue("D1") = shaft_rad
GoExcel.SaveOpera come la funzione CellValue. Consente di specificare un intervallo denominato nella cartella di lavoro di Excel anziché un indirizzo di cella. Il nome deve essere un nome all'interno della cartella di lavoro e l'intervallo deve essere limitato ad una singola cella. È possibile accedere agli intervalli denominati del foglio di lavoro tramite la sintassi standard CellValue, utilizzando il nome anziché un indirizzo della cella.
Utilizzare GoExcel.CellValue o GoExcel.Open per aprire il file di Excel prima di utilizzare NamedRangeValue in una regola.
Consente di aprire il foglio di calcolo di Excel e, se lo si desidera, di attivare un foglio di lavoro denominato. È quindi possibile utilizzare funzioni quali GoExcel.FindRow e GoExcel.CellValue per estrarre informazioni o modificare il foglio di lavoro.
GoExcel.Open("filename", “sheetname”)
Vedere Specificazione del file di Excel.
Nome del foglio nel documento di Excel da attivare. Il foglio può essere qualsiasi foglio esistente.
Se non viene specificato alcun foglio viene utilizzato per default "Foglio1".
GoExcel.Open("Spreadsheet.xls")È inoltre possibile specificare un altro foglio di lavoro.
GoExcel.Open("Spreadsheet.xls", "MyOtherSheet")Consente di salvare il documento di Excel corrente. Utilizzare questa funzione se sono state modificate celle tramite le funzioni GoExcel.CellValue o GoExcel.CurrentCellValue.
GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A1") = "Hello, World!"
GoExcel.CellValue("A2") = 5.42
GoExcel.SaveQuesta funzione viene utilizzata per due scopi:
Lettura da un foglio di calcolo di Excel
È possibile leggere un intervallo di celle orientato verticalmente. La funzione consente di leggere i valori partendo dalla prima cella e proseguendo verso il basso fino a raggiungere la seconda cella specificata nella funzione:
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "A10")Se una stringa vuota ("") sostituisce l'indirizzo della seconda cella, inizia la lettura dall'indirizzo della prima cella e continua verso il basso fino a raggiungere una cella vuota:
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "")È possibile leggere un intervallo di celle orientato orizzontalmente.
Multivalue.List("parameter") = GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1")Se il foglio di calcolo è stato precedentemente indicato come riferimento nella regola, è inoltre possibile omettere il nome file e il nome del foglio:
Multivalue.List("parameter") = GoExcel.CellValues("B2", "G2")Scrittura in un foglio di calcolo di Excel
È possibile scrivere i valori in un intervallo di celle orientato verticalmente. La funzione consente di scrivere i valori partendo dalla prima cella e proseguendo verso il basso, scrivendo valori fino a raggiungere la seconda cella specificata nella funzione:
GoExcel.CellValues("filename.xls", "Sheet1", "A2", "A10") = Multivalue.List("parameter")È possibile scrivere i valori in un intervallo di celle orientato verticalmente. Se una stringa vuota ("") sostituisce l'indirizzo della seconda cella, iLogic utilizza tutte le celle necessarie per contenere tutti i membri dell'elenco a più valori:
GoExcel.CellValues("filename.xls", "Sheet1", "A2", "") = Multivalue.List("parameter")È possibile scrivere i valori in un intervallo di celle orientato orizzontalmente.
GoExcel.CellValues("filename.xls", "Sheet1", "A1", "J1") = Multivalue.List("parameter")Se il foglio di calcolo è stato precedentemente indicato come riferimento nella regola, è inoltre possibile omettere il nome file e il nome del foglio:
GoExcel.CellValues("B2", "G2") = Multivalue.List("parameter")Utilizzare prima di GoExcel.FindRow per specificare il numero della riga del foglio di calcolo contenente i nomi di colonna. Il numero di riga di default è 1. Modificare questo valore se si dispone di ulteriori righe al di sopra della riga del nome della colonna.
GoExcel.TitleRow = 2
Utilizzato prima della funzione GoExcel.FindRow per specificare il numero della prima riga del foglio di calcolo contenente i dati. Il numero di riga di default è 2.
Riga in corrispondenza della quale iniziano i dati.
Il valore di default 2 indica che i dati partono dalla riga 2 e seguono una riga del titolo:
GoExcel.FindRowStart = 2
Se si dispone di due righe del titolo, aggiungere la seguente istruzione alla regola prima dell'istruzione contenente GoExcel.FindRow:
GoExcel.FindRowStart = 3
Fornisce l'accesso dalle regole iLogic all'operazione Modifica origine.
Questa funzione consente di sostituire un foglio di calcolo di Excel che attualmente gestisce il modello con un altro foglio di calcolo. I valori contenuti nel nuovo foglio di calcolo assumono la gestione delle quote del modello.
changeOK = GoExcel.ChangeSourceOfLinked(partialOldName, newName)
Parte del nome del foglio di calcolo da sostituire.
partialOldName può essere una stringa vuota "" che specifica il primo file di Excel collegato. Spesso una parte o un assieme dispone di un solo file di Excel.
Nuovo nome completo del foglio di calcolo che può essere un nome file assoluto o relativo.
If size = "small" Then
changeOK = GoExcel.ChangeSourceOfLinked("pipe"," smallpipe.xlsx")
ElseIf size = "medium" Then
changeOK = GoExcel.ChangeSourceOfLinked("pipe", "mediumpipe.xlsx")
ElseIf size = "large" Then
changeOK = GoExcel.ChangeSourceOfLinked("pipe", "largepipe.xlsx")
End IfUtilizzato con la funzione GoExcel.FindRow per cercare un valore all'interno di un intervallo anziché un valore esatto. La tolleranza di default è 0,0000001 e non dipende dalle unità del documento.
GoExcel.Tolerance = <tolerance>
Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.
È possibile utilizzare l'istruzione per la ricerca nel modo seguente:
GoExcel.Tolerance = 0.001
i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", "=", 2.3)L'istruzione diventa equivalente alla ricerca seguente senza tolleranza:
i = GoExcel.FindRow("Table1.xlsx", "Sheet1", "length", ">=", 2.299, "length","<=", 2.301)Impedisce la visualizzazione delle finestre di dialogo di conferma di Excel.
Visualizza le finestre di dialogo di conferma di Microsoft® Excel (impostazione di default).
Utilizzare le funzioni di iPart e iAssembly per gestire le configurazioni di iPart e di iAssembly in un assieme. È possibile utilizzare una regola per modificare la configurazione corrente di una iPart o di un iAssembly in base alle condizioni e alla logica definite.
Queste funzioni operano in modo analogo per iAssembly e iPart, salvo il fatto che i parametri personalizzati possono essere utilizzati solo per le iPart. Per utilizzare la funzione per un iAssembly, è possibile sostituire iPart con iAssembly quando si specifica la funzione.
Per accedere alle funzioni di iPart e iAssembly, espandere il nodo iPart nella scheda Sistema dell'area Frammenti.
Funzioni simili sono disponibili per le iFeature. Vedere Funzioni iFeature per ulteriori informazioni.
Consente di modificare la riga attiva in una tabella di iPart o di iAssembly.
iPart.ChangeRow("iChangedComponentName:1", "memberName")
Nome del componente come visualizzato nel browser assiemi di Autodesk Inventor. Modificare il nome di default del componente assegnato da Inventor per stabilizzarlo e impedirne la modifica quando viene selezionata una riga nella tabella.
Nome assegnato alla riga nella colonna Membro della tabella.
Per una iPart con parametri personalizzati, utilizzare la sintassi seguente per elencare i parametri personalizzati dopo "memberName". Mostrarli nell'ordine in cui appaiono nella tabella:
iPart.ChangeRow("iChangedComponentName:1", "memberName", customParam1,customParam2)
Utilizzare questa sintassi per specificare un numero di riga, anziché un nome membro. Il numero di riga è un numero intero che inizia da 1 per la prima riga (solo per iPart standard):
iPart.ChangeRow("iChangedComponentName:1", rowNumber)
In questo esempio, la configurazione della iPart corrente viene modificata in base ad un'istruzione condizionale che valuta un parametro utente Port_1_Size di Inventor. La funzione richiede solo il nome componente di iPart port_1_Flange_screw e il nome membro della tabella di iPart Screw-01 per gestire la configurazione della iPart attiva:
If Port_1_Size = .50 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-01")
ElseIf Port_1_Size = .75 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-02")
ElseIf Port_1_Size = 1.00 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-03")
End IfConsente di cercare per colonna nella tabella iPart o iAssembly la riga contenente un valore specifico o approssimato e di impostare la configurazione attiva sulla riga trovata.
i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)
i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)
Variabile locale utilizzabile per verificare se viene trovato un numero di riga valido.
Nome del componente come visualizzato nel browser assiemi di Inventor. Modificare il nome di default del componente assegnato da Inventor per stabilizzarlo e impedirne la modifica quando viene selezionata una riga diversa nella tabella.
Colonna da cercare nella tabella di iPart. Utilizzare il nome dell'intestazione della colonna esattamente come appare nella tabella di iPart.
In questo esempio viene eseguita la ricerca in una tabella di iPart di una riga con valori di colonna maggiori o uguali ai valori specificati. iLogic modifica la configurazione della iPart corrente in base alla riga trovata:
iPart.FindRow("port_1_flange_screw", "Thread_Diameter", ">=", 0.45, "Thread_Length", ">=", 2.0)Una volta che una riga è stata individuata mediante iPart.FindRow, questa funzione consente di leggere i valori della colonna associata da tale riga. Questa funzione consente di leggere solo valori numerici. Utilizzare iPart.CurrentRowStringValue per leggere le colonne contenenti valori di testo.
d0 = iPart.CurrentRowValue("columnName")
La riga corrente viene impostata da una qualsiasi delle seguenti funzioni:
iPart.FindRow o iPart.ChangeRow
Nome della colonna della tabella di iPart desiderata.
In questo esempio, viene eseguita la ricerca nella colonna Port_Size della tabella di iPart port_1_flare_flange di un valore esatto che corrisponde al valore del parametro di Inventor Port_1_Size. Una volta che la riga viene trovata, si utilizza iPart.CurrentRowValue per recuperare le dimensioni dalle colonne A_dim e B_dim della tabella. Quindi, vengono assegnati i valori corrispondenti ai parametri di Inventor denominati Port_1_screw_A_dim e Port_1_screw_B_dim:
i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size)
Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim")
Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")Una volta che una riga è stata individuata mediante iPart.FindRow, utilizzare questa funzione per leggere i valori della colonna associata da tale riga. Questa funzione è simile a iPart.CurrentRowValue, ad eccezione del fatto che legge solo i valori di testo. Utilizzare iPart.CurrentRowValue per leggere colonne contenenti valori numerici.
iPart.CurrentRowStringValue("PartNumber")
Sintassi alternativa per il nome del componente
Consente specificare un nome di componente che non viene modificato quando la riga di iPart viene modificata.
iPart.ChangeRow("iParentFileName:1", "memberName")
iPart.FindRow("iParentFileName:1","columnName","<=",d1,"columnName","<=",d2)
Il nome del file di iPart primario, dove ":1" sostituisce la tipica estensione .ipt o .iam. Impostare ":1" sul numero del componente con cui si sta lavorando.
Sebbene questa sintassi sia supportata, questa operazione non è consigliata. Un metodo più comune consiste nel modificare il nome del componente per stabilizzarlo.
Ottiene il nome membro della riga attiva in un'istanza componente iPart o iAssembly. Questa funzione è utile nelle regole attivate dall'evento Modifica componente iPart o iAssembly. Utilizzare iPart.ChangeRow o iPart.FindRow per selezionare automaticamente una riga mediante una regola. Se si desidera consentire all'utente di selezionare manualmente una riga, è possibile combinare tale evento con questa funzione per intervenire sulla modifica.
iPart.RowName("iChangedComponentName:1")
memberName = iPart.RowName("port_1_flange_screw:1")Consente di ottenere il numero di riga della riga attiva in un'istanza componente iPart o iAssembly.
iPart.RowNumber("iChangedComponentName:1")
rowNumber = iPart.RowNumber("port_1_flange_screw:1")Questa funzione, utilizzata con la funzione iPart.FindRow, consente di cercare un valore all'interno di un intervallo anziché un valore esatto. La ricerca prevede sempre una tolleranza. La tolleranza di default è 0,0000001 e non dipende dalle unità del documento.
Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.
Si supponga di utilizzare le seguenti istruzioni:
iPart.Tolerance = 0.001
i = iPart.FindRow("Block:1","length", "=", 2.3)Utilizzate insieme, queste istruzioni risultano equivalenti alla ricerca seguente senza tolleranza:
i = iPart.FindRow("Block:1", "length", ">=", 2.299, "length","<=", 2.301)Per sostituire un membro iPart con un membro di un'altra famiglia, utilizzare Component.ReplaceiPart.
Utilizzare le funzioni di iFeature per scegliere una riga in una iFeature controllata da una tabella. Ogni riga presenta un gruppo di valori di parametri per la gestione della iFeature.
Le funzioni iFeature operano all'interno della parte in cui la iFeature viene inserita (creazione dell'istanza). La sintassi corrisponde a quella utilizzata per le funzioni GoExcel e iPart.
Per accedere alle funzioni per iFeature, espandere il nodo iFeature nella scheda Sistema dell'area Frammenti.
Consente di modificare la riga attiva di una iFeature controllata da una tabella.
iFeature.ChangeRow("iFeatureName", "rowName")
Nome della iFeature come visualizzato nella struttura del modello.
Valore desiderato del parametro chiave nella tabella iFeature.
Se la iFeature possiede più di un parametro chiave, specificarli tutti in una stringa di testo con la sintassi [Key1=Value1][Key2=Value2]. Ad esempio:
[Size=A0][CutLength=0.4375000 in]
Questo esempio è la proprietà iFeatureTableRow.MemberName, come descritto nella documentazione dell'API di Inventor. È possibile specificare diversi valori di parametro anche utilizzando iFeature.FindRow.
È inoltre possibile utilizzare un numero intero di riga:
iFeature.ChangeRow("iFeatureName", rowNumber)
In questo esempio, la configurazione della iFeature corrente viene modificata in base all'istruzione condizionale che valuta size, un parametro di testo. iFeature.ChangeRow richiede solo il nome del componente iFeature RectangularPocket1 e, per la tabella iFeature Key Column, il nome "Pocket-01" per gestire la configurazione della iFeature attiva:
If size = "small" Then
iFeature.ChangeRow("RectangularPocket1", "Pocket-01")
ElseIf size = "medium" Then
iFeature.ChangeRow("RectangularPocket1", "Pocket-02")
ElseIf size = "large" Then
iFeature.ChangeRow("RectangularPocket1", "Pocket-03")
ElseIf size = "very large" Then
iFeature.ChangeRow("RectangularPocket1", "Pocket-04")
End IfConsente di cercare una riga sulla base di uno o più criteri valore colonna. Se viene trovata una riga, imposta la riga attiva della iFeature su tale riga.
i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)
Nome della iFeature controllata da tabella.
Titolo della colonna in cui eseguire la ricerca.
Il valore può essere un valore numerico o una stringa di testo. Può essere specificato con un valore esplicito, un parametro o una variabile locale.
iFeature.CurrentRowValue("columnName")
Consente di leggere un valore dalla riga trovata utilizzando la funzione iFeature.FindRow, dove "columnName" è il nome del titolo della colonna. Restituisce il valore cella del valore riga corrente restituito dalla funzione iFeature.FindRow. Ad esempio:
i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250)
pocketlength = iFeature.CurrentRowValue("pocketlength")
pocketwidth = iFeature.CurrentRowValue("pocketwidth")Se la colonna non esiste nella iFeature, viene visualizzato un messaggio di errore nella regola.
iFeature.CurrentRowStringValue("columnName")
Utilizzare questa funzione quando la voce ricercata nella tabella iFeature è una stringa di testo. Ad esempio:
Part_number = iFeature.CurrentRowStringValue("Part Number")Utilizzata con la funzione iFeature.FindRow, questa funzione consente di cercare un valore all'interno di un intervallo anziché un valore esatto. La ricerca prevede sempre una tolleranza. La tolleranza di default è 0,0000001 e non dipende dalle unità del documento.
Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.
iFeature.Tolerance = 0.001
i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)Questo esempio corrisponde ad una riga con un valore pocketlength di 2,0004.
Funzioni dei vincoli di assieme
iLogic fornisce funzioni regola per la gestione dello stato di soppressione dei vincoli di assieme. Queste funzioni sono utili nel corso della definizione delle configurazioni di livello assieme con le regole iLogic.
Ad esempio, si supponga di definire posizioni alternative per un componente in un assieme. È possibile definire tutte le coincidenze necessarie per vincolare il componente in ogni punto. Quindi, è possibile utilizzare una regola per sopprimere e scoprire le coincidenze come necessario per spostare il componente in ogni configurazione.
Autodesk Inventor non consente la presenza di vincoli in conflitto. Creare i vincoli per una posizione di un componente, quindi sopprimerli manualmente prima della creazione di altre serie di vincoli per posizioni alternative dei componenti. Dopo aver creato tutti i vincoli necessari per posizionare il componente per ogni configurazione, è possibile scrivere le regole che consentono di scegliere tra i vincoli.
Per accedere alle funzioni dei vincoli, espandere il nodo Vincoli nella scheda Sistema dell'area Frammenti.
Consente di impostare o di leggere lo stato di soppressione di un vincolo di assieme di primo livello.
Consente di assegnare a ciascun vincolo di riferimento in una regola un nome personalizzato unico:
Se viene modificato manualmente lo stato della soppressione di un vincolo, le regole a cui fa riferimento non vengono attivate automaticamente.
Constraint.IsActive(“SubAssem.iam”, “Mate:1”)
Impostazione dello stato di soppressione:
If ConfigStyle = “A” Then
Constraint.IsActive("MateLeftSide:1") = true
Constraint.IsActive("MateRightSide:2") = false
ElseIf ConfigStyle = “B” Then
Constraint.IsActive("MateLeftSide:1") = false
Constraint.IsActive("MateRightSide:2") = true
End IfLettura dello stato di soppressione:
If Constraint.IsActive("MateLeftSide:1") Then (Do something)Impostazione o lettura dello stato di soppressione di un vincolo in un sottoassieme (specificare il nome file sottoassieme e il nome del vincolo):
Constraint.IsActiveInDoc("SubAssem.iam", "Mate:1")Per copiare e rinominare tutti i file in un assieme mantenendo tutte le regole intatte, utilizzare Constraint.IsActiveInComponent e specificare il nome del sottoassieme anziché il nome file.
Impostazione tramite il nome del sottoassieme:
If ConfigStyle = “A” Then
Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = true
Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = false
ElseIf ConfigStyle = “B” Then
Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = false
Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = true
End IfLettura tramite il nome del sottoassieme:
Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)Consente di sopprimere o scoprire una definizione di iMate.
Constraint.iMateDefIsActive("iMate:1") = False
Consente di sopprimere la definizione di iMate con il nome iMate:1 nel documento della regola corrente. Il risultato è analogo a quello della soppressione mediante il menu contestuale nell'interfaccia utente. Quando è soppressa, la definizione di iMate non è disponibile ai fini delle coincidenze.
Constraint.iMateDefIsActive("SubAssem:1","iMate:1) = False
Consente la soppressione della definizione di iMate con nome iMate:1 nel componente SubAssem:1.
Constraint.iMateDefIsActive(PartA:1","iMate:1") = True
Consente di scoprire la definizione di iMate con nome iMate:1, nella parte del componente PartA:1.
Utilizzare le funzioni di misurazione per trovare e ripristinare i valori per distanza, angolo, area, perimetro e quote.
Per accedere alle funzioni di misurazione, espandere il nodo Misurazione nella scheda Sistema dell'area Frammenti.
È possibile misurare la distanza o l'angolo tra due entità (o tre nel caso dell'angolo). Specificare le entità in entrambe le estremità della misurazione in base al nome. Il nome può fare riferimento a:
Le entità possono trovarsi nella stessa parte o nello stesso assieme o in componenti diversi all'interno di un assieme.
È inoltre possibile misurare la distanza tra due componenti in un assieme cercando i punti più vicini su ciascun componente e indicando la distanza tra di essi.
Includere le funzioni RuleParametersOutput e InventorVb.DocumentUpdate() (in questo ordine) prima delle funzioni di misurazione in un regola. L'uso di queste funzioni garantisce che la funzione di misurazione esamini una versione aggiornata del modello di Inventor.
Consente di misurare la distanza minima tra due punti, piani o assi. La funzione può inoltre misurare la distanza tra un piano e un punto, un piano e un asse o un punto e un asse.
Measure.MinimumDistance("entityName1","entityName2")
Per misurare da punto a punto:
distance = Measure.MinimumDistance("Work Point1", "Work Point2")
(1) Punto di riferimento 1 (2) Punto di riferimento 2
Per misurare da punto ad asse:
distance = Measure.MinimumDistance(“Work Point1”, “Work Axis1”)

(1) Punto di riferimento 1 (2) Asse di lavoro 1
distance = Measure.MinimumDistance("Work Axis1", "Work Axis2")
(1) Asse di lavoro 1 (2) Asse di lavoro 2
Per misurare da piano a piano:
distance = Measure.MinimumDistance(“Work Plane1”, “Work Plane2”)

(1) Piano di lavoro 1 (2) Piano di lavoro 2
Measure.MinimumDistance("nomeComponente1", "nomeEntità1", "nomeComponente2", "nomeEntità2")
Consente di misurare la distanza tra le entità all'interno di due componenti in un assieme. Tali entità possono essere punti, piani o assi.
Ad esempio, per misurare la distanza tra i piani in due componenti di un assieme:
distance = Measure.MinimumDistance(“Wheel1”, “Workplane1”, “Wheel2”, Workplane2”)

(1) Ruota1 Piano di lavoro1 (2) Ruota2 Piano di lavoro2
Measure.MinimumDistance("nomeComponente1", "nomeComponente2")
Consente di misurare la distanza minima tra i due componenti di un assieme. Considera i componenti come corpi unici e trova i punti più vicini all'interno dei componenti, come illustrato negli esempi seguenti:
distance = Measure.MinimumDistance("partA:1", "partB:1")
distance = Measure.MinimumDistance("Wheel1", "Wheel2")
(1) Ruota1 (2) Ruota2
Prestare attenzione durante la misurazione degli assi non paralleli.
Si supponga che l'assieme sia costituito da due blocchi. L'angolo tra le facce dei blocchi è di 60 gradi. Ciascun blocco presenta un foro sul lato rivolto verso l'altro blocco. Gli assi di questi due fori sono linee complanari non parallele che si intersecano. È possibile scrivere la funzione come:
distance = Measure.MinimumDistance("Block1","Axis1","Block2","Axis1")Ci si attenderebbe una misurazione effettuata come se le linee avessero lunghezza inifinita, il che determinerebbe una distanza pari a zero. Tuttavia, quando viene utilizzata la funzione Measure.MinimumDistance, la distanza viene misurata dalle estremità più vicine ai due marcatori utilizzati per rappresentare le posizioni degli assi. Di conseguenza, la misurazione viene eseguita sulle linee finite e il valore restituito è 1,36 pollici.

(1) Asse1 (2) Blocco1 (3) Asse2 (4) Blocco2
Per ottenere un risultato diverso, è possibile estendere manualmente le linee che rappresentano gli assi dei fori. La funzione Measure.MinimumDistance restituisce ora un valore di 0 pollici, come previsto per le linee che si intersecano.

(1) Blocco1 (2) Asse1 (3) Asse2 (4) Blocco2
Consente di misurare l'angolo tra due entità o l'angolo definito da tre punti.
angolo = Measure.Angle("nomeEntità1", "nomeEntità2")
Consente di misurare l'angolo tra due entità in una parte o in un assieme. È possibile misurare l'angolo tra due assi, due piani o un asse e un piano. Le entità possono essere geometrie di lavoro o iMate.
angolo = Measure.Angle("nomeComponente1", "nomeEntità1", "nomeComponente2", "nomeEntità2")
Consente di misurare l'angolo tra due entità in due componenti a livello di assieme. È possibile misurare l'angolo tra due assi, due piani o un asse e un piano.
angolo = Measure.Angle("punto1", "punto2", "punto3")
Consente di misurare l'angolo definito da tre punti. Questo valore è equivalente all'angolo tra due linee:
In questo caso, "point2" corrisponde al vertice dell'angolo. Ad esempio:
angle = Measure.Angle("Work Point1", "Work Point2", "Work Point3")
(1) Punto di riferimento1 (2) Punto di riferimento2 (vertice) (3) Punto di riferimento3
angle = Measure.Angle("componentName1", "point1", "componentName2", "point2", "componentName3", "point3")Consente di misurare l'angolo definito da tre punti. "point2" definisce il vertice dell'angolo. Ogni punto può trovarsi in un componente diverso .

(1) Punto di riferimento1 Componente1 (2) Punto di riferimento2 Componente2 (vertice dell'angolo) (3) Punto di riferimento3 Componente3 (4) 74,02 gradi
Consente di misurare l'area di un schizzo. Questa funzione misura la somma delle aree delle regioni racchiuse da profili chiusi in uno schizzo.
Per un singolo profilo chiuso, la funzione calcola l'area racchiusa dal profilo:

Area: 3,14 = poll. quad.
Se lo schizzo contiene più profili chiusi, la funzione calcola la somma delle aree racchiuse dai profili:

Area: 6,28 = poll. quad.
Se i profili chiusi si intersecano, la funzione calcola la somma delle aree racchiuse, indipendentemente dal fatto che le aree si sovrappongano:

Area: 6,28 = poll. quad.
Se il disegno contiene più profili, uno dei quali completamente incluso nell'altro, la funzione Measure.Area restituisce la differenza tra le due aree:

Area: 1,37 = poll. quad.
Measure.Perimeter("NomeSchizzo")
Consente di misurare la somma dei perimetri dei profili chiusi in uno schizzo. Per uno schizzo contenente un profilo chiuso singolo, questa funzione calcola la lunghezza del perimetro del profilo.
size = Measure.Perimeter("Sketch1")
Per uno schizzo contenente un profilo chiuso singolo, questa funzione calcola la lunghezza del perimetro del profilo.

Perimetro: 6 pollici
Per uno schizzo contenente più profili chiusi non intersecanti, la funzione calcola la somma delle lunghezze di tutti i perimetri del profilo:

Perimetro: 9 pollici
Per uno schizzo contenente più profili chiusi intersecanti, la funzione calcola la somma delle lunghezze di tutti i perimetri del profilo:

Perimetro: 12 pollici
Consente di misurare le dimensioni X, Y o Z delle estensioni in una parte o in un assieme. Le estensioni possono essere più grandi delle dimensioni del modello lungo quell'asse, soprattutto se sono presenti forme curve.
Consente di misurare l'estensione X (lungo l'asse rosso) del modello.
Consente di misurare l'estensione Y (lungo l'asse verde) del modello.
Consente di misurare l'estensione Z (lungo l'asse blu) del modello.
Funzioni della geometria di lavoro
Utilizzare le funzioni della geometria di lavoro per modificare le geometrie di lavoro esistenti.
Per visualizzare le funzioni di geometria di lavoro, espandere il nodo Geometrie di lavoro nella scheda Sistema dell'area Frammenti.
In base a determinate condizioni, inverte il vettore perpendicolare di un piano di lavoro. Questa azione consente di invertire il piano di lavoro. Se uno schizzo è stato creato sul piano, viene invertito a sua volta. Questa funzione può essere utilizzata per modificare una lavorazione da mancina in destrorsa. È particolarmente utile per estrusioni sul piano medio. La funzione non inverte la perpendicolare ogni volta che viene utilizzata, ma garantisce che la perpendicolare si trovi nella direzione desiderata. La funzione inverte la perpendicolare se non concorda con l'asse specificato.
WorkPlane.FlipNormal(“workPlaneName”, “axisWanted”)
Nome del piano di lavoro da invertire.
Nome dell'asse di una parte; è possibile anteporre un segno negativo (-) per indicare la direzione. Questa convenzione fornisce alla funzione la direzione approssimativa della perpendicolare del piano. Se il piano non è perfettamente allineato ad un asse nel modello, utilizzare l'asse più vicino alla perpendicolare del piano desiderato. Un margine di allineamento di 60 gradi è accettabile.
WorkPlane.FlipNormal("Work Plane1", "X")WorkPlane.FlipNormal("Work Plane1", "-X")WorkPlane.FlipNormal("Work Plane1", "Y")WorkPlane.FlipNormal("Work Plane1", "-Y")WorkPlane.FlipNormal("Work Plane1", "Z")WorkPlane.FlipNormal("Work Plane1", "-Z")Consente di ridefinire uno schizzo utilizzando input alternativi. Questa funzione è particolarmente efficace per schizzi autonomi che non contengono geometria proiettata. Vincolare tutta la geometria dello schizzo all'origine o ad uno degli assi dello schizzo, utilizzando vincoli coincidenti o di fissaggio o quote.
Questa funzione richiede nomi come input; pertanto, è necessario definire lo schizzo utilizzando elementi denominati:
Sketch.Redefine(sketchName, planeName, originName, axisName, AxisIsX := True, NaturalAxisDirection := True )
Nome di un'entità da utilizzare come piano dello schizzo.
Nome di un'entità da utilizzare come punto di origine dello schizzo.
Nome di un'entità da utilizzare come asse dello schizzo (asse X o Y).
Il valore di default True indica che l'asse dello schizzo specificato da axisName è l'asse X (orizzontale). False indica che l'asse è l'asse Y (verticale).
Il valore di default True indicates indica che l'asse dello schizzo è nella stessa direzione dell'entità axisName. False indica che l'asse dello schizzo è nella direzione opposta.
Funzioni finestra di messaggio
Utilizzare le funzioni finestra di messaggio per creare finestre di messaggio e di immissione dati in una regola.
MessageBox.Show e InputBox sono funzioni VB.NET standard. Consultare la documentazione VB.NET per ulteriori informazioni.
MessageBox.Show è una versione VB.NET della funzione MsgBox di VB6 e VBA. È comunque possibile utilizzare MsgBox nelle regole iLogic.
InputListBox e InputRadioBox sono funzioni iLogic.
Per accedere alle funzioni della finestra di messaggio, espandere il nodo MessageBox nella scheda Sistema dell'area Frammenti.
È possibile utilizzare la procedura guidata Finestra di messaggio nella finestra di dialogo Aggiungi regola per scrivere il codice per una finestra di messaggio.
Costituisce la base per le funzioni finestra di messaggio in iLogic. Utilizzare questa funzione per visualizzare una finestra di messaggio.
MessageBox.Show("Message", "Title")
Contenuto dell'area di testo della finestra di messaggio.
Contenuto della barra del titolo della finestra di messaggio.
È possibile specificare i pulsanti inclusi in una finestra di messaggio utilizzando il parametro MessageBoxButtons per specificare i valori appropriati nella funzione MessageBox.Show.
MessageBox.Show("Message",'"Title", MessageBoxButtons.OK)Questa opzione produce una semplice finestra di messaggio con il pulsante OK:

MessageBox.Show("Message",'"Title", MessageBoxButtons.OKCancel)MessageBox.Show("Message",'"Title", MessageBoxButtons.RetryCancel)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNo)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel)MessageBox.Show("Message",'"Title", MessageBoxButtons.AbortRetryIgnore)È possibile aggiungere un'icona ad una finestra di messaggio includendo il parametro MessageBoxIcon nella funzione MessageBox.Show.
MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error)Questa opzione consente di aggiungere un'icona di errore alla finestra di messaggio:

MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.None)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning)È possibile specificare il pulsante della finestra di messaggio per selezionare quando la finestra di messaggio viene visualizzata per la prima volta. Per specificare il pulsante, includere il parametro MessageBoxDefaultButton nella funzione MessageBox.Show. Scegliere tra i tre possibili pulsanti nella finestra di messaggio, a seconda del valore MessageBoxButtons utilizzato.
MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2)Questa opzione specifica che il secondo pulsante (No) viene selezionato per default.

MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button3)Consente di creare una finestra di messaggio che richiede e accetta input.
myparam = InputBox("Prompt", "Title", "Default Entry")
Messaggio da visualizzare nella finestra.
Testo da visualizzare nella barra del titolo della finestra.
Testo da visualizzare nel campo di input della finestra.

Viene visualizzata una finestra di messaggio con un elenco di valori disponibili. Quando un valore viene selezionato dall'elenco, la funzione restituisce il valore.
d0 = InputListBox("Prompt",MultiValue.List("listName"), defaultEntry, Title := "Dialog Title", ListPrompt := "List Prompt")
Messaggio da visualizzare sopra il pulsante OK nella finestra.
Nome dell'elenco a più valori da utilizzare.
Valore selezionato inizialmente nella casella di riepilogo.
Testo da visualizzare nella barra del titolo.
Testo da visualizzare sopra l'elenco nella finestra.
Valore selezionato nell'elenco.
material = InputListBox("Choose Part material", MultiValue.List("material"), _
material, Title := "Part material", ListName := "Available Standard materials")
Viene visualizzata una finestra di messaggio che richiede la selezione di una delle due opzioni disponibili.
booleanResult= InputRadioBox("Prompt", "Button1 Label", "Button2 Label", booleanParam, Title :="Title")
Messaggio da visualizzare nella finestra.
Messaggio da visualizzare per la prima opzione.
Messaggio da visualizzare per la seconda opzione.
Specificare True per selezionare la prima opzione o False per selezionare la seconda opzione.
Testo da visualizzare nella barra del titolo della finestra.
True se viene selezionata la prima opzione, False se viene selezionata la seconda.
booleanParam= InputRadioBox("Choose an Edge Treatment option", "Chamfer", "Fillet", true, Title :="Edge
Treatment")
Utilizzare le funzioni documento per accedere al documento di disegno, di assieme o di parte di Inventor. Le funzioni documento consentono di eseguire attività quali l'ottenimento del nome file e l'aggiornamento del modello.
Nelle funzioni documento, ThisDoc fa riferimento al documento Autodesk Inventor in cui viene scritta la regola. Si tratta spesso del documento attivo, ma può anche essere una parte all'interno di un assieme. Ogni volta che la regola viene memorizzata, ThisDoc fornisce accesso a quel documento.
Per accedere alle funzioni documento, espandere il nodo Documento nella scheda Sistema dell'area Frammenti.
Consente di restituire il nome file del documento.
L'estensione del file non viene inclusa quando False viene fornito come argomento. Se è necessaria l'estensione del file, sostituire True come argomento.
Restituisce il percorso e il nome file del documento.
ThisDoc.PathAndFileName(False)
L'estensione del file non viene inclusa quando False viene fornito come argomento. Per includere l'estensione di file, sostituire True nelle parentesi.
Restituisce il percorso (nome cartella) dell'area di lavoro del progetto attivo di Autodesk Inventor. Se non è definita alcuna area di lavoro, questa funzione restituisce una stringa vuota (una stringa senza caratteri, con lunghezza zero).
Consente di aprire un file in base al percorso e al nome file (inclusa l'estensione) forniti. Se viene specificato un file di dati, verrà aperto nell'applicazione di origine. Se viene specificato un file eseguibile (.exe), verrà eseguito il programma. Se non viene specificato un percorso completo, iLogic cerca il file nella stessa cartella del documento di Inventor. È inoltre possibile specificare un nome e un percorso relativo per la cartella del documento.
Consente di salvare il documento attivo. Questa funzione non è utilizzabile in una regola attivata mediante un evento di modifica parametri.
Consente di aggiornare il documento in cui si trova la regola, dopo il completamento dell'esecuzione della regola (e di qualsiasi regola da essa attivata). Questo aggiornamento coincide con quello ottenuto mediante il pulsante Aggiorna nell'interfaccia utente.
Se la regola modifica qualsiasi valore di parametro, questa funzione consente di applicare nuovi valori regola al modello di Inventor. Se questa funzione non viene utilizzata, i valori non vengono applicati fino a quando la regola non ha terminato l'esecuzione. Utilizzare questa funzione se è necessario eseguire un aggiornamento utilizzando DocumentUpdate. È inoltre possibile utilizzare questa funzione se si utilizza la funzione iLogicVb.RunRule, in modo che i nuovi valori dei parametri siano disponibili per l'altra regola.
Esegue l'aggiornamento immediato nel documento corrente (il documento in cui si trova la regola) e aggiorna la visualizzazione. Utilizzare questa funzione se si desidera ricreare la geometria (ad esempio, se si calcola la massa utilizzando iProperties.Mass). Se tramite la regola vengono attivate altre regole (modificando i parametri), abilitare l'opzione Attiva regole dipendenti immediatamente per la regola nella finestra di dialogo Modifica regola. Questa opzione garantisce che sia conclusa l'esecuzione delle altre regole quando si esegue l'aggiornamento.
Consente di eseguire un aggiornamento immediato nel documento corrente (il documento in cui si trova la regola) senza aggiornare la visualizzazione del documento. La funzione InventorVb.DocumentUpdate consente di aggiornare la visualizzazione oltre al modello. Se non si desidera aggiornare la visualizzazione, utilizzare questa funzione.
Consente di verificare dei valori di parametro, ma non di modificare alcun valore.
Utilizzare questa funzione per le seguenti situazioni:
Si supponga che i parametri siano collegati ad una parte di base e dalla parte di base ad un foglio di calcolo esterno. È possibile modificare i valori di parametro nel foglio di calcolo e salvarlo, senza che le modifiche siano visualizzate nella parte principale. Utilizzare questa funzione in una regola all'interno della parte principale prima di utilizzare GoExcel per modificare i valori nel foglio di calcolo. Tramite questa funzione la parte di base viene caricata (in background) e le modifiche vengono propagate alla parte principale dell'assieme.
iLogic fornisce diverse variazioni di una funzione che può essere utilizzata per eseguire altre funzioni. In genere, viene modificato un parametro in una regola per attivare la regola. Questa funzione è utile per le regole senza parametri o contrassegnate con l'opzione Non eseguire automaticamente.
Per accedere a queste funzioni, espandere il nodo Esegui (altro) nella scheda Sistema dell'area Frammenti.
Consente di eseguire un'altra regola specificando solo il nome della regola. Utilizzare questa funzione per regole quali generatori di rapporti che non hanno effetto sul modello, ma possono fare riferimento a molti parametri. È possibile eseguire qualsiasi regola con questa funzione.
iLogicVb.RunRule(“Rule0”)
Esegue un'altra regola memorizzata in un componente all'interno di un assieme.
iLogicVb.RunRule(“componentName”, “ruleName”)
iLogicVb.RunRule("PartA:1", "Rule0")Per altre funzioni elencate nella categoria Esegui (altro) dell'area Frammenti, vedere "Funzioni API avanzate" e "Programmazione avanzata delle regole".
Consente di eseguire una regola esterna da una regola standard in un documento di Autodesk Inventor.
iLogicVb.RunExternalRule("ruleFileName")
Consente di specificare il nome del file di regole, con o senza l'estensione di file. È inoltre possibile specificare un percorso di file, nonostante questo possa influire sulla portabilità del file. iLogic cerca il file di regole nelle seguenti cartelle, nell'ordine indicato:
I nomi file di regole possono essere nomi di percorsi relativi, basati su una qualsiasi di queste cartelle.
Non è necessario che le regole esterne eseguite da un'altra regola siano visualizzate nel browser delle regole; tuttavia, per modificare la regola, aggiungerla al browser.
iLogicVb.RunExternalRule("color_by_vendor")Consente di eseguire una macro Inventor Visual Basic for Applications (VBA). È possibile memorizzare le macro nel documento o in file .ivb separati. Utilizzare Alt + F11 per aprire l'editor di Microsoft VBA, visualizzare le macro disponibili e caricare o modificare le macro. Se la macro richiede argomenti, aggiungerli dopo il nome della macro.
È possibile richiamare la funzione VBA, ma non è possibile ottenere un valore di restituzione.
InventorVb.RunMacro(“projectName”, “moduleName”, “macroName”)
InventorVb.RunMacro ("DocumentProject", "Module1", "DrawCustomLines" )
InventorVb.RunMacro ("ThreadMacros", "Module1", "ThreadsInit" )
InventorVb.RunMacro ("ThreadMacros", "Module1", "AddThreads", "3/8-16 UNC")Funzioni della distinta componenti
Utilizzare le funzioni della distinta componenti per eseguire operazioni sulla distinta componenti in un assieme.
È possibile sostituire la quantità di componente calcolata visualizzata nella distinta componenti. È inoltre possibile esportare i dati della distinta componenti in Excel e altri formati.
Per accedere alle funzioni della distinta componenti, espandere il nodo Distinta componenti nella scheda Sistema dell'area Frammenti.
Esportare la distinta componenti in un file esterno.
ThisBOM.Export(“BOMViewName”, filename, format)
Il nome che viene visualizzato in una scheda nella finestra di dialogo Distinta componenti di Inventor. Questo valore può essere Model Data, Structured o Parts Only. Attivare la vista che si desidera utilizzare prima di eseguire la regola per la prima volta (fare clic con il pulsante destro del mouse sulla scheda nella tabella della distinta componenti).
Nome del file di esportazione da creare (con estensione nome file). Se non si specifica un percorso completo, la distinta componenti viene esportata nella cartella in cui è memorizzato l'assieme. Per l'esportazione in formato Excel, l'estensione del nome file deve essere .xls (.xlsx non è supportato).
ThisBOM.Export("Parts Only", "Bom353.xls", kMicrosoftExcelFormat)
ThisBOM.Export("Structured", "Bom631.xls", kTextFileTabDelimitedFormat)
ThisBOM.Export("Structured", ThisDoc.ChangeExtension(".mdb"), kMicrosoftAccessFormat)Consente di sostituire la quantità di un componente. È consigliabile utilizzare questa funzione solo se vengono visualizzate solo alcune istanze nel modello e nella distinta componenti viene elencato il numero effettivo. La procedura corrisponde all'apertura della finestra di dialogo Distinta componenti, quindi alla scelta di Quantità statica anziché di Calcola quantità nella colonna QTÀ per un componente.
ThisBOM.OverrideQuantity(“Model Data”, partNumber, quantity)
Il primo argomento consente di nominare la vista della distinta componenti e deve essere sempre "Model Data".
La proprietà numero di parte del componente. Questo valore viene visualizzato come colonna nella vista della distinta componenti.
Quantità da impostare per questo componente.
ThisBOM.OverrideQuantity("Model Data", "Top Screw", 18)iLogic fornisce una serie di funzioni matematiche che possono essere aggiunte alle regole. Nella finestra di dialogo Modifica regola iLogic, utilizzare uno dei seguenti metodi per accedere alle funzioni matematiche:
La libreria matematica VB.NET standard fornisce la maggior parte delle funzioni matematiche utilizzate in iLogic:
| IsNumeric | PI |
| MinOfMany | Sqrt |
| MaxOfMany | Abs |
| Round | Sign |
| Precisione decimale arrotondamento | Int |
| Arrotonda a incremento più vicino | Fissaggio |
| Arrotonda a incremento | Log10 |
| Arrotonda a incremento per difetto | Ln |
| Ceil | Pow |
| Floor | Min |
| Sin | Max |
| Cos | CDbl |
| Tan | EqualWithinTolerance |
Funzioni matematiche di iLogic
iLogic fornisce alcune funzioni matematiche. Le seguenti funzioni emulano le funzioni disponibili nelle equazioni parametriche di Inventor standard:
Ceil (same as Math.Ceiling) Sign0(a) = 1 if a > 0.0, = 0 otherwise Ln (same as Math.Log)
Poiché alcune funzioni di Autodesk Inventor sono diverse da quelle matematiche standard di VB.NET aventi lo stesso nome, vengono convertite quando acquisite per l'utilizzo in una regola iLogic:
| Sin(0) = 0 | Cos(PI) = -1 |
| Sin(PI) = 0 | Tan(0) = 0 |
| Sin(PI/2) = 1 | Tan(PI/4) = 1 |
| Cos(0) = 1 | PI = 3,1415926...... |
| Cos(PI/2) = 0 |
Sin(), Cos() e Tan() sono funzioni trigonometriche standard con argomenti espresso in radianti (non in gradi):
Se si utilizza l'opzione Acquisisci stato corrente in una formula trigonometrica nella finestra di dialogo Modifica regola, non viene convertita in codice VB.NET. La formula viene invece mantenuta come formula di Inventor. È possibile modificare manualmente la formula per trasformarla in una formula VB.NET (con angoli in radianti).
Per convertire i gradi in radianti, utilizzare la seguente formula:
iLogic fornisce una serie di funzioni stringa per i parametri di testo che è possibile includere nelle regole di iLogic. Per accedere alle funzioni stringa, espandere il nodo Stringhe nella scheda Sistema dell'area Frammenti.
La maggior parte delle funzioni stringa utilizzate in iLogic vengono fornite come parte della libreria stringhe VB.NET standard. Includono:
| Sinistra() | CStr() |
| Confronta | Ora() |
| Len() | DataStringa |
| Destra() | OraStringa |
| Punto medio() | Val(stringa) |
| LCase() | Leggere tutto il testo |
| UCase() |
La documentazione per queste funzioni è disponibile in http://msdn.microsoft.com/en-us/library/system.string_methods(VS.80).aspx
Numerose funzioni stringa sono specifiche per iLogic:
Per accedere alle funzioni di variabili, espandere il nodo Variabili nella scheda Sistema dell'area Frammenti.
Le variabili condivise di iLogic sono condivise tra le regole e archiviate in memoria. A differenza dei parametri di Inventor, non sono associate ad una parte o ad un assieme. È possibile utilizzare tali variabili anziché i parametri di Inventor per trasferire i dati tra le regole. È inoltre possibile utilizzarle per memorizzare i dati che non possono essere archiviati nei parametri di Inventor. Gli esempi seguenti ne illustrano l'utilizzo:
SharedVariable("Filettatura1") = "1/4-20 UNC"
Assegna un valore di testo ad una variabile condivisa denominata Thread1. La variabile viene creata se non è già esistente.
s0 = SharedVariable("Filettatura1")
Assegna il valore di una variabile condivisa ad un parametro di testo. Il tipo di variabile è noto in quanto è stato creato in precedenza.
SharedVariable("Distanza1") = 7,2
Assegna un numero ad una variabile condivisa.
d0 = SharedVariable("Distanza1")
Assegna il valore di una variabile condivisa ad un parametro numerico.
if SharedVariable.Exists("Filettatura1") quindi
Consente di verificare se un parametro esiste. Se il parametro è stato creato in un'altra regola, questa funzione restituisce True (Vero).
SharedVariable.Remove("Filettatura1")
Rimuove (elimina) una variabile condivisa. È consigliabile, ma non obbligatorio, utilizzare questa funzione se non è più necessaria la variabile.
Rimuove tutte le variabili condivise. Utilizzare questa funzione con cautela in una regola. Se le parti e gli assiemi non correlati che utilizzano variabili condivise vengono aperti, è consigliabile utilizzare il comando Libera memoria iLogic anziché la funzione.
Le funzioni Nuova serie sono funzioni Visual Basic standard utilizzate per definire diversi tipi di serie e impostare i valori iniziali. Per ulteriori informazioni su queste funzioni, fare riferimento alla Guida di Visual Basic.
Definisce una nuova serie di tipo Double e imposta i valori iniziali.
MyDoubleValues = new double(){1.2,2.2,3.3}Definisce una nuova serie di tipo Integer (intero) e imposta i valori iniziali.
MyIntegerValues = new integer(){1,2,3}Definisce una nuova serie di tipo String (stringa) e imposta i valori iniziali.
MyStringValues = new string(){string1,string2}Definisce una nuova serie di tipo Object (oggetto) e imposta i valori iniziali.
MyObjectValues = new object(){“string”,true,1.234}Definisce una nuova variabile di tipo ArrayList e vi aggiunge alcuni valori.
Dim MyArrayList As New ArrayListMyArrayList.add(“string”)MyArrayList.add(1.234)MyArrayList.add(True)
Attiva in sequenza i valori di una variabile Array o ArrayList.
for each oval in MyVariableHeremsgbox(oval)next
Funzioni Proprietà del materiale
Utilizzare le funzioni Lamiera per impostare e/o leggere la Regola lamiera e il FattoreK correnti in una parte in lamiera. Queste funzioni consentono di modificare la Regola lamiera corrente automaticamente in base a determinate condizioni, ad esempio il materiale corrente o il suo spessore.
Per accedere alle funzioni Lamiera, espandere il nodo Lamiera nella scheda Sistema dell'area Frammenti.
Imposta la Regola lamiera attiva corrente. Questa funzione è equivalente alla selezione manuale di una Regola lamiera nella finestra di dialogo Valori di default lamiera.
SheetMetal.SetActiveStyle(“styleName”)
Nome della Regola lamiera dalla finestra di dialogo Valori di default lamiera. Per il nome non viene fatta distinzione tra lettere maiuscole e minuscole.
SheetMetal.SetActiveStyle(“styleName”)
Specifica il nome di uno stile dall'elenco Regola lamiera:
SheetMetal.SetActiveStyle(MyStyleParameter)
Consente di leggere la Regola lamiera attiva. È possibile assegnarla ad un parametro di testo iLogic o ad una variabile locale in una regola. Utilizzare questa funzione per agire su un modello o modificare il modello in base alla Regola lamiera attiva.
CurrentStyleParameter=SheetMetal.GetActiveStyle()
Consente di leggere il FattoreK attivo (un valore numerico).
KFactorParameter=SheetMetal.ActiveKFactor
Funzioni Estensioni modello piatto
Utilizzare queste funzioni per ottenere le estensioni del modello piatto spiegato. È inoltre possibile visualizzare questi valori facendo clic con il pulsante destro del mouse sul modello piatto nella struttura del modello per la parte in lamiera e selezionando Estensioni.
Ottiene la larghezza (dimensione X) delle estensioni modello piatto.
Ottiene la lunghezza (dimensione Y) delle estensioni modello piatto.
Utilizzare le funzioni di disegno per personalizzare l'applicazione delle modifiche al modello nei fogli di disegno. Le funzioni di disegno possono facilitare l'aggiornamento del modello ed essere incluse in regole attivate dall'evento Modifica vista del disegno di iLogic.
Consente di aprire il foglio attivo in un disegno. Questa funzione è un alias per ThisDrawing.ActiveSheet. La maggior parte delle operazioni di disegno viene eseguita sul foglio attivo, poiché gli altri fogli potrebbero non essere aggiornati.
È possibile assegnare una stringa nome file a questa proprietà per specificare il nome di un altro disegno da cui estrarre le definizioni del cartiglio e dei bordi. Quando si utilizza la funzione foglio TitleBlock o Border, iLogic cerca in questo disegno le risorse non trovate nel disegno corrente. Utilizzare un percorso relativo per il nome del file. iLogic cerca il file nella cartella del disegno corrente e nella cartella dell'area di lavoro del progetto. È possibile specificare le sottocartelle relative ad una di queste posizioni.
ThisDrawing.ResourceFileName = “DrawingResources1.idw”
Impostare questa proprietà su False se le copie delle risorse del file di risorse esterno non vengono mantenute nel disegno corrente.
Se si imposta questa proprietà su False, viene eliminata una risorsa quando un'altra la sostituisce. L'eliminazione avviene solo se ResourceFileName non è vuoto. Si presuppone che tutte le risorse necessarie siano disponibili nel file di risorse esterno.
ThisDrawing.KeepExtraResources = False
Le funzioni Foglio per i disegni riguardano solitamente il foglio attivo. Per limitare una regola in modo che venga eseguita solo per un foglio specifico, è possibile aggiungere codice nella parte iniziale di una regola. Ad esempio:
If (ActiveSheet.Name <> "Sheet:2") Then Return
ChangeSize (utilizzando il valore della stringa di testo)
Modifica le dimensioni del foglio, utilizzando una stringa di testo come valore delle nuove dimensioni.
Sheet.ChangeSize (“value”,<MoveBorderItems = True>)
Il valore della nuova dimensione.
Questo parametro è facoltativo. Se MoveBorderItems è impostata su False, qualsiasi tabella ed elenco delle parti attualmente situata sul bordo o sul vertice del foglio non viene spostato sul nuovo bordo.
ActiveSheet.ChangeSize (“A”)
ActiveSheet.ChangeSize (“B1”, MoveBorderItems := False)
ChangeSize (utilizzando i valori personalizzati)
Modifica le dimensioni del foglio utilizzando un'altezza e larghezza personalizzate, espresse in unità del documento.
Sheet.ChangeSize (customHeight, customWidth, <MoveBorderItems = True>)
L'altezza in unità del documento.
La larghezza in unità del documento.
Questo parametro è facoltativo. Se MoveBorderItems è impostata su False, qualsiasi tabella ed elenco delle parti attualmente situata sul bordo o sul vertice del foglio non viene spostato sul nuovo bordo.
ActiveSheet.ChangeSize (7.2, 4)
ActiveSheet.ChangeSize ( 7.2, 4, MoveBorderItems = False)
Modifica il bordo corrente del foglio specificando un nome diverso. Il nome deve essere disponibile nelle risorse di disegno del disegno corrente o nel disegno ResourceFileName, se specificato.
ActiveSheet.Border = “OtherBorder”
currentName = ActiveSheet.Border
Modificare il cartiglio corrente nel foglio specificando un nome diverso. Il nome deve essere disponibile nelle risorse di disegno del disegno corrente o nel disegno ResourceFileName, se specificato.
ActiveSheet.TitleBlock = “ANSI - A”
currentName = ActiveSheet.TitleBlock
Esempio con un file di origine esterno -
ThisDrawing.ResourceFileName = “DrawingResources1.idw” ActiveSheet.TitleBlock = “Custom - A”
Le funzioni Vista per i disegni in genere agiscono sul foglio attivo (consigliato).
View.SetCenter(centerX,centerY)
Imposta il punto centrale della vista (sposta la vista). Le coordinate sono specificate nelle unità del documento di disegno.
View.SetSpacingToCorner(distanceX, distanceY, corner)
Imposta la posizione della vista (sposta la vista) specificando la distanza da un angolo della vista al più vicino angolo del foglio. La variabile corner può essere uno dei seguenti:
SheetCorner.BottomLeft SheetCorner.BottomRight SheetCorner.TopLeft SheetCorner.TopRight
Le coordinate vengono specificate in unità di disegno. Viene individuato l'angolo più vicino ad un angolo del foglio.
View.SpacingBetween(“otherViewName”)
Imposta la posizione della vista (sposta la vista) specificando lo spazio tra la vista corrente e un'altra vista. L'altro nome della vista è generalmente una vista adiacente nel foglio. La spaziatura è calcolata tra gli spigoli della vista, nella direzione X o Y. Specificare un valore di spaziatura positivo per posizionare la vista a destra o al di sopra dell'altra vista. Specificare un valore negativo per posizionare la vista a sinistra o al di sotto dell'altra vista. Ad esempio:
ActiveSheet.View("VIEW2").SpacingBetween("VIEW1") = 30 mm 'ActiveSheet.View("VIEW3").SpacingBetween("VIEW1") = -40 mm 'Funzioni Numero di riferimento
Le funzioni Numero di riferimento per i disegni sono associate ad una determinata vista.
Per le viste di documenti di assieme, questa funzione verifica i numeri di riferimento non associati nella vista e li associa ad un componente, se possibile. La scelta iniziale è un componente nella posizione della punta della freccia. Se non viene trovato, viene utilizzato il componente più vicino senza numero di riferimento. Se non è possibile associare il numero di riferimento in questa fase, il numero viene spostato in un layer nascosto. Il layer nascosto è un layer creato (se necessario) a questo scopo.
Balloons.AttachToComponent(“componentName”)
Specifica un componente che richiede un numero di riferimento. componentName specifica la ricorrenza di un componente, ad esempio "Pin:1". Quando si utilizza questa funzione, i numeri di riferimento sono riassociati solo ai componenti specificati. Se non si utilizza questa funzione, i numeri di riferimento vengono riassociati a qualsiasi componente disponibile (salvo quelli esclusi mediante la funzione DoNotAttachToComponent).
Funzioni dell'API di disegno avanzata
Utilizzare le funzioni dell'API di disegno avanzata se si desidera sfruttare le funzioni dell'API. Notare i tipi di interfaccia per oggetti utilizzati nella funzione Disegno:
Consente di aprire il documento di disegno sottostante. Restituisce un oggetto di tipo Inventor.DrawingDocument.
Consente di aprire l'oggetto vista sottostante. Restituisce un oggetto di tipo Inventor.DrawingView.
Oggetto applicazione Inventor per la sessione corrente di Autodesk Inventor. Da questo oggetto, è possibile accedere direttamente all'API di Inventor. Per informazioni sull'API, fare riferimento alla Guida programmazione in Risorse aggiuntive nel menu ?.
È inoltre possibile accedere all'oggetto utilizzando la sintassi precedente:
Ottiene il documento in cui è memorizzata la regola corrente, come oggetto Inventor.Document . È possibile specificare un punto iniziale dal quale si desidera esaminare o modificare il modello. Questo oggetto viene descritto nella Guida all'API di Inventor.
È inoltre possibile accedere all'oggetto utilizzando la sintassi precedente:
Ottiene il documento del modello (parte o assieme) visualizzato in un documento di disegno. Se non esiste un documento del modello, questa funzione restituisce Nothing (nulla). Se è presente più di un documento del modello, viene restituito il primo file trovato.
Richiesto in una regola prima di utilizzare alcune funzioni API di Inventor, quali Document.SelectSet.Select. Se viene rilevato un esempio VBA o un altro codice API che non lavora all'interno di una regola, aggiungere questa istruzione nella parte superiore della regola.
ThisApplication.UserInterfaceManager.UserInteractionDisabled = False
Utilizzare questa funzione per ottenere l'accesso diretto ad un componente. Restituisce un oggetto di tipo Inventor.ComponentOccurrence.
Ottiene l'accesso diretto ad una lavorazione. Questa funzione restituisce un oggetto di tipo Inventor.PartFeature.