Ouvrir la pièce

Bonjour à toutes et à tous, 

 

Je me rends compte que j'utilise très souvent le bouton "Ouvrir la pièce" dans un assemblage pour éditer la pièce en question.

Je n'ai pas trouvé comment allouer un raccourci clavier à cette "fonction".

 

Le but serait de selectionner (n'importe quelle face) de la pièce et le l'ouvrir seule.

 

Avez vous des idées ?


Merci beaucoup!

1 « J'aime »

Bonjour,

 

Si tu ne l'as pas trouvé dans al liste avec un clic-droit sur une barre d'outil > Personnaliser > Onlget clavier (il y a un champ de recherche où tu peux taper "ouvrir"), ça ne doit pas être possible !

 

Peut-être par une macro !

 

Edit : j'ai trouvé une macro qui permet d'ouvrir directement la mise en plan pour la pièce sélectionnée dans un assemblage, elle est en pièce jointe.

Une petite modification pourrait faire l'affaire !


open_selected_component_drawing.swp_.zip
2 « J'aime »

Bonjour,

 

J'ai trouvé cette maccro, je ne l'ai pas testée mais selon l'auteur, elle t'ouvre ta pièce/ton sous assemblage directement en cliquant dessus ou en la sélectionnant dans le feature manager.

 

Cdt,

Joss


assemblyopen.swp
4 « J'aime »

Super cette macro, ça fonctionne! Merci beaucoup!

 

Pour assigner la macro à un raccourci clavier:

 

http://help.solidworks.com/2012/French/SolidWorks/sldworks/t_assigning_macro_keyboard_shortcut.htm

 

 

4 « J'aime »

Je ne vois pas trop l'interet de mettre ce bouton en raccourci....

 

Quand tu clique sur la pièce dans ton assemblage, il y a une petite fenêtre qui s'ouvre (voir image)

 

qui te permet d'ouvrir la pièce? C'est déja un raccourci à la base.

 

Si j'ai bien compris, tu voudrais cliquer sur la pièce à ouvrir, et appuyer sur une touche pour l'ouvrir?


ouvrir.png
3 « J'aime »

@Bart

 

Question d'habitude, perso je bosse quasiment qu'avec des raccourcis clavier. Le B par exemple me permet de supprimer un composant, Ctrl+D pour ouvrir directement une mise en plan,... et plusieurs dizaines d'autres. Historiquement, j'y suis venu pour ne pas chercher sans cesse les icones.

 

Moi je préfère (mon coté musicien peut-être... ;) ). Chacun a sa perception du sujet.

J'ai toujours les mains sur le clavier (pas mal de raccourci).

 

Mon action pour ouvrir la pièce : Clic de selection sur n'importe quelle face de la pièce + o

Avec la petite fenêtre : Clic sur la pièce + déplacement de souris sur le bouton + clic.

 

J'évite simplement les clics (j'en fais déjà pas mal...)

 

J'ai d'autres raccourci direct, j'ai une souris 5 bouton :

 

Bouton 3 : Outil mesurer

Bouton 4 : Normal A

Bouton 5 : Zoom sur la selection

O : Ouvrir la pièce dont une face est selectionnée.

F : Zoom au mieux

Créer un assemblage à partir de : Ctrl et +

Tab : masqué le composant sélectionné

Ctrl + Tab : Navigation entre les documents

F9 : Masquer le volet de gauche

E : Esquisse sur la face selectionné

 

J'en ai d'autres sur Windows également.

2 « J'aime »

Je ré-ouvre le post car je rencontre un petit soucis avec la macro en question qui sert à ouvrir la pièce sélectionnée dans la zone graphique. 

En effet, la macro ne fonctionne qu'à condition que la pièce soit réglée sur résolue. 

Savez-vous s'il serait possible d'intégrer cela à la macro, c'est à dire :sélection de la pièce dans la zone graphique (face ou autre), lancement de la macro: résoudre la pièce puis l'ouvrir. 

 

Je vous remets le code de la macro ci-dessous: 

'***************************************************************************­***
' ASSEMBLYOPEN.SWB by Ted Griebling
' This macro will open the owning part or subassebly (if selected from the
' feature scrambler) of anything selected in an assembly.
' ***************************************************************************­***


Dim swApp As Object
Dim activeDocument As Object
Dim selEntity As Object
Dim selType As Long
Dim SelMgr As Object
Dim owningComponent As Object
Dim componentName As String
Dim part As Object
Dim componentpath As String


Const swDocPART = 1
Const swDocASSEMBLY = 2
Const swDocDRAWING = 3


Sub main()
Set swApp = CreateObject("SldWorks.Application")
Set activeDocument = swApp.ActiveDoc


' Make sure this is not a part.
If (activeDocument.GetType = swDocPART) Then
    Exit Sub
End If


' Do something else for drawings?
If (activeDocument.GetType = swDocDRAWING) Then
    Exit Sub
End If


' Get the SelectionMgr interface
Set SelMgr = activeDocument.SelectionManager


' Obtain the selected Entity object
Set selEntity = SelMgr.GetSelectedObject3(1)


selType = SelMgr.GetSelectedObjectType2(1)

'MsgBox selType

' Types that make later parts barf
If (selType = 0) Or (selType = 42) Or (selType = 69) Then
    Exit Sub
End If


' This works grand for components selected from the feature scrambler
If (SelMgr.GetSelectedObjectType2(1) = 20) Then
    ' Yeah!
    activeDocument.OpenCompFile
    Exit Sub
End If


'extract the path name from the entity selected.
If (activeDocument.GetType = swDocASSEMBLY) Then
    ' Get the owning Component object
    Set owningComponent = selEntity.GetComponent
    ' Get the Component Path Name
    componentpath = owningComponent.GetPathName
    ' MsgBox componentpath
    ' Open the part in it's own window Yeah!
    
         Set part = swApp.ActivateDoc(componentpath)
     
    Exit Sub
End If
End Sub

 

D'avance merci pour vos réponses. 

Cordialement

Bonjour,

ce fonctionnent est normal, car les pièces "résolues" sont chargées en mémoire lors de l'ouverture de l'assemblage.

je n'ai pas mon pc avec moi, je ne peux donc pas modifier la macro. 

Ce que vous pouvez faire, c'est récupérer le chemin d'accès de votre pièce et de l'ouvrir sans la passer en résolu dans votre assemblage. Je pense que niveau mémoire, il vaut mieux faire comme ça surtout si c'est un gros assemblage.

Cordialement.