Inventor Bloquer les composants après conversion STEP, SAT, Solidworks®, CATIA, NX, Rhino
Inventor Bloquer les composants après conversion STEP, SAT, Solidworks®, CATIA, NX, Rhino
Le résultat de la conversion de fichiers CAO 3D natifs (SW, Catia, Creo ...) ou neutres (STEP, SAT, IGES ...) dans l'environnement Autodesk Inventor,
créer des ensemble et sous-ensemble structurés, 1 seul composant est bloqué (0 DDL) c'est le composant de "tête" mais tous les autres composants sont libres (6 DDL)
Il n'y aucune Liaison ou Contrainte
Le risque est donc de déplacer (glisser/déposer) avec un mouvement de souris malencontreux les composants du sous-ensemble actif, ou ceux d'un sous-ensemble flexible.
AVANT
APRES un déplacement (glisser/déposer)
Afin d'éviter cela et de rendre isostatique l'assemblage, il faut bloquer l'ensemble des composants s'il n'y a pas d'intérêt de cinématique.
Cette action peut être relativement longue selon que les sous-ensembles sont nombreux car
il faut éditer chacun d'eux.
Une solution plus efficace est d'utiliser un règle iLogic externe que voici : Tout Bloquer.iLogicVb
'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
Copier/coller le "code" ci-dessus dans un fichier texte à l'aide de "Bloc-notes" et nommer le fichier avec l'extension .iLogicVb
Le fichier Tout Bloquer.iLogicVb doit être enregistré dans un dossier partagé pour le groupe de travail, par exemple le dossier Templates (Gabarits Inventor)
Depuis le Navigateur iLogic
Puis parcourir vos dossiers et pointer sur le fichier iLogicVb
Pour Exécuter la règle externe depuis le navigateur iLogic.
^Dans la boite de dialogue deux choix possibles : Bloqué ou Non Bloqué.
Ces articles peuvent vous intéresser :