Risultati da 1 a 7 di 7
  1. #1
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    13
    Professione
    disegnatore
    Regione
    Lombardia
    Software
    INVENTOR 2008

    Predefinito Macro per cambiare colore alle facce di un solido

    Ciao a tutti,
    io ho un problema di questo tipo.Spesso i modelli 3d che i miei fornitori mi passano in formato step hanno le superfici colorate e non mi permettono di cambiare colore a tutto il componente quando poi lo vado a riutilizzare in un assieme.A questo proposito ho cercato sul web ed ho trova la macro riportata qui sotto solo che al momento di utilizzarla mi dà il seguente messaggio:

    Errore di run-time '13':
    Tipo non corrispondente

    ed eseguendo il debug mi va ad evidenziare la stringa che qui sotto ho colorato di rosso.
    Qualcuno mi sà dare una mano?
    Il computer è una workstation Dell precision T5400 con Vista 64 ed inventor suite 2008
    Grazie anticipatamente


    Public Sub Faces_As_PartRenderStyle()

    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument

    Dim oCompDef As ComponentDefinition
    Set oCompDef = oPartDoc.ComponentDefinition

    Dim oFaces As Faces
    Dim oFace As Face

    Dim oSurfBodies As SurfaceBodies
    Dim oSurfBody As SurfaceBody
    Set oSurfBodies = oCompDef.SurfaceBodies
    For Each oSurfBody In oSurfBodies
    Set oFaces = oSurfBody.Faces
    For Each oFace In oFaces
    oFace.SetRenderStyle kPartRenderStyle
    Next
    Next

    End Sub

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

    Predefinito

    Citazione Originariamente Scritto da resquas Visualizza Messaggio
    Ciao a tutti,
    io ho un problema di questo tipo.Spesso i modelli 3d che i miei fornitori mi passano in formato step hanno le superfici colorate e non mi permettono di cambiare colore a tutto il componente...
    mi risulta invece che si riesca a cambiare il colore, puoi postare un file?

  3. #3
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    13
    Professione
    disegnatore
    Regione
    Lombardia
    Software
    INVENTOR 2008

    Predefinito

    In effetti hai ragione se uso la parte in un assieme posso cambiare colore mentre non riesco a cambiarlo a se stesso,dovrei selezionare a manina tutte le suerfici e,in proprietà faccia, mettere "come parte" allo stile...
    infatti la macro dovrebbe fare tutto sto sporco lavoro...
    ho postato un file d'esempio
    File Allegati File Allegati

  4. #4
    Utente Standard L'avatar di Peppe
    Iscritto dal
    2007
    Messaggi
    783
    Professione
    Impiegato
    Regione
    Emilia Romagna
    Software
    inventor

    Predefinito

    Nel browser apri corpi solidi - selezioni il solido - tasto dx - proprietà e selezioni il colore - METTERE spunta su rimuovi sostituzione

  5. #5
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    13
    Professione
    disegnatore
    Regione
    Lombardia
    Software
    INVENTOR 2008

    Predefinito

    si,in genere funziona ma se provi con il file che ho postato vedrai che non lo fa...presumo sia perchè inventor veda come primario l'impostazione di ogni singola faccia rispetto al solido intero(ad eccezione dell'impostazione "come parte")

    Qualcuno comunque ha idea di cosa non vada nella macro?

  6. #6
    Utente Standard L'avatar di Peppe
    Iscritto dal
    2007
    Messaggi
    783
    Professione
    Impiegato
    Regione
    Emilia Romagna
    Software
    inventor

    Predefinito

    Citazione Originariamente Scritto da resquas Visualizza Messaggio
    si,in genere funziona ma se provi con il file che ho postato vedrai che non lo fa...presumo sia perchè inventor veda come primario l'impostazione di ogni singola faccia rispetto al solido intero(ad eccezione dell'impostazione "come parte")

    Qualcuno comunque ha idea di cosa non vada nella macro?
    Con la 2011 funziona..... però vedo che hai 2008
    L'ho convertito in stp.... provalo


    Cattura.JPG


    stp.zip

  7. #7
    Utente poco attivo
    Iscritto dal
    2011
    Messaggi
    6
    Professione
    Aspirante progettista
    Regione
    Toscana
    Software
    Autocad, Inventor, Solid Edge

    Predefinito

    Citazione Originariamente Scritto da resquas Visualizza Messaggio
    Ciao a tutti,
    io ho un problema di questo tipo.Spesso i modelli 3d che i miei fornitori mi passano in formato step hanno le superfici colorate e non mi permettono di cambiare colore a tutto il componente quando poi lo vado a riutilizzare in un assieme.A questo proposito ho cercato sul web ed ho trova la macro riportata qui sotto solo che al momento di utilizzarla mi dà il seguente messaggio:

    Errore di run-time '13':
    Tipo non corrispondente

    ...
    Io ho provato con la 2010 e devo dire che inizialmente la macro mi si bloccava, poi con delle piccole modifiche mi funziona anche se, almeno nel mio caso è terribilmente lenta (non so se per le modifiche o perchè su questa macchina ho "solo" 2 GB di RAM). L'errore che segnali tu mi si verifica solo se tento di lanciare la macro originale senza nessun documento aperto, mentre se apro ad esempio il file postato da te, funziona tutto.
    Ho apportato piccolissime modifiche alla macro, anche se non ho cambiato il funzionamento originale, inserendo un DoEvents nel ciclo di scansione delle faccie (che almeno nel mio caso è stato necessario perchè altrimenti mi si bloccava il PC) e controllato che sia aperto un documento prima di iniziare. Oltre alle modifiche che ho fatto io, bisognerebbe disablitare l'update dello schermo ad ogni modifica di superficie (probabilmente imputabile proprio al DoEvents aggiunto), ma non ci sono riuscito. Posto le modifiche apportate allo script giusto per vedere se con questo riesci ad eseguire il cambio di colore o meno.
    ---------------------------------------------------------------------
    Sub Faces_As_PartRenderStyle()
    Dim CurrentBody As Long
    Dim CurrentFaces As Long

    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument

    If (Not (oPartDoc Is Nothing)) Then
    If (Not (oPartDoc.ComponentDefinition Is Nothing)) Then
    Dim oCompDef As ComponentDefinition
    Set oCompDef = oPartDoc.ComponentDefinition

    Dim oFaces As Faces
    Dim oFace As Face

    Dim oSurfBodies As SurfaceBodies
    Dim oSurfBody As SurfaceBody

    Set oSurfBodies = oCompDef.SurfaceBodies

    CurrentBody = 0
    CurrentFaces = 0
    For Each oSurfBody In oSurfBodies
    CurrentBody = CurrentBody + 1
    Debug.Print "Body " + Str(CurrentBody) + "/" + Str(oSurfBodies.Count)

    Set oFaces = oSurfBody.Faces
    For Each oFace In oFaces
    CurrentFace = CurrentFace + 1
    Debug.Print "Face " + Str(CurrentFace) + "/" + Str(oFaces.Count)

    oFace.SetRenderStyle kPartRenderStyle

    DoEvents
    Next
    Next
    Else
    MsgBox "Nessuna parte definita nel progetto corrente"
    End If
    Else
    MsgBox "Nessun progetto aperto"
    End If
    End Sub


  • Discussioni Simili

    1. Cambiare colore alle features, protusione, faccia
      Di Danlau nel forum Solid Edge
      Risposte: 24
      Ultimo Messaggio: 31-08-2017, 12: 43
    2. Cambiare font alle annotazioni nei customer default
      Di Sagoma nel forum NX (Unigraphics)
      Risposte: 2
      Ultimo Messaggio: 08-10-2009, 19: 21
    3. Attributi parametrici alle facce di un solido
      Di simlaz nel forum NX (Unigraphics)
      Risposte: 9
      Ultimo Messaggio: 06-08-2009, 17: 02
    4. Riattaccare facce alle Mate Conditions
      Di cubalibre00 nel forum NX (Unigraphics)
      Risposte: 15
      Ultimo Messaggio: 14-05-2009, 22: 00
    5. cambiare colore a facce,parti o assiemi
      Di resquas nel forum Inventor
      Risposte: 4
      Ultimo Messaggio: 24-01-2009, 17: 25

    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