Risultati da 1 a 10 di 10
  1. #1
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    453
    Professione
    disegnatore
    Regione
    piemonte
    Software
    autocad-inv2015-solid2015

    Predefinito creare parametri con vba

    Buongiorno a tutti

    ho trovato su intrenet queste righe di vba che dovrebbero creare un parametro "NewParam1" al'interno di in file parte assieme??? non so di inventor

    il tutto non funziona, qualcuno mi sa dare un amano e dirmi cos ace che non va???

    Sicuramente manca qualche pezzo ma non so cosa e dove


    Sub prova()
    Dim oUserParams As UserParameters
    Set oUserParams = oCompDef.Parameters.UserParameters
    Dim oParam As Parameter
    Set oParam = oUserParams.AddByExpression("NewParam1", "3", _
    kInchLengthUnits)

    End Sub

    grazie mille

  2. #2
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Visto che la defininizione di "parte assieme" è per me particolarmente fumosa ho aggiornato l'esempio che si rova nell'help di Inventor (? in alto a destra> ? > Guida di programmazione/API>Sample programs>General>Parameters) da cui credo siano state state estratte alla membro di levriero le righe che hai trovato in rete. L'esempio originale funzionava solo con i file parte; questo anche con i file assieme. Il codice che hai trovato era privo delle righe di codice dove si dice al programma su cosa agire, ovvero nel nostro caso l'"activeEditDocument" ovvero il documento che stai editando al momento del lancio della macro.

    Codice:
    Public Sub CreateParameters()
        ' Get the active document.
        Dim oDoc As Document
        Set oDoc = ThisApplication.ActiveEditDocument
        
        ' Get the UserParameters collection
        Dim userParams As UserParameters
        
    
        Select Case oDoc.DocumentType
            Case kAssemblyDocumentObject
                Dim oAssy As AssemblyDocument
                Set oAssy = oDoc
                Set userParams = oAssy.ComponentDefinition.Parameters.UserParameters
            
            Case kPartDocumentObject
                Dim oPart As PartDocument
                Set oPart = oDoc
                Set userParams = oPart.ComponentDefinition.Parameters.UserParameters
            
            Case Else
                MsgBox ("Errore")
                Exit Sub
        End Select
        
        
        
        ' Create a parameter using an expression.  The parameters unit is specified
        ' as millimeters, but the value of the parameter will be 3 inches because
        ' the unit is specified as part of the expression.
        Dim param As Parameter
        Set param = userParams.AddByExpression("NewParam1", "3 in", kMillimeterLengthUnits)
        
        ' Create a parameter using a value.  When setting by value, the value is always
        ' in database units.  In this case it is a length so it will always be in
        ' centimeters.  The units used for the parameter will be the current length units
        ' of the document because it's defined to use the default display length units.
        Set param = userParams.AddByValue("NewParam2", 3 * 2.54, kDefaultDisplayLengthUnits)
    End Sub
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  3. #3
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    453
    Professione
    disegnatore
    Regione
    piemonte
    Software
    autocad-inv2015-solid2015

    Predefinito

    grazie mille catafratto ..ora funziona...
    ti presento un altro problema... questa macro dovrebbe cambiarmi il fattore k al componente in lamiera...sempre trovata su internet...questa parte e poi si pianta dove vedi la scritta in giallo...mi sai dire perché??? io ho inv 2015 ho provato a cercare nella libreria oggetti ma il "activeUnfoldMethod" non lo trova...e per quello che si pianta??? e se si come si risolve???
    solo tu catafratto che sei molto ferrato su vba mi puoi dare una mano

    grazie ancora

    fattore k.PNG

  4. #4
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Prova con ... = oSheetMetalStyle.UnfoldMethod

    Quando non trovi qualcosa prova a cercare ... un punto prima, ovvero se non trovi UnfoldMethod cerca sheetMetalStyle.

    E soprattutto dai un'occhiata agli esempi nel posto dove ho indicato prima che c'è l'esempio che mostra come accedere alle caratteristiche dello sheetmetal (insieme ad un altra decina di esempi vari sull'argomento)
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  5. #5
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    453
    Professione
    disegnatore
    Regione
    piemonte
    Software
    autocad-inv2015-solid2015

    Predefinito

    ok.catafratto...pero oltre a quello come mai ActivUnfoldMethod nella libreria degli oggetti che ho io no lo trovo???...questi possono cambiare da versione a versione di inventor???

    ho provato a sostituirlo con quello che hai scritto tu...adesso la macro si pianta più avanti e non so cosa fare


    Cattura3.PNG

    perché li dopo il punto il value non me lo trova???

  6. #6
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    ActiveUnfolMethod non lo trovi perché non c'é
    UnfoldMethod.Value dà errore perchè non c'é
    UnfoldMethod.kFactor c'è e ti compare tra le scelte dopo la digitazione del '.' di "oUnfoldMethod."

    Usa l'help: devi averlo sempre aperto, mica è roba che impari a memoria ma roba che impari a cercare. Fa prove. Fa ca££ate e vedi che succede. Cambia sito dove trovi il codice (o assicurati che non sia postato da qualcuno che chiede come mai non funziona )
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  7. #7
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    453
    Professione
    disegnatore
    Regione
    piemonte
    Software
    autocad-inv2015-solid2015

    Predefinito

    Ciao catafratto...innanzitutto grazie...adesso funziona...pero io quella macro la scritta Brian Ekins che e uno sviluppatore autodesk...scrive un sacco di forum e molti tutorial...mi sembra strano che scriva delle stringhe che non esistono...sai dirmi qualcosa di piu???..

  8. #8
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Che ha fatto un errore, visto che non funziona :-)
    So chi è Ekins, leggo sempre il suo blog ed è bravissimo ma è un essere umano e qualcosa può scappargli. Oppure il codice è vecchio e qualcosa è cambiato nel frattempo. Oppure ci sono dei pezzi che mancano. Oppure mille altre cose che dipendono dal contesto in cui è stata scritta la cosa (posta il link se vuoi). Comunque vedi anche tu, no? con .Value non va, con .kFactor va. Nell'help UnfoldMethod.Value non c'è, UnfoldMethod.kFactor c'è.
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  9. #9
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    453
    Professione
    disegnatore
    Regione
    piemonte
    Software
    autocad-inv2015-solid2015

    Predefinito

    https://forums.autodesk.com/t5/inven...a/td-p/1776539
    Io che sono alle prime armi...mi copio delle macro per capire come funzionano e di conseguenza a ritroso cercre i collegamenti tra i vari oggetti...e cerco quelle di persone che so sanno quel che fanno...per se poi danno problemibio non sono ancora in grado di capire se e un errore della macro ho un problema legato al mio vba...

  10. #10
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Incuriosito ho fatto una ricerca, credo di aver trovato il post ed è del 2006, tante cose sono cambiate da allora. Stando all'help il .kFactor è stato introdotto nel 2009. Grossi aggiornamenti nella struttura di Inventor si ripercuotono sulle API (mi pare gli stili lamiera non fossero in libreria una volta).
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...


  • Discussioni Simili

    1. ASSIEME: creare parametri generali per l'assieme
      Di PietroDega nel forum Inventor
      Risposte: 0
      Ultimo Messaggio: 11-08-2015, 13: 05
    2. Creare disegni con Autolisp leggendo parametri da Excel
      Di heyyoshinkoredo nel forum Lisp per Autocad
      Risposte: 5
      Ultimo Messaggio: 15-04-2014, 20: 08
    3. Parametri
      Di bertu nel forum Inventor
      Risposte: 1
      Ultimo Messaggio: 29-01-2014, 18: 04
    4. Creare libreria stili e creare pieghe schiacciate
      Di AlessioOvo nel forum Inventor
      Risposte: 0
      Ultimo Messaggio: 21-09-2013, 23: 53
    5. PARAMETRI
      Di CLAUDIO-72 nel forum CATIA V5 CATPart
      Risposte: 4
      Ultimo Messaggio: 26-08-2008, 09: 01

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  





    CAD3D.it - la community dei progettisti