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 :