Pagina 2 di 3 PrimaPrima 123 UltimaUltima
Risultati da 11 a 20 di 28

Discussione: sposta / copia

  1. #11
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    239
    Professione
    designer
    Regione
    bergamo
    Software
    nessuno

    Predefinito

    vicolare va bene, solo che è più lento mettere ogni volta tre vincoli che fare uno sposta/copia come in altri software.
    Se devo copiare un pezzo 25 volte spostandomi supponiamo solo in X ma sempre di valori diversi (tipo 100, 120, 80, 75, 45, 120, ec...) e devo rivincolare, devo mettere 25x3=75 vincoli!

  2. #12
    Utente Standard L'avatar di arzigogolo
    Iscritto dal
    2008
    Messaggi
    408
    Professione
    Disegnatore
    Regione
    LOMBARDIA
    Software
    INVENTOR PRO 2015, Pro/e w 5.0, Solidworks 2012

    Predefinito

    Citazione Originariamente Scritto da braunfish Visualizza Messaggio
    vicolare va bene, solo che è più lento mettere ogni volta tre vincoli che fare uno sposta/copia come in altri software.
    Se devo copiare un pezzo 25 volte spostandomi supponiamo solo in X ma sempre di valori diversi (tipo 100, 120, 80, 75, 45, 120, ec...) e devo rivincolare, devo mettere 25x3=75 vincoli!
    Giusto! Allora, all'uopo, usi il comando "serie" e copi l'oggetto in X per tutti i valori che vuoi, es: fai la prima serie con valore 100 selezionando il componente originale. Poi fai la seconda serie, questa volta selezionando il componente serializzato/copiato e gli dai come valore 120 e così via, avendo l'accortezza di selezionare per ogni nuova serie, l'ultimo componente selezionato della serie precedente.

    Prova così, dovresti riuscire.

  3. #13
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    692
    Professione
    mah!
    Regione
    .
    Software
    Inv + SW(purtroppo)

    Predefinito

    arzigogolo, ma tu hai provato a fare come dici ? funziona ?

  4. #14
    Utente Standard L'avatar di arzigogolo
    Iscritto dal
    2008
    Messaggi
    408
    Professione
    Disegnatore
    Regione
    LOMBARDIA
    Software
    INVENTOR PRO 2015, Pro/e w 5.0, Solidworks 2012

    Predefinito

    Citazione Originariamente Scritto da MauroM Visualizza Messaggio
    arzigogolo, ma tu hai provato a fare come dici ? funziona ?
    Certo funziona, ma hai ragione anche tu perchè mi sono dimenticato di elencare un passaggio importante e cioè: prima di selezionare l'ultimo elemento della serie, devi andare nel browser e cliccare col tasto DX sull'ultimo elemento, poi dal menu contestuale selezionare "indipendente".

    Così facendo quando lo vai a selezionare per creare un'altra serie, ti seleziona solo l'ultimo e non anche l'elemento originario che altrimenti, non rendendolo indipendente, verrebbe selezionato anch'esso perchè il comando non lo riconosce come singolo, ma come facente parte della serie e pertanto selezionato a prescindere.

    Io ho provato e funziona. Se poi vuoi renderlo nuovamente "dipendente", non fai altro che cliccare col tasto DX e togliere la spunta a "indipendente".

    Aspetta però... ho provato a trascinare col mouse i componenti serializzati e si spostano, per cui non va bene per quello che vuoi fare tu.
    L'unica strada secondo me, è creare tutte le serie che ti servono fregandotene se ti seleziona anche i componenti precedenti e andare poi a sopprimere le istanze che non ti interessano nel browser col tasto DX del mouse.
    Così facendo, tutte le copie o istanze sono bloccate nella loro posizione. Poi se esiste un'altra strada non saprei. Io farei così.

  5. #15
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    692
    Professione
    mah!
    Regione
    .
    Software
    Inv + SW(purtroppo)

    Predefinito

    rendendolo indipendente però perdi tutti i vincoli e te lo ritrovi "fluttuante", basta un niente e si sposta, mi sembra una soluzione poco pratica.

  6. #16
    Utente Standard L'avatar di arzigogolo
    Iscritto dal
    2008
    Messaggi
    408
    Professione
    Disegnatore
    Regione
    LOMBARDIA
    Software
    INVENTOR PRO 2015, Pro/e w 5.0, Solidworks 2012

    Predefinito

    Citazione Originariamente Scritto da MauroM Visualizza Messaggio
    rendendolo indipendente però perdi tutti i vincoli e te lo ritrovi "fluttuante", basta un niente e si sposta, mi sembra una soluzione poco pratica.
    Infatti me ne sono accorto e ho aggiunto una possibile soluzione nel mio post precedente pochi minuti fa. Prova a controllare se è apparsa, nel caso la riposto.

  7. #17
    Utente Senior L'avatar di Tarkus
    Iscritto dal
    2007
    Messaggi
    2339
    Professione
    Progettista,Disegnatore
    Regione
    Toscana
    Software
    Autocad Mechanical,Inventor 2017,HyperMill2012

    Predefinito

    Citazione Originariamente Scritto da MauroM Visualizza Messaggio
    rendendolo indipendente però perdi tutti i vincoli e te lo ritrovi "fluttuante", basta un niente e si sposta, mi sembra una soluzione poco pratica.
    Citazione Originariamente Scritto da arzigogolo Visualizza Messaggio
    Infatti me ne sono accorto e ho aggiunto una possibile soluzione nel mio post precedente pochi minuti fa. Prova a controllare se è apparsa, nel caso la riposto.
    L'idea di arzigogolo e' buona.
    Per ovviare alla perdita di vincolo, si puo' mettere la spunta "fissato" al primo elemento, viene messa in automatico anche agli altri elementi.
    Va detto che va bene solo se poi non devi muovere tutta la/le serie.
    Piuttosto un difetto:
    Viene fatta una serie sempre dell'ultimo elemento, non del primo.
    Cosi' se sposti l'elemento, che so', della serie n° 3 ti si spostano a cascata anche gli elementi creati con serie successsive.
    Certo, se i bravi sviluppatori di Inventor pensassero a risolvere piccoli problemi come una "serie a distanze diverse" piuttosto che renderci felici con la visualizzazione tipo filigrana....
    Saluti
    Tarkus

  8. #18
    Utente Standard L'avatar di arzigogolo
    Iscritto dal
    2008
    Messaggi
    408
    Professione
    Disegnatore
    Regione
    LOMBARDIA
    Software
    INVENTOR PRO 2015, Pro/e w 5.0, Solidworks 2012

    Predefinito

    Citazione Originariamente Scritto da Tarkus Visualizza Messaggio
    L'idea di arzigogolo e' buona.
    Per ovviare alla perdita di vincolo, si puo' mettere la spunta "fissato" al primo elemento, viene messa in automatico anche agli altri elementi.
    Va detto che va bene solo se poi non devi muovere tutta la/le serie.
    Piuttosto un difetto:
    Viene fatta una serie sempre dell'ultimo elemento, non del primo.
    Cosi' se sposti l'elemento, che so', della serie n° 3 ti si spostano a cascata anche gli elementi creati con serie successsive.
    Certo, se i bravi sviluppatori di Inventor pensassero a risolvere piccoli problemi come una "serie a distanze diverse" piuttosto che renderci felici con la visualizzazione tipo filigrana....
    ahahah.. vero!
    Certo, non è proprio una bella soluzione quella che ho proposto, non piace neanche a me perchè tocca a star lì a sopprimere tutte le istanze che non interessano ed è barboso cercarle nell'albero del browser.

    Ma come dici giustamente tu, non potevano fare in modo che si potesse selezionare solo un componente della serie senza doverli slezionare tutti per forza?
    E dire che siamo arrivati alla versione 2012, ma cosa aspettano ad inserire queste piccole migliorie che poi tanto piccole non sono e che semplificano non poco la vita di noi disegnatori? La versione 2020? Solidworks per esempio, se selezioni l'ultimo componente della serie per crearne un'altra, ti seleziona solo quello e non il componente originale con le eventuali instanze. In questo senso è fatto meglio.
    Io non so veramente cosa aspettino... che ci venga la barba bianca?

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

    Predefinito

    Questa macro, da copiare nel VBA Default.ivb (Progetto APPLICAZIONE) dovrebbe fare quanto richiesto ovvero:
    - Selezioni qualcosa nell'assieme;
    - Ne fa una copia e la sovrappone all'elemento selezionato;
    - Crea i vincoli tra i piani origine degli elementi;
    - Chiede il delta da applicare (il valore da piazzare nel vincolo)

    Ho fatto dei test veloci, mi pare funzioni.
    Provate e ditemi.

    Public Sub MoveOccurrence()
    ' Set a reference to the assembly
    Dim oAssy As AssemblyDocument
    Set oAssy = ThisApplication.ActiveEditObject

    ' Set a reference to the assembly component definintion.
    Dim oAsmCompDef As AssemblyComponentDefinition
    Set oAsmCompDef = oAssy.ComponentDefinition

    ' Get an occurrence from the select set.
    On Error Resume Next
    Dim oOcc As ComponentOccurrence
    Dim oOccCpy As ComponentOccurrence

    Set oOcc = ThisApplication.CommandManager.pick(kAssemblyOccur renceFilter, "Scegli un elemento")

    ' Get the current transformation matrix from the occurrence.
    Dim oTransform As Matrix
    Set oTransform = oOcc.Transformation

    Dim oMove As Matrix
    Dim oOrig As Matrix
    Set oOrig = oOcc.Transformation

    Set oOccCpy = oAsmCompDef.Occurrences.AddByComponentDefinition(o Occ.Definition, oOcc.Transformation)

    Call AlignOccurrencesWithConstraints(oAssy, oOcc, oOccCpy)
    End Sub


    Public Sub AlignOccurrencesWithConstraints(oAssy As AssemblyDocument, oOcc1 As ComponentOccurrence, oOcc2 As ComponentOccurrence)

    Dim BaseXY As WorkPlane
    Dim BaseYZ As WorkPlane
    Dim BaseXZ As WorkPlane
    Call GetPlanes(oOcc1, BaseXY, BaseYZ, BaseXZ)

    Dim constraints As AssemblyConstraints
    Set constraints = oAssy.ComponentDefinition.constraints

    ' Move it to the base occurrence so that if the base is
    ' not fully constrained it shouldn't move when the flush
    ' constraints are added.
    oOcc2.Transformation = oOcc1.Transformation

    ' Get the planes from the occurrence
    Dim occPlaneXY As WorkPlane
    Dim occPlaneYZ As WorkPlane
    Dim occPlaneXZ As WorkPlane
    Call GetPlanes(oOcc2, occPlaneXY, occPlaneYZ, occPlaneXZ)

    ' Add the flush constraints.
    Call constraints.AddFlushConstraint(BaseXY, occPlaneXY, InputBox("Delta X =", 0))
    Call constraints.AddFlushConstraint(BaseYZ, occPlaneYZ, InputBox("Delta Y =", 0))
    Call constraints.AddFlushConstraint(BaseXZ, occPlaneXZ, InputBox("Delta Z =", 0))

    End Sub

    ' Utility function used by the AlignOccurrencesWithConstraints macro.
    ' Given an occurrence it returns the base work planes that are in
    ' the part or assembly the occurrence references. It gets the
    ' proxies for the planes since it needs the work planes in the
    ' context of the assembly and not in the part or assembly document
    ' where they actually exist.
    Private Sub GetPlanes(ByVal Occurrence As ComponentOccurrence, _
    ByRef BaseXY As WorkPlane, _
    ByRef BaseYZ As WorkPlane, _
    ByRef BaseXZ As WorkPlane)
    ' Get the work planes from the definition of the occurrence.
    ' These will be in the context of the part or subassembly, not
    ' the top-level assembly, which is what we need to return.
    Set BaseXY = Occurrence.Definition.WorkPlanes.Item(3)
    Set BaseYZ = Occurrence.Definition.WorkPlanes.Item(1)
    Set BaseXZ = Occurrence.Definition.WorkPlanes.Item(2)

    ' Create proxies for these planes. This will act as the work
    ' plane in the context of the top-level assembly.
    Call Occurrence.CreateGeometryProxy(BaseXY, BaseXY)
    Call Occurrence.CreateGeometryProxy(BaseYZ, BaseYZ)
    Call Occurrence.CreateGeometryProxy(BaseXZ, BaseXZ)
    End Sub
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

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

    Predefinito

    Per aiutare chi non sa come e dove copiare:
    - ALT-F11 per accedere alla chermata VBA (Visual Basic for Application)
    - Come vedrete in alto a SX c'e un pannello, espandete Progetto Applicazione (NON progetto documento) la sottocartella Modules
    - Dovrebbe esserci già Modulo1 (potete inserirne o importarne altri come si vede nel menù in figura allegata)
    - Doppio click su Modulo1 e fate un Copia e Incolla della macro postata. Se tutto va bene il codice sarà nero ed i commenti verdi, le righe rosse hanno problemi (tipo copiato male)
    - Personalizzate i comandi utente pe avere un pulsante che attiva la macro.

    Ciao a tutti!
    Immagini Allegate Immagini Allegate
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...


  • Pagina 2 di 3 PrimaPrima 123 UltimaUltima

    Discussioni Simili

    1. Utility Copia/Ruota - Sposta/Ruota - Inserimento valore superficie
      Di PlannerRoad nel forum Lisp per Autocad
      Risposte: 19
      Ultimo Messaggio: 29-06-2017, 15: 45
    2. Sposta parte da assieme
      Di Marco74 nel forum Solid Edge
      Risposte: 2
      Ultimo Messaggio: 21-11-2008, 00: 05
    3. [Recuperato] sposta ruota copia
      Di Oldwarper nel forum Solidworks
      Risposte: 0
      Ultimo Messaggio: 22-02-2008, 15: 51
    4. Ucs che si sposta
      Di Von zipper nel forum AutoCAD
      Risposte: 8
      Ultimo Messaggio: 13-02-2008, 15: 21

    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