Bonjour,
Dans mon entreprise, nous avons un modèle de document pour les fichiers pièces.
J'aimerais intégrer une macro dans ce modèle. L'objectif est que toutes les personnes utilisant le modèle aient accès à la macro.
Je n'ai pas trouvé de solution permettant de faire cela. Savez-vous s'il existe quelque chose ou s'il faudra que chaque personne ajoute un nouveau bouton avec le lien vers la macro ?
Merci
Bonjour,
Quel est le but de cette macro??? Vous pouvez peut-être la rajouter sous forme ne note dans votre modèle.
C'est une macro qui créé une esquisse au centre de gravité (nous utilisons Solidworks 2012).
Si je l'ajoute sous forme de note dans mon modèle, je peux mettre le lien vers la macro mais je ne sais pas comment la lancer. De plus si j'ajoute une note, à chaque fois que je tourne la vue l'annotation disparaît.
L'idéal serait que si un utilisateur ouvre le modèle de document alors un bouton apparaît pour lancer la macro sans qu'il ait besoin d'ajouter manuellement le bouton avec le lien vers la macro au préalable.
Nous nous créons le centre de masse quand la pièce et fini, car si vous créez l'esquisse en fonction du centre masse il ne sera plus just si vous rajoutez un trou ou une patte et ou un pli...
voici la macro centre de masse:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Dim CenterOfMass As Object
Set CenterOfMass = Part.FeatureManager.InsertCenterOfMass()
End Sub
centre_der_masse.jpg
1 « J'aime »
Bonjour,
Non ce n'est pas possible à ma connaissance d'ajouter un bouton de macro dans un modèle de document.
On pourrait utiliser les mêmes paramètres pour tout le monde avec l'assistant pour copier les paramètres, en ayant pris soin d'intégrer le bouton de macro avant, ainsi tout le monde a ce bouton :
http://help.solidworks.com/2012/French/SolidWorks/sldworks/Copy_Options_Wizard.htm
2 « J'aime »
Il est possible de créer un bouton dans une pièce. Mais il faut créer la macro dans excel avec un bouton puis vous allez dans la pièce et faites:
insertion==>objet==>créer à partir d'un fichier et là vous selectionnez votre fichier avec le bouton.
Une fois le fichier dans la pièce vous devrez double cliquer sur celui-ci puis le bouton sera accessible pour son lancement...
bouton_ou_case.jpg
Pourquoi une macro dans le modèle? Je pense comme @PL que déjà, ce n'est pas possible.
Sinon, cette Macro ne peut-elle pas fonctionner à parir d'un bouton créer à cet effet mis dans les menus?
Bonjour à tous,
Merci pour vos réponses.
@ac cobra 427, avec la macro que j'ai téléchargé je peux insérer le centre de gravité à n'importe quel moment puisqu'il se met à jour à chaque modification de la pièce ou de l'assemblage. Par contre le code est beaucoup plus long et compliqué que celui que vous proposez dans votre réponse. Je vais donc voir pour utiliser le votre mais comme je le comprends il ne prend en compte que les pièces et non les assemblages, c'est bien ça ?
Edit : le code ne fonctionne pas, il plante à la ligne Set CenterOfMass = Part.FeatureManager.InsertCenterOfMass()
Autre question, comment faites-vous pour l'insérer dans le menu "Géométrie de référence" ?
Concernant l'idée de créer la macro dans Excel puis de l'importer, elle est bonne mais je pense que les utilisateurs préfèrent avoir un bouton "classique".
@.PL, c'est ce que je pensais mais j'ai posé la question afin de confirmer. Pour les paramètres, nous avons (normalement) déjà tous les mêmes, il faudra donc que chacun ajoute le bouton à son menu.
@alain.ERP, le but d'intégrer la macro au modèle est d'éviter que chaque utilisateur ait besoin d'ajouter le bouton au menu mais je pense que c'est ce que nous allons finalement faire. Quand vous parlez d'un bouton dans les menus, il est possible de choisir à quel endroit le bouton sera ou il sera forcément dans la barre de tâche ?
Bonne journée.
1 « J'aime »
En fait le code viens de l'enregistreur de macro, j'ai lancé l'enregistrement et fais la manip en créant le centre de masse puis je l'ai arrêté et c'est le code que j'ai eu....
SI j'ai aidé, merci de marque ma réponse comme la meilleure.