Utilizzare le funzioni di iPart e iAssembly per gestire le configurazioni di iPart e di iAssembly in un assieme. È possibile utilizzare una regola per modificare la configurazione corrente di una iPart o di un iAssembly in base alle condizioni e alla logica definite.
Queste funzioni operano in modo analogo per iAssembly e iPart, salvo il fatto che i parametri personalizzati possono essere utilizzati solo per le iPart. Per utilizzare la funzione per un iAssembly, è possibile sostituire iPart con iAssembly quando si specifica la funzione.
Per accedere alle funzioni di iPart e iAssembly, espandere il nodo iPart nella scheda Sistema dell'area Frammenti.
Funzioni simili sono disponibili per le iFeature. Vedere Funzioni iFeature per ulteriori informazioni.
Consente di modificare la riga attiva in una tabella di iPart o di iAssembly.
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 seguente sintassi 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 a un'istruzione condizionale che valuta un parametro utente di Inventor Port_1_Size. Per gestire la configurazione della iPart attiva, è necessario specificare nella funzione solo il nome componente della iPart port_1_Flange_screw e il nome membro della tabella di iPart Screw-01:
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
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)
Una volta individuata una riga mediante iPart.FindRow, questa funzione legge 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 o iPart.ChangeRow.
“columnName”
Nome della colonna della tabella di iPart desiderata.
Esempio
In questo esempio, nella colonna Port_Size della tabella di iPart port_1_flare_flange viene eseguita la ricerca di un valore esatto che corrisponda al valore del parametro di Inventor Port_1_Size. Una volta trovata la riga, viene utilizzato iPart.CurrentRowValue per recuperare le quote dalle colonne A_dim e B_dim della tabella. Quindi, vengono assegnati i valori corrispondenti ai parametri di Inventor Port_1_screw_A_dim e Port_1_screw_B_dim:
i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size) Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim") Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")
Una volta individuata una riga 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 le 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.
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.
Sintassi
iPart.RowName("iChangedComponentName:1")
Esempio
memberName = iPart.RowName("port_1_flange_screw:1")
Consente di ottenere il numero di riga della riga attiva in un'istanza componente iPart o iAssembly.
Sintassi
iPart.RowNumber("iChangedComponentName:1")
Esempio
rowNumber = iPart.RowNumber("port_1_flange_screw:1")
Questa funzione, se utilizzata insieme a 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.