Bonsoir à tous,
J'essaye d'enregistrer et exécuter des macros pour le dessin de tenons.
Voila comment je procède:
1) j'ouvre un nouveau document et je le sauvegarde.
2) J'enregistre une macro que je sauvegarde, puis je réalise un bout de traverse avec un tenon.
3) Une fois le tenon réalisé la pièce est terminée et j'arrête la macro.
4)Je ferme le document .
5) J'ouvre un nouveau document
6)Je lance la macro mais là rien ne se se passe, sauf un message d'erreur!!!
En conclusion je n'arrive pas à réutiliser ma macro enregistrée!!!
Merci pour me donner quelques conseils comment réutiliser ma macro.
Voici le message d'erreur lorsque j'essaye de lancer la macro pour réaliser un tenon sur une nouvelle pièce:
21:48:13 Traceback (most recent call last):
File "C:/Users/rapidego/AppData/Roaming/FreeCAD/Macro/tenon-dérasement1.FCMacro", line 12, in <module>
<class 'NameError'>: Unknown document 'Unnamed'
a+++
rapidego
Comment exécuter une macro enregistrée résolu
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Comment exécuter une macro enregistrée résolu
Last edited by rapidego on Fri Mar 26, 2021 7:06 pm, edited 2 times in total.
Re: Comment exécuter une macro enregistrée
Salut,
l'enregistrement des macros ne fonctionne qu'avec des choses très simples, pour le reste il faut juste les utiliser comme base et les éditer "à la main".
l'enregistrement des macros ne fonctionne qu'avec des choses très simples, pour le reste il faut juste les utiliser comme base et les éditer "à la main".
Ta macro fait référence au document par son nom, il faut remplacer App.getDocument('Unamed') par App.ActiveDocument pour toujours faire référence au document en cours d'édition.Unknown document 'Unnamed'
Re: Comment exécuter une macro enregistrée
Bonsoir,
Je continue mes essais de tenon dans le cadre de conception de mobilier d'ébénisterie.
Voila J'ai supprimé mes macros et créé une nouvelle.
Cette fois-ci ça marche j'ai fermé mon document dans lequel j'avais enregistré ma macro.
Ensuite:
1) j'ai ouvert un nouveau document sans sauvegarder avant d'appliquer ma macro.
2) J'ai dessiné avec part design et sketcher une nouvelle pièce aux mêmes dimensions.
3) J'ai sélectionné une face (toujours la même) puis j'ai ajouté les 2 points d'ancrage.
4) J'ai appliqué ma macro de conception du tenon, cette fois ça fonctionne mon tenon est dessiné!!!
5) Puis j'ai réalisé un miroir ce qui m'a donné une traverse avec 2 tenons (un tenon à chaque extrémité).
Pour information, je viens de refaire un essai sur un document sauvegardé au départ avant de dessiner, ça marche aussi.
Il faut dire que j'ai placé ma macro dans le même répertoire que mes docs de de dessin, auparavant je les avais sauvegardés dans le répertoire Freecad\Macro !!! ???
Concernant changer App.getDocument('Unamed') en App.ActiveDocument, pour l'instant cela me donne des erreurs.
Mais je vais refaire des essais dans ce sens et t'en informer.
A+++ cordialement merci d'être à mon écoute
rapidego
Re: Comment exécuter une macro enregistrée
Bonsoir,flachyjoe wrote: ↑Sun Mar 21, 2021 9:00 pm Salut,
l'enregistrement des macros ne fonctionne qu'avec des choses très simples, pour le reste il faut juste les utiliser comme base et les éditer "à la main".Ta macro fait référence au document par son nom, il faut remplacer App.getDocument('Unamed') par App.ActiveDocument pour toujours faire référence au document en cours d'édition.Unknown document 'Unnamed'
Je viens à l'instant de refaire des essais:
J'ai remplacé App.getDocument par App.ActiveDocument , ceci ne marche pas, pleins d'erreurs.
De même j'ai également repris la macro d'hier sur de nouveaux documents ce soir .
Déception rien ne marche plus, la macro renvoi les mêmes erreurs.
Alors j'ai tout repris à zéro et réédité une nouvelle macro.
Ça marche à nouveau mais uniquement sur le document dans lequel elle a été éditée.
Je ne fais que des opérations hypers simples, l'exécution du tenon ne demande qu'une cavité suite à une esquisse.
Tout cela est vraiment aléatoire je n'arrive pas à cerner mon problème
A plus cordialement
rapidego
Re: Comment exécuter une macro enregistrée
Bonjour,
Enseignant dans des classes de menuiserie et d’ébénisterie, je suis trés intéressé par ce projet.
Je viens de faire des essais et j’ai eu la même erreur.
J’ai changé "App.getDocument('Unamed')" par "App.ActiveDocument" et ça a marché.
Cordialement,
Phil989
Freecad version 0.19 sous Ubuntu 18.04
Enseignant dans des classes de menuiserie et d’ébénisterie, je suis trés intéressé par ce projet.
Je viens de faire des essais et j’ai eu la même erreur.
J’ai changé "App.getDocument('Unamed')" par "App.ActiveDocument" et ça a marché.
Cordialement,
Phil989
Freecad version 0.19 sous Ubuntu 18.04
Last edited by phil989 on Fri Mar 26, 2021 8:06 am, edited 2 times in total.
Re: Comment exécuter une macro enregistrée
Bonsoir,phil989 wrote: ↑Thu Mar 25, 2021 9:12 am Bonjour,
Enseignant dans des classes de menuiserie et d’ébénisterie, je suis intéressé très par ce projet.
Je viens de faire des essais et j’ai eu la même erreur.
J’ai changer "App.getDocument('Unamed')" par "App.ActiveDocument" et ça a marché.
Cordialement,
Phil989
Freecad version 0.19 sous Ubuntu 18.04
Merci collègue, même spécialité sauf que je suis à la retraite et un mordu de la programmation:
au palmarès: visual basic, java, androïd, Qt et maintenant j'essaie Python tout cela depuis 1994, en somme un touche à tout.
Pour revenir au problème; "App.getDocument('Unamed')" par "App.ActiveDocument" je l'avais modifié et pourtant
j'avais encore des erreurs !!!
J'ai enfin trouvé pourquoi: quand on commence un nouveau document l'esquisse se nomme Sketch et se modifie à Sketch001, ma macro affichait Sketch002.
J'ai modifié ma macro à Sketch001 et maintenant plus de problème.
Cordialement à +++
rapidego