Purger un assemblage Inventor (Niveau de détail)
Vous souhaitez exporter un modèle allégé depuis un niveau de détail d'un assemblage.
Le problème c’est que le prêt a emporter prend tout les composants masqués en plus des composants actifs et l'enregistrer sous aussi
Seul l’export au format Step fonctionne mais vous perdez l’intelligence des pièces c'est à dire l'arbre de conception et les contraintes ou liaisons.

Sub Main()
'Check if suppressed parts should be removed. Stop if not yes
If Delete_Suppressed_Parts = "No" Then Exit Sub
'ask user to confirm deletion
Dim question As Object
question = MessageBox.Show("Etes vous sûr de vouloir effacer les composants masqués ? " & vbCrLf _
& "Ceci est irréversible.", "Attention",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
'user doesn't want to delete
If question <> vbYes Then
Delete_Suppressed_Parts = "No"
Exit Sub
End If
'Reference active document
Dim doc As AssemblyDocument
doc = ThisApplication.ActiveDocument
'Put parts into array
Dim acd As AssemblyComponentDefinition
acd = doc.ComponentDefinition
'do removal
Call DeleteSuppressedComponent(acd.Occurrences)
'feedback
MessageBox.Show("Effacer !", "C'est fini !")
End Sub
Sub DeleteSuppressedComponent(occs As ComponentOccurrences) 'define component instance Dim occ As ComponentOccurrence 'loop through all components For Each occ In occs If occ.Suppressed Then If occ.IsPatternElement Then Dim oPattern As RectangularOccurrencePattern oPattern = occ.PatternElement.Parent oPattern.Delete Else occ.Delete 'delete suppressed components End If Else If occ.SubOccurrences.Count > 0 Then 'recursive loop into current component to check for deeper suppressed components DeleteSuppressedComponent(occ.SubOccurrences) End If End If Next
End Sub
Attention avant d'exécuter la règle assurez vous d'avoir une copie de ce Prêt à emporter
Ces articles peuvent vous intéresser :






