adenia Posté(e) le 28 juillet 2008 Posté(e) le 28 juillet 2008 Bonjour, Sur le 2008 j'utilisais bcp insert and fix ce qui me permetait de fair mes assemblage rapidement. Je suis passer en 2009 et cela ne marche plus. Est ce que quelqu'un connait un moyen d'insérer des pièces à l'orignie plus rapidement qu'avec les 3 contraintes sur les plans? merci Mikel INVENTOR 2011 suite - xp 32 - 4 Go ( <acronym class=dict title=)
mouais.mouais Posté(e) le 28 juillet 2008 Posté(e) le 28 juillet 2008 En ce qui me concerne, sur la version 2008, j'utilise une macro qui créé les contraintes entre plans pour toutes les pièces sélectionnées : Public Sub ContraindrePieces() ' Contraint les plans de base des pièces sélectionnées Dim oOcc1, oOcc2 As ComponentOccurrence Dim oSelectSet As SelectSet Dim SelectionCorrecte As Boolean Dim OccCount, SelectionCount As Integer Dim ListeOccurrences(1 To 50) As ComponentOccurrence Set oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition SelectionCount = ThisApplication.ActiveDocument.SelectSet.Count If SelectionCount < 2 Or SelectionCount > 51 Then MsgBox ("Le nombre de composants est incorrect.") Else OccCount = 1 SelectionCorrecte = True While OccCount <= SelectionCount And SelectionCorrecte If OccCount > 1 Then Set ListeOccurrences(OccCount - 1) = ThisApplication.ActiveDocument.SelectSet.Item(OccCount) End If If ThisApplication.ActiveDocument.SelectSet(OccCount).Type <> kComponentOccurrenceObject Then SelectionCorrecte = False End If OccCount = OccCount + 1 Wend If SelectionCorrecte Then Set oOcc1 = ThisApplication.ActiveDocument.SelectSet.Item(1) Dim oPartPlane11 As WorkPlane Dim oPartPlane12 As WorkPlane Dim oPartPlane13 As WorkPlane Set oPartPlane11 = oOcc1.Definition.WorkPlanes.Item(1) Set oPartPlane12 = oOcc1.Definition.WorkPlanes.Item(2) Set oPartPlane13 = oOcc1.Definition.WorkPlanes.Item(3) Dim oAsmPlane11 As WorkPlaneProxy Dim oAsmPlane12 As WorkPlaneProxy Dim oAsmPlane13 As WorkPlaneProxy Call oOcc1.CreateGeometryProxy(oPartPlane11, oAsmPlane11) Call oOcc1.CreateGeometryProxy(oPartPlane12, oAsmPlane12) Call oOcc1.CreateGeometryProxy(oPartPlane13, oAsmPlane13) Dim oPartPlane2 As WorkPlane ' Because we need the work plane in the context of the assembly ' we need to create proxies for the work planes. The proxies ' represent the work planes in the context of the assembly. Dim oAsmPlane2 As WorkPlaneProxy For OccCount = 2 To SelectionCount ' boucle sur chaque pièce Set oOcc2 = ListeOccurrences(OccCount - 1) Set oPartPlane2 = oOcc2.Definition.WorkPlanes.Item(1) Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2) ' Create the constraint using the work plane proxies. Call oAsmCompDef.Constraints.AddFlushConstraint(oAsmPlane11, oAsmPlane2, 0) Set oPartPlane2 = oOcc2.Definition.WorkPlanes.Item(2) Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2) ' Create the constraint using the work plane proxies. Call oAsmCompDef.Constraints.AddFlushConstraint(oAsmPlane12, oAsmPlane2, 0) Set oPartPlane2 = oOcc2.Definition.WorkPlanes.Item(3) Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2) ' Create the constraint using the work plane proxies. Call oAsmCompDef.Constraints.AddFlushConstraint(oAsmPlane13, oAsmPlane2, 0) Next OccCount Else MsgBox ("Sélection incorrecte") End If End If End Sub C'est particulièrement utile pour les assemblages de pièces dérivées d'un même squelette. C'est programmé un peu à la sauvage, mais jusqu'ici, ça marche. Thomas
nomutt Posté(e) le 28 juillet 2008 Posté(e) le 28 juillet 2008 Bonjour, Je viens d'installer et de tester insert and fix sur la 2009.Cela fonctionne toujours bien pour moi.Il faut peut-être désinstaller et réinstaller l'add-in. Nomutt,Consultant, Responsable Projets CAD/PLM'Add-ins pour Inventor + Trucs et Astuces.Disponible pour un poste administrateur CAO/PLM.
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant