Soppressione stato modello diverse lunghezze

Limo9

Utente poco attivo
professione: Progettista meccanico
software: Inventor
regione: Lombardia
Ciao a tutti,
sto realizzando un assieme che, tramite gli stati modello, può allungarsi o accorciarsi.

Oltre allo stato modello "reale", ho bisogno di generare una variante STEP (per ogni lunghezza) dove, tramite una rivoluzione, vado a "rimuovere" i particolari interni.

Il problema è che i componenti generati tramite ripetizioni vengono rimossi dalla rivoluzione quando seleziono uno stato modello più corto, e non vengono più inclusi quando torno a uno stato più lungo.

Avete qualche soluzione da suggerire?
Magari spostare le versioni STEP semplificate da un’altra parte (sempre nello stesso file)?

La funzione "Semplifica" non la conosco molto bene.

Grazie!

1754467013286.png1754467022008.png1754467040504.png1754467033648.png
 

Peppe

Utente Senior
professione: Impiegato
software: inventor
regione: Emilia Romagna
Ciao a tutti,
sto realizzando un assieme che, tramite gli stati modello, può allungarsi o accorciarsi.

Oltre allo stato modello "reale", ho bisogno di generare una variante STEP (per ogni lunghezza) dove, tramite una rivoluzione, vado a "rimuovere" i particolari interni.

Il problema è che i componenti generati tramite ripetizioni vengono rimossi dalla rivoluzione quando seleziono uno stato modello più corto, e non vengono più inclusi quando torno a uno stato più lungo.

Avete qualche soluzione da suggerire?
Magari spostare le versioni STEP semplificate da un’altra parte (sempre nello stesso file)?

La funzione "Semplifica" non la conosco molto bene.

Grazie!

Visualizza allegato 74894Visualizza allegato 74895Visualizza allegato 74897Visualizza allegato 74896
Purtroppo ho una versione di inventor datata senza gli stati modello per cui provo ad ipotizzare:
Se invece di fare rivoluzione per "eliminare" componenti, questi non possono essere soppressi nelle varie configurazioni come si fa con gli IAssemby?
 

Limo9

Utente poco attivo
professione: Progettista meccanico
software: Inventor
regione: Lombardia
Purtroppo ho una versione di inventor datata senza gli stati modello per cui provo ad ipotizzare:
Se invece di fare rivoluzione per "eliminare" componenti, questi non possono essere soppressi nelle varie configurazioni come si fa con gli IAssemby?
Ciao Peppe, stesso problema.
Passando da una versione corta a una lunga i particolari si creano da zero, non hanno più i legami con quelli precedenti.

Potrei creare una versione da 10m solo per tenerli in vita 😂
 

Peppe

Utente Senior
professione: Impiegato
software: inventor
regione: Emilia Romagna
Ciao Peppe, stesso problema.
Passando da una versione corta a una lunga i particolari si creano da zero, non hanno più i legami con quelli precedenti.

Potrei creare una versione da 10m solo per tenerli in vita 😂
Ma invece di stati modelli provare con IAssembly ti potrebbe aiutare?
 

blakhaTTT

Utente poco attivo
professione: Impiegato
software: PLM Documenta/Inventor/SolidWorks/SolidEDGE/Autocad 2D-3D/ME10/DraftSight
regione: VENETO
Ciao a tutti,
sto realizzando un assieme che, tramite gli stati modello, può allungarsi o accorciarsi.

Oltre allo stato modello "reale", ho bisogno di generare una variante STEP (per ogni lunghezza) dove, tramite una rivoluzione, vado a "rimuovere" i particolari interni.

Il problema è che i componenti generati tramite ripetizioni vengono rimossi dalla rivoluzione quando seleziono uno stato modello più corto, e non vengono più inclusi quando torno a uno stato più lungo.

Avete qualche soluzione da suggerire?
Magari spostare le versioni STEP semplificate da un’altra parte (sempre nello stesso file)?

La funzione "Semplifica" non la conosco molto bene.

Grazie!

Visualizza allegato 74894Visualizza allegato 74895Visualizza allegato 74897Visualizza allegato 74896
Ciao, scusami forse ho capito male la tua problematica.
Ma pensare semplicemente di creare delle posizioni? puoi riutilizzarle anche per la messa in tavola oltretutto. Grazie.
 

Catafratto

Utente Standard
professione: Disegnatore/progettista
software: Inventor 2024
regione: Veneto
Mi vien da dire che invece di avere un modello che crea dei componenti e poi li elimini, vai a rifare il modello ragionando sulla creazione di quelli che ti servono, che non ci sono non devi poi eliminarli... ma immagino sia più complessa di così...
 

blakhaTTT

Utente poco attivo
professione: Impiegato
software: PLM Documenta/Inventor/SolidWorks/SolidEDGE/Autocad 2D-3D/ME10/DraftSight
regione: VENETO
Ciao a tutti,
sto realizzando un assieme che, tramite gli stati modello, può allungarsi o accorciarsi.

Oltre allo stato modello "reale", ho bisogno di generare una variante STEP (per ogni lunghezza) dove, tramite una rivoluzione, vado a "rimuovere" i particolari interni.

Il problema è che i componenti generati tramite ripetizioni vengono rimossi dalla rivoluzione quando seleziono uno stato modello più corto, e non vengono più inclusi quando torno a uno stato più lungo.

Avete qualche soluzione da suggerire?
Magari spostare le versioni STEP semplificate da un’altra parte (sempre nello stesso file)?

La funzione "Semplifica" non la conosco molto bene.

Grazie!

Visualizza allegato 74894Visualizza allegato 74895Visualizza allegato 74897Visualizza allegato 74896
Scusami effettivamente non avevo capito bene la tua problematica.
Lascia stare il discorso delle posizioni devi usare iLogic per questa problematica. Grazie.
 

Catafratto

Utente Standard
professione: Disegnatore/progettista
software: Inventor 2024
regione: Veneto
Ok, ho riletto meglio la richiesta... Hai valutato di avere uno stato modello "semplificato" dove sopprimi quanto non ti serve prima di generare lo step?

Poi per capire meglio, mi pare di intuire che fai una lavorazione di assieme come rivoluzione, corretto?
 

Limo9

Utente poco attivo
professione: Progettista meccanico
software: Inventor
regione: Lombardia
Ok, ho riletto meglio la richiesta... Hai valutato di avere uno stato modello "semplificato" dove sopprimi quanto non ti serve prima di generare lo step?

Poi per capire meglio, mi pare di intuire che fai una lavorazione di assieme come rivoluzione, corretto?
Sì esatto, uso una lavorazione nell'assieme per "nascondere" i modelli prima di esportare in STEP.

Soluzione:
A quanto pare se sopprimi una serie, sopprimi singolarmente ogni particolare (nell'excel c'è una sola colonna). Se invece con iAssembly escludi la serie, "sopprimi" tutti i particolari attuali e futuri (nel caso cambia la ripetizione)
 

Catafratto

Utente Standard
professione: Disegnatore/progettista
software: Inventor 2024
regione: Veneto
Qui:

C'è una regola iLogic per il tuo problema, la includi nel modello e la fai partire quando cambia lo stato modello, nel caso preferissi restare con gli stati modello. Quando parte aggiunge alla lavorazione "RIVOLUZIONE" (o il nome che darai tu) tutti i partecipanti attivi al momento.

L'ho aggiornata inserendo le righe perchè funzioni con la rivoluzione.

Codice:
If ThisDoc.Document.DocumentType <> DocumentTypeEnum.kAssemblyDocumentObject Then Exit Sub
Dim oADoc As AssemblyDocument = ThisDoc.Document
Dim oADef As AssemblyComponentDefinition = oADoc.ComponentDefinition

'Dim oExtFeats As ExtrudeFeatures = oADef.Features.ExtrudeFeatures
'Dim oExtFeat As ExtrudeFeature = Nothing
'Dim sExtFeatName As String = "CUT REAR OFF TO LENGTH"

Dim oRevolveFeats As RevolveFeatures = oADef.Features.RevolveFeatures
Dim oRevolveFeat As RevolveFeature = Nothing
Dim oMyRevolveFeat As RevolveFeature = Nothing
Dim sRevolveFeatName As String = "RIVOLUZIONE"


'For Each oExtFeat In oExtFeats
'    If oExtFeat.Name = sExtFeatName Then
'        Exit For 'oExtFeat variable will retain its value
'    End If
'Next 'oExtFeat
'If oExtFeat Is Nothing Then
'    MsgBox("The ExtrudeFeature named '" & sExtFeatName & "' was not found." _
'    & vbCrLf & "...So it could not be updated.", vbCritical, "iLogic")
'    Exit Sub
'End If
'For Each oOcc As ComponentOccurrence In oADef.Occurrences
'    Try : oExtFeat.RemoveParticipant(oOcc) : Catch : End Try
'    Try : oExtFeat.AddParticipant(oOcc) : Catch : End Try
'Next 'oOcc


For Each oRevolveFeat In oRevolveFeats
    Logger.Info ("Feat: " + oRevolveFeat.Name )
    If oRevolveFeat.Name = sRevolveFeatName Then
        oMyRevolveFeat = oRevolveFeat
        Exit For 'oRevolveFeat variable will retain its value
    End If
Next 'oRevolveFeat
If oMyRevolveFeat Is Nothing Then
    MsgBox("The RevolveFeat named '" & sExtFeatName & "' was not found." _
    & vbCrLf & "...So it could not be updated.", vbCritical, "iLogic")
    Exit Sub
End If
For Each oOcc As ComponentOccurrence In oADef.Occurrences
    Try : oMyRevolveFeat.RemoveParticipant(oOcc) : Catch : End Try
    Try : oMyRevolveFeat.AddParticipant(oOcc) : Catch : End Try
Next 'oOcc
oADoc.Update2(True)
 

Limo9

Utente poco attivo
professione: Progettista meccanico
software: Inventor
regione: Lombardia
Qui:

C'è una regola iLogic per il tuo problema, la includi nel modello e la fai partire quando cambia lo stato modello, nel caso preferissi restare con gli stati modello. Quando parte aggiunge alla lavorazione "RIVOLUZIONE" (o il nome che darai tu) tutti i partecipanti attivi al momento.

L'ho aggiornata inserendo le righe perchè funzioni con la rivoluzione.

Codice:
If ThisDoc.Document.DocumentType <> DocumentTypeEnum.kAssemblyDocumentObject Then Exit Sub
Dim oADoc As AssemblyDocument = ThisDoc.Document
Dim oADef As AssemblyComponentDefinition = oADoc.ComponentDefinition

'Dim oExtFeats As ExtrudeFeatures = oADef.Features.ExtrudeFeatures
'Dim oExtFeat As ExtrudeFeature = Nothing
'Dim sExtFeatName As String = "CUT REAR OFF TO LENGTH"

Dim oRevolveFeats As RevolveFeatures = oADef.Features.RevolveFeatures
Dim oRevolveFeat As RevolveFeature = Nothing
Dim oMyRevolveFeat As RevolveFeature = Nothing
Dim sRevolveFeatName As String = "RIVOLUZIONE"


'For Each oExtFeat In oExtFeats
'    If oExtFeat.Name = sExtFeatName Then
'        Exit For 'oExtFeat variable will retain its value
'    End If
'Next 'oExtFeat
'If oExtFeat Is Nothing Then
'    MsgBox("The ExtrudeFeature named '" & sExtFeatName & "' was not found." _
'    & vbCrLf & "...So it could not be updated.", vbCritical, "iLogic")
'    Exit Sub
'End If
'For Each oOcc As ComponentOccurrence In oADef.Occurrences
'    Try : oExtFeat.RemoveParticipant(oOcc) : Catch : End Try
'    Try : oExtFeat.AddParticipant(oOcc) : Catch : End Try
'Next 'oOcc


For Each oRevolveFeat In oRevolveFeats
    Logger.Info ("Feat: " + oRevolveFeat.Name )
    If oRevolveFeat.Name = sRevolveFeatName Then
        oMyRevolveFeat = oRevolveFeat
        Exit For 'oRevolveFeat variable will retain its value
    End If
Next 'oRevolveFeat
If oMyRevolveFeat Is Nothing Then
    MsgBox("The RevolveFeat named '" & sExtFeatName & "' was not found." _
    & vbCrLf & "...So it could not be updated.", vbCritical, "iLogic")
    Exit Sub
End If
For Each oOcc As ComponentOccurrence In oADef.Occurrences
    Try : oMyRevolveFeat.RemoveParticipant(oOcc) : Catch : End Try
    Try : oMyRevolveFeat.AddParticipant(oOcc) : Catch : End Try
Next 'oOcc
oADoc.Update2(True)
Grazie! Adesso provo.
 

Statistiche forum

Discussioni
59,249
Messaggi
504,723
Utenti registrati
110,460
Ultimo utente registrato
JackieWep

Utenti online

Top