Risultati da 1 a 9 di 9
  1. #1
    Utente Standard L'avatar di Davimont
    Iscritto dal
    2007
    Messaggi
    485
    Professione
    Disegnatore meccanico Fai da te.
    Regione
    Lombardia
    Software
    Solid Edge ST8

    Predefinito Mostra nascondi componenti

    Capita spesso di nascondere momentaneamente dei componenti per una veloce verifica e poi di doverne rimostrare solo alcuni.
    Dall'area grafica non è più possibile individuarli e nell'albero è difficile trovare quello giusto.
    Secondo voi è complicato creare una macro che semplicemente inverte lo stato di visualizzazione? Tutto quello che è visibile lo nasconde e quello nascosto lo visualizza.
    In questo modo sarebbe un'attimo rimettere il flag al particolare da rimostrare.

    Nel cugino SolidWorks è presente questo comando ed è comodissimo.
    Grazie a chi vorrà aiutarmi.
    Imparare è un'esperienza; tutto il resto è solo informazione. A. Einstein

  2. #2
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2758
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    La macro io l'ho già fatta, il problema che al primo utilizzo su degli assiemi corposi è piuttosto lenta.

    La trovi in allegato.

    Fammi sapere come ti trovi.

    Ciao

    ShowHidden.rar
    Francesco
    Cintura nera di solid edge

  3. Il seguente utente ha ringraziato Be_on_edge per questo post

    Davimont (31-03-2016)

  4. #3
    Utente Junior
    Iscritto dal
    2011
    Messaggi
    12
    Professione
    Progettista
    Regione
    Friuli
    Software
    ThinkDesign/SolidEdge

    Predefinito

    Forte ... fa il cosidetto mostra/nascondi componente.
    Purtroppo su un assieme da 100 componenti al primo avvio risulta essere lentissimo.
    Peccato che in SE non ci sia in maniera nativa....
    Usavamo in azienda dove lavoro T3 e questo comando è presente da moltissimi anni.
    Provate, se avete occasione, questo comando in T3 (Thinkdesign), è davvero "Super".
    Abbiamo già inoltrato richiesta per integrarlo nativamente (già dalla ST3) ma ancora nulla.

    Be_on_edge, è possibile avere il sorgente della macro??

    Ciao

  5. #4
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2758
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    Codice:
    Dim objApp As SolidEdgeFramework.Application
    Dim objAsm As SolidEdgeAssembly.AssemblyDocument
    
    Dim occ_visible As New Collection
    Dim occ_hidden As New Collection
    
    Sub Main()
        
        Set objApp = GetObject(, "SolidEdge.Application")
        Set objAsm = objApp.ActiveDocument
        
        Call RevertView
        
    End Sub
    
    Sub RevertView()
        
        objApp.ScreenUpdating = False
        objApp.DelayCompute = True
        
        objAsm.SelectSet.SuspendDisplay
        
        Call collect_Occurrences(objAsm)   
        
        Call objApp.StartCommand(33072) ' ex 33094
        
        objAsm.SelectSet.RemoveAll
        
        For Each Item In occ_hidden
            
            objAsm.SelectSet.Add Item
            
        Next Item
        
        objApp.ScreenUpdating = True
        objApp.DelayCompute = False
        
        Call objApp.StartCommand(33093)
        
        objAsm.SelectSet.RemoveAll
        
        objAsm.SelectSet.ResumeDisplay
        
        Set objAsm = Nothing
        Set objApp = Nothing
        
        End
    
    End Sub
    
    Sub collect_Occurrences(asmRef As SolidEdgeAssembly.AssemblyDocument)
        
        For Each Item In asmRef.Occurrences
            
            If Item.Type <> igSubAssembly Then
            
                If Item.Visible = True Then
                    occ_visible.Add Item
                Else
                    occ_hidden.Add Item
                End If
                
            Else
                
                Call collect_subOccurrences(Item.SubOccurrences)
                
            End If
            
        Next Item
        
    End Sub
    
    Sub collect_subOccurrences(asmSub As SolidEdgeAssembly.SubOccurrences)
        
        For Each Item In asmSub
            
            If Item.SubOccurrenceDocument.Type <> igAssemblyDocument Then
            
                If Item.Visible = True Then
                    occ_visible.Add Item.Reference
                Else
                    occ_hidden.Add Item.Reference
                End If
                
            Else
                
                Call collect_subOccurrences(Item.SubOccurrences)
                
            End If
            
        Next Item
        
    End Sub
    Francesco
    Cintura nera di solid edge

  6. #5
    Utente Junior
    Iscritto dal
    2011
    Messaggi
    12
    Professione
    Progettista
    Regione
    Friuli
    Software
    ThinkDesign/SolidEdge

    Predefinito

    Grande, grazie.
    Vediamo se si riesce a renderlo più veloce

  7. #6
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2758
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    Citazione Originariamente Scritto da MdpMdp Visualizza Messaggio
    Grande, grazie.
    Vediamo se si riesce a renderlo più veloce
    Ho già fatto diverse prove ma meglio di così non sono riuscito ad andare.

    Ciao
    Francesco
    Cintura nera di solid edge

  8. Il seguente utente ha ringraziato Be_on_edge per questo post

    Davimont (23-03-2016)

  9. #7
    Utente Standard L'avatar di Davimont
    Iscritto dal
    2007
    Messaggi
    485
    Professione
    Disegnatore meccanico Fai da te.
    Regione
    Lombardia
    Software
    Solid Edge ST8

    Predefinito

    Be_on_edge ti ringrazio infinitamente. E' proprio quello che cercavo.
    Imparare è un'esperienza; tutto il resto è solo informazione. A. Einstein

  10. #8
    Utente Standard L'avatar di Davimont
    Iscritto dal
    2007
    Messaggi
    485
    Professione
    Disegnatore meccanico Fai da te.
    Regione
    Lombardia
    Software
    Solid Edge ST8

    Predefinito

    Segnalo un'errore che esce usando la macro.
    L'ho usata già su altri assiemi senza nessun problema ma oggi con un nuovo assieme mi dice

    errore.png
    Uso SE ST7 MP11.

    Chiuso l'errore mi si blocca l'area grafica. E' possibile cliccare sui comandi e anche muovere l'orbita 3D ma non si vede muovere niente.
    Posso solo chiudure e riaprire il programma.
    Imparare è un'esperienza; tutto il resto è solo informazione. A. Einstein

  11. #9
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2758
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    Citazione Originariamente Scritto da Davimont Visualizza Messaggio
    Segnalo un'errore che esce usando la macro.
    L'ho usata già su altri assiemi senza nessun problema ma oggi con un nuovo assieme mi dice

    errore.png
    Uso SE ST7 MP11.

    Chiuso l'errore mi si blocca l'area grafica. E' possibile cliccare sui comandi e anche muovere l'orbita 3D ma non si vede muovere niente.
    Posso solo chiudure e riaprire il programma.
    La macro disabilita l'area grafica per accellerare le prestazioni; se come a te va in crash nessuno poi la riabilita.
    Se lanci nuovamente la macro ed arriva fino in fondo te la dovrebbe riabilitare.
    Occorre insere una routine di controllo errore che nel caso riabilita l'area grafica.

    Sarebbe poi interessante come riprodurre questo crash
    Francesco
    Cintura nera di solid edge


  • Discussioni Simili

    1. Risposte: 13
      Ultimo Messaggio: 10-10-2015, 23: 27
    2. MOSTRA/NASCONDI/PROMUOVI
      Di ale1190 nel forum Solidworks
      Risposte: 1
      Ultimo Messaggio: 31-05-2013, 00: 12
    3. Mostra - Nascondi – Promuovi in distinta
      Di saracf nel forum Solidworks
      Risposte: 20
      Ultimo Messaggio: 20-02-2013, 09: 38
    4. mostra / nascondi pubblicazioni
      Di falonef nel forum CATIA V5 Infrastructure
      Risposte: 14
      Ultimo Messaggio: 21-06-2009, 23: 32
    5. Visualizzazione Nascondi/Mostra Elementi
      Di pierluigip nel forum Solidworks
      Risposte: 1
      Ultimo Messaggio: 18-08-2008, 14: 16

    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