Bonjour,
Ca m'énerve, je sèche depuis plus d'une heure sur un truc tout bête et je suis quasiment sûr d'avoir vu la solution. Sauf que ça fait plusieurs heurs que je cherche sans trouver.
Imaginons que je sois dans un croquis (un sketch) et que je lance une macro, comment cette macro peut elle récupérer le nom de ce sketch ?
Par exemple, ici,
je suis en train de travailler dans le sketch qui se nomme Sketch et je veux donc que ma macro retrouve ce nom' Sketch' pour pouvoir après, s'en servir.
Je suppose que c'est très simple mais ...
Une idée ?
Python : récupérer le nom du croquis dans lequel on est en train de travailler
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Python : récupérer le nom du croquis dans lequel on est en train de travailler
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
Re: Python : récupérer le nom du croquis dans lequel on est en train de travailler
Bonjour
ici le nom pour un sub élément dans un sketch en édition (sélectionnez un objet)
ici le nom du sketch en édition (sélectionnez un objet)
nom du sketch en édition
mario
ici le nom pour un sub élément dans un sketch en édition (sélectionnez un objet)
Code: Select all
import Draft, Part, Sketcher
sel = Gui.Selection.getSelection()
sketch = sel[0]
if (Gui.ActiveDocument.getInEdit() and (sketch.TypeId == "Sketcher::SketchObject")): #entre dans un sketch qui est en edition
try:
selEx = FreeCADGui.Selection.getSelectionEx()[0].SubElementNames[0] # Sub Element Name
print(selEx)
except Exception:
selEx = ""
Code: Select all
import Draft, Part, Sketcher
sel = Gui.Selection.getSelection()
sketch = sel[0]
if (Gui.ActiveDocument.getInEdit() and (sketch.TypeId == "Sketcher::SketchObject")): #entre dans un sketch qui est en edition
print(sketch.Name)
Code: Select all
import Draft, Part, Sketcher
if Gui.ActiveDocument.getInEdit():
nom = Gui.ActiveDocument.getInEdit().Object.Name
print(nom)
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.
Re: Python : récupérer le nom du croquis dans lequel on est en train de travailler
Impeccable !
Ca marche. je prends ça
Et je garde les autres de coté
Je ne connaissais pas getInEdit() ....
Merci mario52 !
Ca marche. je prends ça
Code: Select all
import Draft, Part, Sketcher
if Gui.ActiveDocument.getInEdit():
nom = Gui.ActiveDocument.getInEdit().Object.Name
print(nom)
Je ne connaissais pas getInEdit() ....
Merci mario52 !
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
Re: Python : récupérer le nom du croquis dans lequel on est en train de travailler
Un peu par hasard, j'ai cru voir qu'il y a un truc encore plus simple :
Ca a l'air de fonctionner
Enfin remarque, pas vraiment plus simple que le tien !
Code: Select all
mySketch=ActiveSketch
mySketchName=mySketch.Name
Enfin remarque, pas vraiment plus simple que le tien !
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr