Actuellement j'ai testé un petit peu les macros cependant chaque macro devient un fichier qui se place dans le repertoire .Freecad et quand je passe d'un ordi a un autre n'ayant pas partagé ce repertoire je me retrouve sans ces macros spécifiques a mon projet.
J'ai rapidement fait un tour sur le wiki dans la partie marcro, mais je n'ai pas vu si cette possibilité existe, pour les objets définis en ython il y a un cpike http://www.freecadweb.org/wiki/index.ph ... objects/fr qui permet d'enregistrer l'objet dans son .fscd a priori.
Peut-etre qu'un equivalent existe ?
Pouvons nous inclure des macros dans son projet ?
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: Pouvons nous inclure des macros dans son projet ?
Je ne crois pas que ce soit possible...
En fait il est exclut de pouvoir intégrer du code exécutable dans un fichier FCStd. Cela représente un risque de sécurité trop lourd (pour l'instant ?) à gérer. Mais ça reviendrait au même que les macros dans un tableur (veuillez régler votre niveau de sécurité, attention, etc...).
De ce que j'ai compris cPickle abandonné au profit de Python json, permet d'intégrer dans le fichier FCStd, les appels vers la macro qui génère l'objet. Mais sans la macro, pas possible d'actualiser l'objet.
Personnellement j'ai synchronisé mes dossiers Macros et Mod dans le cloud afin d'avoir les mêmes ateliers et macros sur mon PC fixe et mon PC portable.
En fait il est exclut de pouvoir intégrer du code exécutable dans un fichier FCStd. Cela représente un risque de sécurité trop lourd (pour l'instant ?) à gérer. Mais ça reviendrait au même que les macros dans un tableur (veuillez régler votre niveau de sécurité, attention, etc...).
De ce que j'ai compris cPickle abandonné au profit de Python json, permet d'intégrer dans le fichier FCStd, les appels vers la macro qui génère l'objet. Mais sans la macro, pas possible d'actualiser l'objet.
Personnellement j'ai synchronisé mes dossiers Macros et Mod dans le cloud afin d'avoir les mêmes ateliers et macros sur mon PC fixe et mon PC portable.
Formations - Assistance - Développement : https://freecad-france.com
Re: Pouvons nous inclure des macros dans son projet ?
Salut,
tu peux utiliser un objet Annotation pour stocker du texte dans le projet :
Et cette ligne devrait exécuter la macro stockée :
tu peux utiliser un objet Annotation pour stocker du texte dans le projet :
Code: Select all
mm=App.ActiveDocument.addObject('App::Annotation','ma_macro')
mm.LabelText="Contenu de ma macro"
Code: Select all
exec(String.join( App.ActiveDocument.getObject("ma_macro").LabelText,"\r\n"))
Re: Pouvons nous inclure des macros dans son projet ?
Bonjour
une possibilité avec cette macro Macro_PropertyMemo votre macro fais partie intégrante de votre fichier projet (la macro ne s’exécute pas, il faut la copier comme un texte et la coller dans la console Python)
ne fonctionne que sur les objets Draft
ici un exemple Macro_Constraint_Draft (la macro se trouve dans le mémo de Line005_with_Code)
mario
une possibilité avec cette macro Macro_PropertyMemo votre macro fais partie intégrante de votre fichier projet (la macro ne s’exécute pas, il faut la copier comme un texte et la coller dans la console Python)
ne fonctionne que sur les objets Draft
ici un exemple Macro_Constraint_Draft (la macro se trouve dans le mémo de Line005_with_Code)
mario
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
My macros on Gist.github here complete macros Wiki and forum.