Conversion STEP des composants depuis un Assemblage Inventor
Conversion de Composants depuis un Assemblage Inventor
La conversion de composants depuis un assemblage Autodesk Inventor vers d'autres formats ou logiciels est une tâche courante dans le domaine de la conception assistée par ordinateur (CAO). Voici un guide pour vous aider à comprendre et à effectuer cette conversion efficacement.
Avant de convertir des composants, il est essentiel de bien comprendre comment fonctionnent les assemblages dans Autodesk Inventor. Un assemblage Inventor est un ensemble de pièces liées par des contraintes qui définissent leur position relative et leur mouvement. Ces contraintes peuvent inclure des liaisons fixes, glissantes, ou rotatives, permettant une grande flexibilité dans la conception.
Vers d'autres Formats CAO
Lorsque vous convertissez vers d'autres formats CAO comme STEP ou SAT, il est crucial de bloquer les composants pour éviter tout déplacement accidentel. Vous pouvez utiliser des règles iLogic pour automatiser ce processus.
Utilisation de Règles iLogic pour l'Automatisation
Les règles iLogic permettent d'automatiser des tâches répétitives dans Inventor, y compris la conversion et la gestion des composants. Par exemple, vous pouvez créer une règle pour bloquer tous les composants d'un assemblage après conversion.
Cette règle permet de bloquer l'ensemble des composants IPT IAM dans tous les niveaux de la structure de l'assemblage.
ce qui est utile pour éviter tout déplacement accidentel après conversion.
'start of ilogic code
'get user input
qGround = InputRadioBox("Faites votre choix:", "Bloqué", "Non Bloqué", True, "ilogic")
'get the active assembly
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'set the Master LOD active
Dim oLODRep As LevelofDetailRepresentation
oLODRep = oAsmCompDef.RepresentationsManager.LevelOfDetailRepresentations.Item("Principal(e)")
oLODRep.Activate
'Iterate through all of the top level occurrences
Dim oOccurrence As ComponentOccurrence
For Each oOccurrence In oAsmCompDef.Occurrences
If oOccurrence.DefinitionDocumentType = _
DocumentTypeEnum.kAssemblyDocumentObject Then
'Iterate through all of the 2nd level occurrences
Dim oSub1Occ As ComponentOccurrence
For Each oSub1Occ In oOccurrence.SubOccurrences
'ground everything in the 2nd level
oSub1Occ.Grounded = qGround
If oSub1Occ.DefinitionDocumentType = _
DocumentTypeEnum.kAssemblyDocumentObject Then
'Iterate through all of the 3nd level occurrences
Dim oSub2Occ As ComponentOccurrence
For Each oSub2Occ In oSub1Occ.SubOccurrences
'ground everything in the 3rd level
oSub2Occ.Grounded = qGround
Next
Else
End If
Next
Else
End If
'ground everything in the top level
oOccurrence.Grounded = qGround
Next
' end of ilogic code

Une autre règle iLogic ci-dessous permet d'exporter au format STEP l'ensemble des composants dans un dossier spécifique.
NB: Faites un zoom à 50% de votre page internet afin de pouvoir sélectionner l'ensemble du code ci-dessous.
'check that the active document is an assembly file
If ThisApplication.ActiveDocumentType <> DocumentTypeEnum.kAssemblyDocumentObject Then
MessageBox.Show("This Rule " & iLogicVb.RuleName & " only works on Assembly Files.", "WRONG DOCUMENT TYPE", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
'define the active document as an assembly file
Dim oAsmDoc As AssemblyDocument = ThisApplication.ActiveDocument
Dim oAsmName As String = ThisDoc.FileName(False) 'without extension
'get user input
Dim RUsure = MessageBox.Show(
"This will create a STEP file for all components." _
& vbLf & " " _
& vbLf & "Are you sure you want to create STEP Drawings for all of the assembly components?" _
& vbLf & "This could take a while.", "iLogic - Batch Output STEPs ", MessageBoxButtons.YesNo)
If RUsure = vbNo Then
Return
Else
End If
'- - - - - - - - - - - - -STEP setup - - - - - - - - - - - -
Dim oPath = ThisDoc.Path
'get STEP target folder path
' original => oFolder = oPath & "\" & oAsmName & " STEP Files"
Dim oFolder = oPath & "\STEP Files"
'Check for the step folder and create it if it does not exist
If Not System.IO.Directory.Exists(oFolder) Then
System.IO.Directory.CreateDirectory(oFolder)
End If
'- - - - - - - - - - - - -Assembly - - - - - - - - - - - -
ThisDoc.Document.SaveAs(oFolder & "\" & oAsmName & (".stp"), True)
'- - - - - - - - - - - - -Components - - - - - - - - - - - -
'look at the files referenced by the assembly
Dim oRefDocs As DocumentsEnumerator = oAsmDoc.AllReferencedDocuments
'work the referenced models
For Each oRefDoc As Document In oRefDocs
Dim oCurFile As Document = ThisApplication.Documents.Open(oRefDoc.FullFileName, True)
Dim oCurFileName = oCurFile.FullFileName
Dim ShortName = IO.Path.GetFileNameWithoutExtension(oCurFileName)
oPropValue = oRefDoc.PropertySets("Summary Information").Item("Title").Value
iProperties.Value("Summary", "Title") = oPropValue
'MessageBox.Show(sel_iProperty + " iProperty updated successfully with value : " + oPropValue, "iProperty")
Try
oCurFile.SaveAs(oFolder & "\" & oPropValue & (".stp"), True)
Catch
MessageBox.Show("Error processing " & oCurFileName, "ilogic")
End Try
oCurFile.Close()
Next
'- - - - - - - - - - - - -
MessageBox.Show("New Files Created in: " & vbLf & oFolder, "iLogic")
En résumé, l'automatisation de la conversion de composants dans Inventor peut être réalisée en utilisant l'API pour des scripts personnalisés ou iLogic pour des règles automatisées.
Ces articles peuvent vous intéresser :




