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

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 :











