Come aggiungere informazioni

Funzioni

    Informazioni sulle funzioni

    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.

    Struttura di una funzione

    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.

    Procedure

    Funzioni

    Aggiunta di una funzione ad una regola

    1. Selezionare la regola nel browser iLogic nella scheda Regole o Regole esterne.
    2. Fare clic con il pulsante destro del mouse e scegliere Modifica regola.
    3. Nell'area di testo della regola della finestra di dialogo Modifica regola, posizionare il cursore nel punto in cui si desidera inserire la funzione. La maggior parte delle funzioni inizia su una nuova riga.
    4. Individuare la funzione nell'area Frammenti.
    5. Fare doppio clic con il pulsante del mouse per aggiungere la funzione.
    6. Se la funzione include argomenti o richiede input, modificare il codice inserito come necessario.
    NotaPer aggiungere una funzione manualmente, digitarla nella posizione desiderata. È inoltre possibile copiare una funzione già presente nella regola e quindi modificare la copia.

    Modifica di una funzione

    È 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.

    Riferimenti

    Funzioni parametro

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

    Parameter

    Parameter("parameterName")

    Questa funzione consente di modificare direttamente i valori di parametro.

    Negli assiemi è possibile accedere ai parametri in componenti soppressi. Tuttavia, se un componente viene soppresso, non è possibile accedere direttamente al relativo parametro con un'istruzione assegnazione come la seguente:

    PartA.ipt.d12 = 6.3

    In alternativa, è possibile utilizzare:

    Parameter("PartA:1", "d12") = 6.3

    Notare che è specificato un nome di componente anziché un nome di file. Sebbene la funzione venga rinominata con un numero di componente specifico, la modifica del parametro influisce su tutte le istanze del componente. Il nome del componente consente alla funzione di identificare il file.

    Rinominare il componente manualmente per mantenere il nome se il componente viene sostituito.

    È 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("d0")

    param_val = Parameter("PartA:1", "d0")

    Come indicato in questi esempi, il parametro può essere presente nel documento corrente. È possibile utilizzare il nome di qualsiasi parametro accessibile dalla regola.

    In un componente non soppresso, è possibile specificare il nome di file anziché il nome componente. Questo metodo consente di modificare un parametro in una parte di base che non appare come componente in un assieme:

    Parameter("PartA.ipt", "d12") = 6.3

    Se il parametro non viene trovato, la funzione 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.

    Accesso ai parametri in parti di base

    È possibile accedere ai parametri in una parte di base da un assieme o da una parte derivato. È anche possibile accedervi da un assieme che contiene una parte derivata da una parte di base.

    In alcuni casi, è utile gestire i parametri della parte di base dalle regole dell'assieme. Questa tecnica viene definita come modellazione dal generale al particolare. Quando si modifica un parametro di base, vengono modificati anche i parametri collegati in tutte le parti derivate.

    La parte e i relativi parametri non sono sempre visibili nella struttura del modello all'interno della finestra di dialogo Modifica regola. È possibile accedervi utilizzando la funzione Parameter. Ad esempio, per modificare un parametro in una parte di base, utilizzare:

    Parameter("BaseShaft.ipt”, ”Diameter") = 0.125 in

    In genere non è necessario leggere i valori dei parametri dalla parte di base. I parametri sono già collegati all'interno della parte o dell'assieme in cui si sta lavorando.

    Funzioni avanzate del parametro

    Utilizzare la funzione Parameter.Param per 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 If

    In alternativa, è possibile utilizzare una riga singola:

    Parameter.Param("foo").Comment = "Comment set by a rule"

    È possibile accedere ad ulteriori proprietà di un parametro di Autodesk Inventor utilizzando i seguenti valori:

    param = Parameter.Param("parameterName")param = Parameter.Param("componentName", "parameterName")

    Queste funzioni restituiscono un oggetto della classe Inventor.Parameter. Per ulteriori informazioni su questa classe vedere la Guida programmazione di Inventor.

    Funzioni a più valori

    Utilizzare funzioni a più valori per accedere e modificare l'elenco dei valori memorizzati con un parametro a più valori. Gli esempi seguenti ne illustrano l'utilizzo:

    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.

    • DefaultIndex := 0

      Se il valore corrente del parametro non è presente nel nuovo elenco, il parametro viene impostato per il primo valore (indice 0) nell'elenco.

    • NumericCompare := "="

      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.

    MultiValue.Quiet = True

    Sopprime il messaggio di errore visualizzato quando un parametro non viene trovato. Utilizzare questa funzione solo se si è consapevoli del fatto che il parametro è mancante e si è preparati a tale condizione. Ad esempio, è possibile che il parametro non esista in ogni parte in cui viene applicata la regola.

    foundVal = MultiValue.FindValue(aList, "<=", 4,0)

    Trova 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)

    È possibile verificare questa condizione.

    Funzioni lavorazione

    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.

    NotaLa modifica manuale dello stato di attivazione di una lavorazione non provoca l'attivazione automatica delle regole di riferimento. In una parte, è possibile attivare automaticamente tali regole aggiungendole all'elenco di regole attivate dall'evento Modifica soppressione lavorazione. Per accedere all'evento utilizzare il comando Trigger di evento.

    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.

    Sintassi

    Feature.IsActive(“featurename”)

    Esempio

    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 if

    Feature.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.

    Sintassi

    Feature.IsActive(“componentname”, “featurename”)

    Esempi

    Impostazione dello stato di soppressione:

    Feature.IsActive("PartA:1", "Hole:1") = false

    Lettura dello stato di soppressione:

    MyBooleanParameter = Feature.IsActive("PartA:1","Hole:1")

    Feature.Color

    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.

    Sintassi

    Feature.Color("featurename")

    Esempi

    Per impostare il colore:

    Feature.Color("Hole:1") = "Green"
    Feature.Color("Hole:2") = "Aluminum (Cast)
    "Feature.Color("Hole:3") = "As Material"

    Lettura del colore:

    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")

    Feature.ThreadDesignation

    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.

    Sintassi

    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.

    Esempio

    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"

    Feature.SetThread

    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.

    NotaPer una filettatura rastremata, sostituire una stringa vuota ("") per la classe di filettatura. Inoltre, utilizzare Dimensioni anziché Designazione.

    Sintassi

    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")

    Feature.ThreadType

    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.

    Sintassi

    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")

    Feature.ThreadClass

    Imposta la classe filettatura di un foro o di una filettatura. Maggiore è il numero impostato, maggiore sarà il grado di precisione.

    Sintassi

    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"

    Notanon valido per una filettatura rastremata.

    Ottiene la classe di filettatura di un foro o di una filettatura in un componente.

    currentClass = Feature.ThreadClass("componentName", "featurename")

    Funzioni componente

    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.

    Denominazione componente

    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.

    Component.IsActive

    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.

    Sintassi

    Component.IsActive("ComponentName")

    Esempi

    È 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") = 0

    Per leggere lo stato di soppressione e la struttura distinta componenti:

    MyBooleanParam = Component.IsActive("ComponentName:1)
    If Component.IsActive("PartE") Then
    ' do something
    End If

    Component.iComponentIsActive

    Questa 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.

    Sintassi

    Component.iComponentIsActive(“iPartParentName:1”)

    iPartParentName

    Nome della parte della famiglia senza l'estensione nome file .ipt.

    Component.Color

    Consente di impostare o leggere il colore di un componente.

    Sintassi

    Component.Color(“iPartA:1”)

    Esempi

    Impostazione del colore:

    Component.Color("iPartA:1") = "Green"
    Component.Color("iPartA:2") = "Aluminum (Cast)"
    Component.Color("iPartA:3") = "As Material"

    Lettura del colore:

    MyStringParameter = Component.Color("iPartA:1")

    Component.Visible

    Consente di impostare o leggere la visibilità di un componente. Questa funzione non modifica la struttura distinta componenti del componente.

    Sintassi

    Component.Visible("componentName")

    Esempi

    Impostazione della visibilità:

    Component.Visible("Plate") = true
    Component.Visible("Bearing") = false

    Lettura della visibilità:

    parameter = Component.Visible("Plate")
    parameter = Component.Visible("Bearing")
    If Component.Visible("PartE") Then
    do something
    End If

    Component.SkipDocumentSave

    Specifica se un documento componente viene salvato in caso di modifica e successiva soppressione da parte di una regola.

    Sintassi

    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.

    Component.Replace

    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:

    • La directory del documento del componente da sostituire
    • La directory del documento di assieme
    • La cartella dell'area di lavoro del progetto corrente

    Il nome del file può essere un percorso relativo (rispetto ad uno di questi percorsi di ricerca).

    NotaPrima di utilizzare questa funzione, "stabilizzare" il nome del componente per impedirne la modifica durante lo scambio. Per stabilizzare il nome del componente, modificarlo. È anche possibile stabilizzare il nome modificandolo e quindi ripristinando il nome originale. Se non viene stabilizzato il nome, l'operazione di sostituzione modifica il componente di modo che corrisponda al nuovo nome. Sarà quindi impossibile per la regola trovare il componente nel corso di una nuova esecuzione.

    Sintassi

    Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)

    ComponentToReplaceName

    Il nome della parte o del sottoassieme sostituito.

    OtherPartfilename

    La parte o l'assieme da utilizzare come sostituzione.

    <replaceAll>

    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.

    Esempio

    If PartType = "Type A" Then
    Component.Replace("Widget","PartA.ipt", True)
    ElseIf PartType = "Type B" Then
    Component.Replace("Widget","PartB.ipt", True)
    End If

    Component.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.

    Sintassi

    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.

    Component.ReplaceiPart

    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.

    Sintassi

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)

    Utilizzare rowNumber per sostituire il componente e scegliere contemporaneamente una riga iPart.

    Esempi

    Per impostare i parametri personalizzati, ripetere i valori personalizzati in Component.ReplaceiPart e di nuovo in iPart.ChangeRow o iPart.FindRow successivamente nella regola.

    Per ChangeRow:

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
    iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

    Per FindRow:

    Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
    i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

    MakePath

    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.

    Sintassi

    MakePath(“SubassemblyComponentName”,“PartComponentName”)

    Esempi

    Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
    Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”

    Funzioni iProperties

    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

    Sintassi

    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.

    Esempi

    Impostazione del valore iProperty:

    iProperties.Value("Project", "Stock Number") = "302A"

    Lettura del valore iProperty:

    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 type

    Lettura 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")

    Da ricordare

    • La maggior parte delle proprietà sono stringhe di testo.
    • Le proprietà che includono date nel nome corrispondono a date. Nelle regole queste proprietà possono essere lette e impostate per le variabili locali del tipo VB.NET Date. Spesso non è necessario conoscere i tipi di proprietà, poiché VB.NET converte automaticamente il valore.
    • La proprietà Estimated Cost (in Progetto) è un numero.
    • La proprietà Design State (in Stato) rappresenta un caso speciale. Utilizzare un numero, anche se viene visualizzato nell'editor delle iProperties come un elenco di opzioni. Nel seguente esempio vengono utilizzate variabili temporanee.
      Work_In_Progress = 1
      Pending = 2
      Released = 3
      iProperties.Value("Status", "Design State") = Pending

    Funzioni obsolete

    Nelle 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")

    Riferimento al nome file.

    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.

    iProperties.StylesInEnglish

    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:

    • iProperties.Material
    • iProperties.MaterialOfComponent
    • iProperties.Materials
    • iProperties.PartColor
    • Feature.Color
    • Component.Color

    iProperties.Material

    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.

    Esempi

    Per impostare il materiale:

    iProperties.Material = "Gold"

    Per leggere il materiale:

    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.

    iProperties.Material(“componentName:1”)

    Utilizzato in una regola di livello assieme per accedere al materiale di una parte nell'assieme, specificando il nome del componente.

    iProperties.PartColor

    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.

    Esempi

    Per impostare il colore:

    iProperties.PartColor = "Green"
    iProperties.PartColor = "As Material"

    Per leggere il colore:

    MyStringParam = iProperties.PartColor

    iProperties.Mass

    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.

    Esempi

    Per leggere la massa:

    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 calculation

    iProperties.Volume

    Consente 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.

    Esempi

    Per leggere il volume:

    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 calculation

    iProperties.CenterOfGravity

    Consente di leggere il baricentro del modello nel documento contenente la regola.

    Sintassi

    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.

    iProperties.Area

    Consente di leggere l'area della superficie del modello nel documento contenente la regola.

    Sintassi

    surfaceArea = iProperties.Area

    AreaSuperficie = iProperties.Area("componente:1")

    Consente di leggere l'area della superficie 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:

    • Funzioni per la lettura dei dati da tabelle
    • Funzioni per la lettura e la scrittura dei dati in una determinata cella

    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.

    NotaNon includere uno spazio dopo il carattere : nella sintassi 3rd Party:Name.

    Per collegare un file, fare clic su scheda Schizzo gruppo Inserisci Inserisci oggettoo utilizzare Collegamento nella finestra di dialogo Parametri.

    GoExcel.FindRow

    Consente di cercare una riga sulla base di uno o più criteri di valore della colonna.

    Sintassi

    GoExcel.FindRow("filename", "sheetname", "first column title", "operator", value to look for, "second column title", "operator", value to look for, "third column title",...)

    ”filename”

    Specifica il file di dati.

    ”sheetname”

    Foglio del documento di Excel contenente la tabella in cui eseguire la ricerca. Il foglio può essere qualsiasi foglio esistente.

    ”first column title”

    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.

    ”operator”

    I valori possibili sono:

    • <=

      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.

    value to look for

    Il valore di testo o numerico può essere specificato con un valore esplicito, un parametro o una variabile locale.

    ”second column title”

    Titolo della seconda colonna nella tabella in cui eseguire la ricerca.

    ”operator”

    <=, > = o =

    value to look for

    ”third column title”

    Individua una riga in base a più criteri.

    Valori restituiti

    Il numero di riga (un numero intero) che corrisponde ai criteri di ricerca. Il valore è -1 se non viene trovata una riga corrispondente.

    Possibili errori

    • File non trovato
    • Nome foglio non trovato
    • Nome colonna non trovato
    • Il valore di input è di tipo errato (non corrisponde al tipo di valore della colonna)

    Requisiti della tabella di Excel

    • Le configurazioni della tabella devono essere orizzontali (definite in base alle righe e non alle colonne).
    • I titoli delle colonne devono trovarsi nella prima cella della colonna.
    • I valori di ricerca possono essere numerici o di testo.

    Esempi

    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.

    GoExcel.CurrentRowValue

    Legge un valore dalla riga trovata utilizzando la funzione GoExcel.FindRow.

    Sintassi

    GoExcel.CurrentRowValue("column name")

    ”column name”

    Nome del titolo della colonna per il valore della cella da recuperare dalla riga corrente.

    Valori restituiti

    Valore della cella della colonna della riga corrente, trovata in precedenza tramite la funzione GoExcel.FindRow.

    Errori

    Restituisce un messaggio di errore se non viene trovata la colonna.

    Esempio

    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")

    GoExcel.CellValue

    Consente di leggere o scrivere i valori nelle celle del foglio di calcolo.

    Sintassi

    GoExcel.CellValue("filename", "sheetname", "cellnumber")

    ”filename”

    Vedere Specificazione del file di Excel.

    ”sheetname”

    Nome del foglio nel documento di Excel che contiene la cella di destinazione. Il foglio può essere qualsiasi foglio esistente.

    ”cell number”

    Indirizzo della cella per la lettura o scrittura (ad esempio "A7"). È anche possibile specificare un intervallo denominato nel foglio di lavoro.

    Valori restituiti

    • Valore della cella
    • Nessuna assegnazione in caso di errore

    Errori

    • File non trovato
    • Nome del foglio non trovato

    Requisiti di formato tabella di Excel

    I valori di cella possono essere numerici o di testo.

    Esempi

    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_rad

    Lettura 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.Save
    NotaGoExcel.Save è obbligatoria per salvare le modifiche apportate al foglio di calcolo.

    GoExcel.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.

    Sintassi

    GoExcel.CurrentCellValue("cellnumber")

    GoExcel.CellValue("cellnumber") (without specifying a filename and sheet name)

    ”cellnumber”

    Indirizzo della cella o intervallo denominato del valore della cella da leggere o scrivere nel foglio di calcolo corrente.

    Valori restituiti

    Il valore della cella corrispondente al numero della cella specificato.

    Errori

    • Nessuna assegnazione in caso di errore
    • Viene visualizzato il messaggio di errore

    Esempi

    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.Save

    GoExcel.NameRangeValue

    Opera 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.

    Sintassi

    GoExcel.NamedRangeValue("PinLength")

    GoExcel.Open

    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.

    Sintassi

    GoExcel.Open("filename", “sheetname”)

    ”filename”

    Vedere Specificazione del file di Excel.

    ”sheetname”

    Nome del foglio nel documento di Excel da attivare. Il foglio può essere qualsiasi foglio esistente.

    Valori restituiti

    N/D

    Errori

    File Excel non trovato.

    Esempi

    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")

    GoExcel.Save

    Consente di salvare il documento di Excel corrente. Utilizzare questa funzione se sono state modificate celle tramite le funzioni GoExcel.CellValue o GoExcel.CurrentCellValue.

    Valori restituiti

    N/D

    Errori

    N/D

    Esempio

    GoExcel.CellValue("Spreadsheet.xls", "Sheet1", "A1") = "Hello, World!"
    GoExcel.CellValue("A2") = 5.42
    GoExcel.Save

    GoExcel.CellValues

    Questa funzione viene utilizzata per due scopi:

    • Lettura dei valori di un intervallo specificato di celle in un foglio di calcolo di Excel e assegnazione ad un elenco a più valori.
    • Ottenimento dei valori di un elenco a più valori e scrittura in un intervallo di celle specificato in un foglio di calcolo di Excel.

    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")

    GoExcel.Close

    Consente di chiudere il foglio di calcolo di Excel.

    GoExcel.TitleRow

    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.

    Esempio

    GoExcel.TitleRow = 2

    GoExcel.FindRowStart

    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.

    Sintassi

    GoExcel.FindRowStart = <row>

    <row>

    Riga in corrispondenza della quale iniziano i dati.

    Esempi

    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

    GoExcel.ChangeSourceOfLinked

    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.

    NotaQuesta funzione è disponibile anche come operazione manuale dal menu contestuale sui fogli di calcolo di Excel collegati.

    Sintassi

    changeOK = GoExcel.ChangeSourceOfLinked(partialOldName, newName)

    partialOldName

    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.

    newName

    Nuovo nome completo del foglio di calcolo che può essere un nome file assoluto o relativo.

    Esempio

    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 If

    GoExcel.Tolerance

    Utilizzato 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.

    Sintassi

    GoExcel.Tolerance = <tolerance>

    Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.

    Esempio

    È 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)

    GoExcel.DisplayAlerts

    Impedisce la visualizzazione delle finestre di dialogo di conferma di Excel.

    Sintassi

    GoExcel.DisplayAlerts = True

    GoExcel.DisplayAlerts = False

    True

    Visualizza le finestre di dialogo di conferma di Microsoft® Excel (impostazione di default).

    False

    Non visualizza le finestre di dialogo di conferma di Excel.

    GoExcel.Application

    Apre Excel. Utilizzare questa funzione solo se si ha familiarità con l'interfaccia COM di Excel. Prima di utilizzare questa funzione in una regola, richiamare un'altra funzione GoExcel per inizializzare l'applicazione.

    Sintassi

    excelApp = GoExcel.Application

    Funzioni di iPart e iAssembly

    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.

    iPart.ChangeRow

    Consente di modificare la riga attiva in una tabella di iPart o di iAssembly.

    Sintassi

    iPart.ChangeRow("iChangedComponentName:1", "memberName")

    “iChangedComponentName:1”

    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.

    “memberName”

    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)

    Esempio

    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 If

    iPart.FindRow

    Consente 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.

    Sintassi

    i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)

    i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)

    “i”

    Variabile locale utilizzabile per verificare se viene trovato un numero di riga valido.

    “iChangedComponentName:1”

    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.

    “columnName”

    Colonna da cercare nella tabella di iPart. Utilizzare il nome dell'intestazione della colonna esattamente come appare nella tabella di iPart.

    Esempio

    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)

    iPart.CurrentRowValue

    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.

    Sintassi

    d0 = iPart.CurrentRowValue("columnName")

    La riga corrente viene impostata da una qualsiasi delle seguenti funzioni:

    • iPart.FindRow
    • iPart.ChangeRow
    • iPart.RowName
    • iPart.RowNumber

    iPart.FindRow o iPart.ChangeRow

    “columnName”

    Nome della colonna della tabella di iPart desiderata.

    Esempio

    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")

    iPart.CurrentRowStringValue

    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.

    Sintassi

    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)

    “iParentFileName:1”

    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.

    iPart.RowName

    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.

    NotaDopo l'utilizzo di questa funzione, è possibile utilizzare iPart.CurrentRowValue o iPart.CurrentRowStringValue per recuperare i valori di altre celle nella riga attiva.

    Sintassi

    iPart.RowName("iChangedComponentName:1")

    Esempio

    memberName = iPart.RowName("port_1_flange_screw:1")

    iPart.RowNumber

    Consente di ottenere il numero di riga della riga attiva in un'istanza componente iPart o iAssembly.

    NotaDopo l'utilizzo di questa funzione, è possibile utilizzare iPart.CurrentRowValue o iPart.CurrentRowStringValue per recuperare i valori di altre celle nella riga attiva.

    Sintassi

    iPart.RowNumber("iChangedComponentName:1")

    Esempio

    rowNumber = iPart.RowNumber("port_1_flange_screw:1")

    iPart.Tolerance

    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.

    Sintassi

    iPart.Tolerance = <value>

    Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.

    Esempio

    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.

    Funzioni per iFeature

    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.

    iFeature.ChangeRow

    Consente di modificare la riga attiva di una iFeature controllata da una tabella.

    Sintassi

    iFeature.ChangeRow("iFeatureName", "rowName")

    "iFeatureName”

    Nome della iFeature come visualizzato nella struttura del modello.

    "rowName"

    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)

    Esempio

    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 If

    iFeature.FindRow

    Consente 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.

    Sintassi

    i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)

    "iFeatureName"

    Nome della iFeature controllata da tabella.

    "columnName"

    Titolo della colonna in cui eseguire la ricerca.

    Operatori

    • "=" trova una riga con un valore uguale al valore specificato.
    • "> =" trova una riga con un valore uguale o maggiore del valore specificato.
    • "> =" trova una riga con un valore uguale o maggiore del valore specificato.

    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.

    Valori restituiti

    • Numero di riga (numero intero) della riga che corrisponde ai criteri di ricerca.
    • -1 se la riga non viene trovata.

    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")

    iFeature.Tolerance

    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.

    Sintassi

    iFeature.Tolerance = <value>

    Impostare una tolleranza maggiore per espandere l'intervallo di valori consentiti.

    Esempio

    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.

    Constraint.IsActive

    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:

    • Le regole risultano in tal modo più comprensibili.
    • La ridenominazione di una coincidenza "stabilizza" il nome per impedirne le modifiche automatiche e la conseguente impossibilità per la regola di trovare il vincolo.

    Se viene modificato manualmente lo stato della soppressione di un vincolo, le regole a cui fa riferimento non vengono attivate automaticamente.

    Sintassi

    Constraint.IsActive(“Mate:1”)

    Constraint.IsActive(“SubAssem.iam”, “Mate:1”)

    Esempi

    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 If

    Lettura 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 If

    Lettura tramite il nome del sottoassieme:

    Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)

    Constraint.iMateDefIsActive

    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.

    Funzioni di misurazione

    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.

    Misurazione distanza e angolo

    È 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:

    • Una geometria di lavoro come un piano di lavoro, un asse di lavoro o un punto di riferimento in una parte o in un assieme. La geometria di lavoro può essere una geometria di lavoro standard di Inventor, ad esempio Piano XY o Asse X.
    • Un iMate associato ad una faccia, ad uno spigolo o ad un vertice. Utilizzare questo metodo per assegnare all'elemento un nome permanente. Non è obbligatorio utilizzare l'iMate per un vincolo. È possibile eliminare l'iMate.

    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.

    Measure.MinimumDistance

    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.

    Sintassi

    Measure.MinimumDistance("entityName1","entityName2")

    Esempi

    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

    Per misurare da asse ad asse:

    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

    Measure.Angle

    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:

    • Linea 1 si estende da "point1" a "point2".
    • Linea 2 si estende da "point2" a "point3".

    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

    Measure.Area

    Consente di misurare l'area di un schizzo. Questa funzione misura la somma delle aree delle regioni racchiuse da profili chiusi in uno schizzo.

    Sintassi

    Measure.Area(“SketchName”)

    Esempi

    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

    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.

    Sintassi

    size = Measure.Perimeter("Sketch1")

    Esempi

    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

    Measure.Extents

    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.

    NotaQueste funzioni consentono di misurare solo le estensioni delle entità visibili, quali piani, punti di riferimento, superfici e corpi. Non vengono misurate le entità nascoste.

    Sintassi

    Measure.ExtentsLength

    Consente di misurare l'estensione X (lungo l'asse rosso) del modello.

    Measure.ExtentsWidth

    Consente di misurare l'estensione Y (lungo l'asse verde) del modello.

    Measure.ExtentsHeight

    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.

    WorkPlane.FlipNormal

    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.

    Sintassi

    WorkPlane.FlipNormal(“workPlaneName”, “axisWanted”)

    “workPlaneName”

    Nome del piano di lavoro da invertire.

    “axisWanted”

    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.

    Esempi

    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")

    Sketch.Redefine

    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:

    • geometrie di lavoro
    • piani o assi standard
    • facce, spigoli o vertici associati con iMate

    Sintassi

    Sketch.Redefine(sketchName, planeName, originName, axisName, AxisIsX := True, NaturalAxisDirection := True )

    sketchName

    Nome dello schizzo.

    planeName

    Nome di un'entità da utilizzare come piano dello schizzo.

    originName

    Nome di un'entità da utilizzare come punto di origine dello schizzo.

    axisName

    Nome di un'entità da utilizzare come asse dello schizzo (asse X o Y).

    AxisIsX

    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).

    NaturalAxisDirection

    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.

    MessageBox.Show

    Costituisce la base per le funzioni finestra di messaggio in iLogic. Utilizzare questa funzione per visualizzare una finestra di messaggio.

    Sintassi

    MessageBox.Show("Message", "Title")

    “Message”

    Contenuto dell'area di testo della finestra di messaggio.

    “Title”

    Contenuto della barra del titolo della finestra di messaggio.

    MessageBoxButtons

    È possibile specificare i pulsanti inclusi in una finestra di messaggio utilizzando il parametro MessageBoxButtons per specificare i valori appropriati nella funzione MessageBox.Show.

    Ad esempio:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.OK)

    Questa opzione produce una semplice finestra di messaggio con il pulsante OK:

    Altre opzioni includono:

    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)

    MessageBoxIcon

    È possibile aggiungere un'icona ad una finestra di messaggio includendo il parametro MessageBoxIcon nella funzione MessageBox.Show.

    Ad esempio:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error)

    Questa opzione consente di aggiungere un'icona di errore alla finestra di messaggio:

    Altre opzioni includono:

    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)

    DefaultButton

    È 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.

    Ad esempio:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2)

    Questa opzione specifica che il secondo pulsante (No) viene selezionato per default.

    Altre opzioni includono:

    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
    MessageBox.Show("Message",'"Title", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button3)

    InputBox

    Consente di creare una finestra di messaggio che richiede e accetta input.

    Sintassi

    myparam = InputBox("Prompt", "Title", "Default Entry")

    "Prompt"

    Messaggio da visualizzare nella finestra.

    "Title"

    Testo da visualizzare nella barra del titolo della finestra.

    "Default Entry"

    Testo da visualizzare nel campo di input della finestra.

    Esempio

    InputListBox

    Viene visualizzata una finestra di messaggio con un elenco di valori disponibili. Quando un valore viene selezionato dall'elenco, la funzione restituisce il valore.

    Sintassi

    d0 = InputListBox("Prompt",MultiValue.List("listName"), defaultEntry, Title := "Dialog Title", ListPrompt := "List Prompt")

    "Prompt"

    Messaggio da visualizzare sopra il pulsante OK nella finestra.

    MultiValue.List("listName")

    Nome dell'elenco a più valori da utilizzare.

    defaultEntry

    Valore selezionato inizialmente nella casella di riepilogo.

    Title

    Testo da visualizzare nella barra del titolo.

    ListPrompt

    Message

    Testo da visualizzare sopra l'elenco nella finestra.

    Valori restituiti

    d0

    Valore selezionato nell'elenco.

    Esempio

    material = InputListBox("Choose Part material", MultiValue.List("material"),  _
    material, Title := "Part material", ListName := "Available Standard materials")

    InputRadioBox

    Viene visualizzata una finestra di messaggio che richiede la selezione di una delle due opzioni disponibili.

    Sintassi

    booleanResult= InputRadioBox("Prompt", "Button1 Label", "Button2 Label", booleanParam, Title :="Title")

    "Prompt"

    Messaggio da visualizzare nella finestra.

    "Button1 Label"

    Messaggio da visualizzare per la prima opzione.

    "Button2 Label"

    Messaggio da visualizzare per la seconda opzione.

    booleanParam

    Specificare True per selezionare la prima opzione o False per selezionare la seconda opzione.

    Title

    Testo da visualizzare nella barra del titolo della finestra.

    Valori restituiti

    booleanResult

    True se viene selezionata la prima opzione, False se viene selezionata la seconda.

    Esempio

    booleanParam= InputRadioBox("Choose an Edge Treatment option", "Chamfer", "Fillet", true, Title :="Edge
    Treatment")

    Funzioni documento

    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.

    Path

    Consente di restituire il percorso del documento (nome cartella) come una stringa di testo.

    Sintassi

    ThisDoc.Path

    FileName

    Consente di restituire il nome file del documento.

    Sintassi

    ThisDoc.FileName(False)

    L'estensione del file non viene inclusa quando False viene fornito come argomento. Se è necessaria l'estensione del file, sostituire True come argomento.

    PathAndFileName

    Restituisce il percorso e il nome file del documento.

    Sintassi

    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.

    ChangeExtension

    Consente di creare un nome file utilizzando il nome file del documento e un'estensione modificata.

    Sintassi

    changedName = ThisDoc.ChangeExtension(“.new”)

    WorkspacePath

    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).

    Sintassi

    ThisDoc.WorkspacePath()

    Launch

    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.

    Sintassi

    ThisDoc.Launch(“path\file.ext”)

    Save

    Consente di salvare il documento attivo. Questa funzione non è utilizzabile in una regola attivata mediante un evento di modifica parametri.

    Sintassi

    ThisDoc.Save

    UpdateWhenDone

    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.

    Sintassi

    iLogicVb.UpdateWhenDone = True

    RuleParametersOutput

    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.

    Sintassi

    RuleParametersOutput()

    DocumentUpdate

    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.

    Sintassi

    InventorVb.DocumentUpdate()

    DocumentUpdate(False)

    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.

    Sintassi

    InventorVb.DocumentUpdate(False)

    Aggiorna solo visualizzazione

    Questa funzione API di Inventor consente di aggiornare solo la visualizzazione e non il modello.

    Sintassi

    ThisApplication.ActiveView.Update()

    CheckParameters

    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.

    Sintassi

    InventorVb.CheckParameters(“”)

    File Save As

    Consente di salvare il documento con un nuovo nome file e, se lo si desidera, con una nuova estensione.

    Sintassi

    ThisDoc.Document.SaveAs(NewFileNameAndExtension , True)

    True

    Impostare su True per eseguire un'operazione Salva copia con nome, o impostare su False per eseguire un'operazione Salva con nome.

    Funzioni Esegui (altro)

    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.

    RunRule

    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.

    Sintassi

    iLogicVb.RunRule(“ruleName”)

    Esempio

    iLogicVb.RunRule(“Rule0”)

    RunRule in un componente

    Esegue un'altra regola memorizzata in un componente all'interno di un assieme.

    Sintassi

    iLogicVb.RunRule(“componentName”, “ruleName”)

    Esempio

    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".

    RunExternalRule

    Consente di eseguire una regola esterna da una regola standard in un documento di Autodesk Inventor.

    Sintassi

    iLogicVb.RunExternalRule("ruleFileName")

    "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:

    • La cartella in cui si trova il documento di Inventor corrente (consente la copia dei modelli con le regole associate)
    • La cartella dell'area di lavoro del progetto di Inventor corrente
    • L'elenco delle cartelle impostato in Configurazione iLogic (in genere per regole destinate a gruppi di lavoro o regole aziendali)

    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.

    Esempio

    iLogicVb.RunExternalRule("color_by_vendor")

    RunMacro

    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.

    NotaIn release successive, VSTA sostituirà VBA. Non è consigliabile creare nuove macro VBA, ma RunMacro può essere utilizzato se si dispone di macro VBA esistenti.

    Sintassi

    InventorVb.RunMacro(“projectName”, “moduleName”, “macroName”)

    Esempi

    InventorVb.RunMacro ("DocumentProject", "Module1", "DrawCustomLines" )
    InventorVb.RunMacro ("ThreadMacros", "Module1", "ThreadsInit" )
    InventorVb.RunMacro ("ThreadMacros", "Module1", "AddThreads", "3/8-16 UNC")

    AddReference

    Necessario se si desidera utilizzare codice .NET esterno (vedere "Programmazione avanzata delle regole").

    Sintassi

    AddReference “fileName.dll”

    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.

    Export

    Esportare la distinta componenti in un file esterno.

    NotaQuesta funzione è disponibile solo nel livello di dettaglio principale nell'assieme.

    Sintassi

    ThisBOM.Export(“BOMViewName”, filename, format)

    “BOMViewName”

    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).

    filename

    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).

    format

    Può essere uno dei seguenti:

    • kMicrosoftAccessFormat = Microsoft Access
    • kMicrosoftExcelFormat = Microsoft Excel
    • kdBASEIVFormat = dBASE IV
    • kdBASEIIIFormat = dBASE III
    • kTextFileTabDelimitedFormat = Text File Tab Delimited
    • kTextFileCommaDelimitedFormat = Text File Comma Delimited
    • kUnicodeTextFileTabDelimitedFormat = Unicode Text File Tab Delimited
    • kUnicodeTextFileCommaDelimitedFormat = Unicode Text File Comma Delimited

    Esempi

    ThisBOM.Export("Parts Only", "Bom353.xls",  kMicrosoftExcelFormat)
    ThisBOM.Export("Structured", "Bom631.xls",  kTextFileTabDelimitedFormat)
    ThisBOM.Export("Structured", ThisDoc.ChangeExtension(".mdb"),  kMicrosoftAccessFormat)

    OverrideQuantity

    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.

    Sintassi

    ThisBOM.OverrideQuantity(“Model Data”, partNumber, quantity)

    Il primo argomento consente di nominare la vista della distinta componenti e deve essere sempre "Model Data".

    partNumber

    La proprietà numero di parte del componente. Questo valore viene visualizzato come colonna nella vista della distinta componenti.

    quantity

    Quantità da impostare per questo componente.

    Esempio

    ThisBOM.OverrideQuantity("Model Data", "Top Screw", 18)

    CalculateQuantity

    Riporta la quantità della distinta componenti alla quantità calcolata automaticamente.

    Sintassi

    quantity = ThisBOM.CalculateQuantity(“Model Data”, “partNumber”)

    Esempio

    quantity = ThisBOM.CalculateQuantity("Model Data", "Top Screws")

    Funzioni matematiche

    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:

    • Espandere il nodo Operatori matematici nella scheda Sistema dell'area Frammenti.
    • Fare clic con il pulsante destro del mouse nell'area di testo della regola e selezionare Funzioni matematiche.

    Funzioni matematiche standard

    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:

    • La funzione sign diventa sign0 nella regola.
    • La funzione log diventa log10 nella regola.

    Funzioni trigonometriche

    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:

    radianti = gradi *(PI/180)

    Altre funzioni matematiche

    Funzione Scopo Esempi
    Abs() Restituisce il valore assoluto dell'argomento.

    Abs(10) = 10

    Abs(-9.87) = 9.87

    Sqrt() Restituisce la radice quadrata dell'argomento.

    Sqrt(25) = 5

    Sqrt(100) = 10

    Sqrt(3) = 1.732051

    Sign() Restituisce un numero che indica il segno dell'argomento.

    Se il valore è positivo, Sign(valore) = 1

    Se il valore è negativo, Sign(valore) = -1

    Se il valore è zero Sign(valore) = 0

    Round() Arrotonda l'argomento ad un numero intero o ad un numero specificato di cifre decimali.

    Sintassi: Round (argomento, N. facoltativo di cifre decimali desiderato)

    Round(2.55689) = 3

    Round(2.55689, 1) = 2.6

    Round(2.55689, 3) = 2.557

    Round(PI, 4) = 3.1416

    Ceil() Arrotonda l'argomento al numero intero successivo più alto.

    Ceil(2.56) = 3

    Ceil(Sqrt(3))= 2

    Floor() Arrotonda l'argomento al numero intero successivo più basso.

    Floor(1.789) = 1

    Floor(PI) = 3

    Log10() Restituisce il logaritmo in base 10 dell'argomento.

    Log10(10) = 1

    Log10(100) = 2

    Log10(15) = 1.176091

    Ln() Restituisce il logaritmo naturale dell'argomento. (logaritmo in base e).

    Ln(5) = 1.609438

    Ln(37) = 3.610918

    Pow(argomento1, argomento2) Restituisce il risultato dell'innalzamento di argomento1 all'esponente di argomento2.

    Pow(2, 2) = 22 = 4

    Pow(2, 3) = 23 = 8

    Pow(3, 2) = 32 = 9

    Funzioni di confronto

    Funzione Scopo Esempi
    Min(argomento1, argomento2) Restituisce il minore di due argomenti.

    Min(2, 4) = 2

    Min(9, 4) = 4

    Min(Sqrt(2), Sqrt(3)) = 1.4142.....

    Max(argomento1,argomento2) Restituisce il maggiore di due argomenti.

    Max(2, 4) = 4

    Max(9, 4) = 9

    Sqrt(3)) = 1,73205.....

    MinOfMany( ,,, ) Restituisce il minore tra più argomenti.

    MinOfMany(2,4,3,6,7,8) = 2

    MinOfMany(9,4,5,67,3,5) = 3

    MinOfMany(Sqrt(2), Sqrt(3), Sin(PI/2)) = 1

    MaxOfMany( ,,, ) Restituisce il maggiore tra più argomenti.

    MaxOfMany(2,4,3,6,7,8) = 8

    MaxOfMany(9,4,5,67,3,5) = 67

    MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1,73205.....

    EqualWithinTolerance(a, b, 0,001) Confronta i valori di due parametri (rappresentati da a e b) e confronta la differenza con il valore di tolleranza (qui specificato come 0,001). Se la differenza è minore della tolleranza, la funzione restituisce il valore booleano True. Se la differenza è superiore alla tolleranza, la funzione restituisce il valore booleano False.

    If a = 10.00 and b=10.01

    EqualWithinTolerance(a, b, 0.015) = True[Abs(a-b) is less than the tolerance value of 0.015 in]

    EqualWithinTolerance(a, b, 0.001) = False[Abs(a-b) is greater than the tolerance value of 0.001]

    EqualWithinTolerance(a,b) Utilizza una tolleranza di default di 0,0000001  

    Funzioni stringa

    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.

    Funzioni stringa standard

    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

    Funzioni stringa iLogic

    Numerose funzioni stringa sono specifiche per iLogic:

    Funzione Scopo Esempi
    CDblAny(string) Converte una stringa di testo in un valore Double. Analoga alla funzione CDbl VB.NET standard. Consente di convertire una stringa di testo utilizzando una virgola o un punto come separatore decimale, indipendentemente dalle impostazioni relative alla lingua di Windows. L'operazione potrebbe fallire se la stringa di testo non rappresenta un numero valido.

    x = CDblAny(“3.14159”) returns 3.14159

    x = CDblAny(“3,14159”) returns 3.14159

    RoundToFraction(valore, fractionFactor, RoundingMethod.Round)

    Consente di formattare un valore numerico come una stringa di testo in forma di frazione per rappresentare le misure in pollici.

    Restituisce una frazione (ad esempio, "1/2") o un numero e una frazione (ad esempio, "3 5/8"). Arrotonda il valore ad un multiplo del fattore frazione.

    fractionFactor deve essere 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 o 1/128.

    RoundingMethod.Round consente di arrotondare al multiplo di fractionFactor più vicino.

    RoundToFraction(0.7502, 1/4, RoundingMethod.Round)' returns "1/4"

    RoundToFraction(valore, fractionFactor, RoundingMethod.RoundUp)

    Consente di formattare un valore numerico come stringa di testo in forma di frazione per rappresentare le misure in pollici.

    Restituisce una frazione (ad esempio, "1/2") o un numero e una frazione (ad esempio, "3 5/8"). Arrotonda il valore ad un multiplo del fattore frazione.

    fractionFactor deve essere 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 o 1/128.

    RoundingMethod.RoundUp consente di arrotondare al multiplo di fractionFactor più vicino, maggiore o uguale al valore.

    RoundToFraction(0.7502, 1/4, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.749, 1/4, RoundingMethod.RoundUp) ' returns "3/4"

    RoundToFraction(0.749, 1/8, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.7, 1/8, RoundingMethod.RoundUp) ' returns "3/4"

    RoundToFraction(0.6, 1/4, RoundingMethod.RoundUp)' returns "3/4"

    RoundToFraction(0.6, 1/8, RoundingMethod.RoundUp) ' returns "5/8"

    RoundToFraction(valore, fractionFactor, RoundingMethod.RoundDown)

    Consente di formattare un valore numerico come una stringa di testo in forma di frazione per rappresentare le misure in pollici.

    Restituisce una frazione (ad esempio, "1/2") o un numero e una frazione (ad esempio, "3 5/8"). Arrotonda il valore ad un multiplo del fattore frazione.

    fractionFactor deve essere 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 o 1/128.

    RoundingMethod.RoundUp consente di arrotondare al multiplo di fractionFactor più vicino, minore o uguale al valore.

    RoundToFraction(0.7502, 1/4, RoundingMethod.RoundDown) ' returns "3/4"

    RoundToFraction(0.749, 1/4, RoundingMethod.RoundDown) ' returns "1/2"

    FormatAsFraction(value, [numberOfDecimals])

    Consente di formattare un valore numerico come stringa di testo in forma di frazione per rappresentare le misure in pollici.

    Restituisce una frazione (ad esempio, "1/2") o un numero e una frazione (ad esempio, "3 5/8"). Solo se il valore può essere espresso come frazione di un numero intero con un denominatore multiplo di due (fino ad un massimo di 128, con tolleranza 0,0000001). In caso contrario, restituisce un numero decimale.

    Se vengono restituiti decimali, l'argomento numberofDecimals influenza l'arrotondamento della stringa di testo risultante. Questo argomento è opzionale e impostato per default su 3 se non viene fornito.

    FormatAsFraction(0.75) ' returns "3/4"

    FormatAsFraction(2.375)' returns "2 3/8"

    FormatAsFraction(2.4) ' returns "2.4"

    FormatAsFraction(2.00001) ' returns "2"

    NotaÈ possibile utilizzare la funzione CDblAny per convertire i valori dei parametri di testo di iLogic in numeri.

    Funzioni di variabili

    Per accedere alle funzioni di variabili, espandere il nodo Variabili nella scheda Sistema dell'area Frammenti.

    Funzioni Variabile condivisa

    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.

    SharedVariable.RemoveAll()

    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.

    Funzioni Nuova serie

    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.

    Nuova serie Double

    Definisce una nuova serie di tipo Double e imposta i valori iniziali.

    MyDoubleValues = new double(){1.2,2.2,3.3}

    Nuova serie di numeri interi

    Definisce una nuova serie di tipo Integer (intero) e imposta i valori iniziali.

    MyIntegerValues = new integer(){1,2,3}

    Nuova serie di stringhe

    Definisce una nuova serie di tipo String (stringa) e imposta i valori iniziali.

    MyStringValues = new string(){string1,string2}

    Nuova serie di oggetti

    Definisce una nuova serie di tipo Object (oggetto) e imposta i valori iniziali.

    MyObjectValues = new object(){“string”,true,1.234}

    Elenco nuova serie

    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)

    Per ogni linea chiusa

    Attiva in sequenza i valori di una variabile Array o ArrayList.

    for each oval in MyVariableHeremsgbox(oval)next

    Funzioni Proprietà del materiale

    Per accedere alle funzioni Proprietà del materiale, espandere il nodo Proprietà materiale nella scheda Sistema dell'area Frammenti.

    Consultare la Guida dell'API di Inventor per ulteriori informazioni su queste funzioni.

    Funzioni Lamiera

    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.

    SheetMetal.SetActiveStyle

    Imposta la Regola lamiera attiva corrente. Questa funzione è equivalente alla selezione manuale di una Regola lamiera nella finestra di dialogo Valori di default lamiera.

    Sintassi

    SheetMetal.SetActiveStyle(“styleName”)

    “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.

    Esempi

    SheetMetal.SetActiveStyle(“styleName”)

    Specifica il nome di uno stile dall'elenco Regola lamiera:

    SheetMetal.SetActiveStyle(MyStyleParameter)

    Specifica un parametro di testo iLogic.

    SheetMetal.GetActiveStyle

    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.

    Esempio

    CurrentStyleParameter=SheetMetal.GetActiveStyle()

    SheetMetal.ActiveKFactor

    Consente di leggere il FattoreK attivo (un valore numerico).

    Esempi

    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.

    SheetMetal.FlatExtentsLength

    Ottiene la larghezza (dimensione X) delle estensioni modello piatto.

    SheetMetal.FlatExtentsWidth

    Ottiene la lunghezza (dimensione Y) delle estensioni modello piatto.

    SheetMetal.FlatExtentsArea

    Ottiene l'area (X * Y) delle estensioni modello piatto.

    Funzioni di disegno

    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.

    ThisDrawing

    Consente di aprire il disegno corrente in una regola.

    ActiveSheet

    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.

    ThisDrawing.Sheet

    Consente di accedere ad un foglio nel disegno.

    Sintassi

    ThisDrawing.Sheet(“sheetname”)

    ResourceFileName

    È 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.

    Esempio

    ThisDrawing.ResourceFileName = “DrawingResources1.idw”

    KeepExtraResources

    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.

    Esempio

    ThisDrawing.KeepExtraResources = False

    Funzioni Foglio

    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.

    Sintassi

    Sheet.ChangeSize (“value”,<MoveBorderItems = True>)

    value

    Il valore della nuova dimensione.

    MoveBorderItems

    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.

    Esempi

    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.

    Sintassi

    Sheet.ChangeSize (customHeight, customWidth, <MoveBorderItems = True>)

    height

    L'altezza in unità del documento.

    width

    La larghezza in unità del documento.

    MoveBorderItems

    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.

    Esempi

    ActiveSheet.ChangeSize (7.2, 4)
    ActiveSheet.ChangeSize ( 7.2, 4, MoveBorderItems = False)

    Sheet.Border

    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.

    Esempi

    ActiveSheet.Border = “OtherBorder”
    currentName = ActiveSheet.Border

    Sheet.TitleBlock

    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.

    Esempi

    ActiveSheet.TitleBlock = “ANSI - A”
    currentName = ActiveSheet.TitleBlock

    Esempio con un file di origine esterno -

    ThisDrawing.ResourceFileName = “DrawingResources1.idw”
    ActiveSheet.TitleBlock = “Custom - A”

    ActiveSheet.Name

    Consente di ottenere il nome del foglio.

    ActiveSheet.Size

    Consente di ottenere la dimensione del foglio come stringa di testo, ad esempio "A" o "B0".

    ActiveSheet.Height

    Specifica l'altezza del foglio in unità di documento.

    ActiveSheet.Width

    Specifica la larghezza del foglio in unità di documento.

    ActiveSheet.View(“viewName”)

    Ottiene l'accesso ad una vista nel foglio.

    Funzioni Vista

    Le funzioni Vista per i disegni in genere agiscono sul foglio attivo (consigliato).

    View.Name

    Consente di ottenere il nome della vista.

    View.Height

    Specifica l'altezza della vista, in unità del documento di disegno.

    View.Width

    Specifica la larghezza della vista, in unità del documento di disegno.

    View.Scale

    Ottiene o imposta la scala della vista come numero.

    View.ScaleString

    Ottiene o imposta la scala della vista come stringa di testo, ad esempio "1:2" o "4.1".

    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  '

    VIEW2 è a destra di VIEW1.

    ActiveSheet.View("VIEW3").SpacingBetween("VIEW1") = -40 mm  '

    VIEW3 è sotto VIEW1.

    View.Balloons

    Consente di accedere ai numeri di riferimento nella vista.

    Funzioni Numero di riferimento

    Le funzioni Numero di riferimento per i disegni sono associate ad una determinata vista.

    Balloons.Reattach

    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.

    NotaQuesta funzione richiede che l'opzione Conserva annotazioni isolate venga impostata per il disegno (in Strumenti Opzioni Impostazioni documento). Se questa opzione non è impostata, la funzione ne esegue l'impostazione automaticamente.

    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).

    Balloons.DoNotAttachToComponent(“componentName”)

    Consente di specificare un componente che non richiede un numero di riferimento. componentName specifica la ricorrenza di un componente, ad esempio "Pin:1".

    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:

    • ThisDrawing è di tipo ICadDrawing.
    • Sheet è di tipo ICadSheet.
    • View è di tipo ICadView.

    ThisDrawing.Document

    Consente di aprire il documento di disegno sottostante. Restituisce un oggetto di tipo Inventor.DrawingDocument.

    ICadSheet.Sheet

    Consente di accedere al foglio sottostante. Restituisce un oggetto di tipo Inventor.Sheet.

    ICadView.View

    Consente di aprire l'oggetto vista sottostante. Restituisce un oggetto di tipo Inventor.DrawingView.

    ICadView.ModelDocument

    Consente di accedere al documento indicato in questa vista. Restituisce un oggetto di tipo Inventor.Document. Restituisce Nothing (nulla) se il documento non è una vista del modello.

    Funzioni dell'API avanzata

    ThisApplication

    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:

    app = InventorVb.Application

    ThisDoc.Document

    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.

    Sintassi

    doc = ThisDoc.Document

    È inoltre possibile accedere all'oggetto utilizzando la sintassi precedente:

    doc = iLogicVb.RuleDocument

    ModelDocument

    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.

    Sintassi

    doc = ThisDoc.ModelDocument

    Automation

    Consente di accedere all'oggetto iLogicAutomation in una regola.

    Sintassi

    auto = iLogicVb.Automation

    UserInterfaceManager

    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.

    Sintassi

    ThisApplication.UserInterfaceManager.UserInteractionDisabled = False

    InventorComponent

    Utilizzare questa funzione per ottenere l'accesso diretto ad un componente. Restituisce un oggetto di tipo Inventor.ComponentOccurrence.

    Sintassi

    compo = Component.InventorComponent(“componentName”)

    InventorFeature

    Ottiene l'accesso diretto ad una lavorazione. Questa funzione restituisce un oggetto di tipo Inventor.PartFeature.

    Sintassi

    feat = Feature.InventorFeature(“featureName”)

    InventorFeature (componente)

    Ottiene l'accesso diretto ad una lavorazione in un componente o in un documento.

    Sintassi

    feat = Feature.InventorFeature(componentOrDocNameName, “featureName”)