From 29417ea51a2e61eea5582b51b6c242b060394cf2 Mon Sep 17 00:00:00 2001 From: Thomas-Alexandre Moreau Date: Fri, 24 Jan 2025 18:07:13 +0100 Subject: [PATCH] commit macro + readme --- QuickSVGExport.FCMacro | 49 ++++++++++++++++++++++++++++++++++++++++++ README.md | 0 2 files changed, 49 insertions(+) create mode 100644 QuickSVGExport.FCMacro create mode 100644 README.md diff --git a/QuickSVGExport.FCMacro b/QuickSVGExport.FCMacro new file mode 100644 index 0000000..d91a0b6 --- /dev/null +++ b/QuickSVGExport.FCMacro @@ -0,0 +1,49 @@ +import importSVG +import Draft + +outputRacine = App.activeDocument().getFileName().rpartition('.')[0] + +# -------- REPRISE DE LA MACRO "exportSketchEnMasse-SVG" de Gauthier Brière -------- # + +def exportSketch(sketchList): + for __O__ in sketchList: + __obj__ = [] + __obj__.append(__O__) + + print('Export SVG de : ' + __obj__[0].Label) + + oldPlace = __obj__[0].Placement + __obj__[0].Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(1,0,0),0), App.Vector(0,0,0)) + fichierSVG = u"" + outputRacine + '--' + __obj__[0].Label + '.svg' + importSVG.export(__obj__, fichierSVG) + __obj__[0].Placement = oldPlace + App.ActiveDocument.removeObject(__O__.Label) + + App.activeDocument().recompute() + +# -------- END -------- # + +sketchList = [] + +for selectedObject in Gui.Selection.getSelectionEx(): + try: + if hasattr(selectedObject.Object, 'Dir'): + sv0 = Draft.make_shape2dview(selectedObject.Object, FreeCAD.Vector(selectedObject.Object.Dir)) + sv0.ViewObject.LineColor = (1.0, 0.0, 0.0) + elif hasattr(selectedObject.Object, 'Objects'): + for child in selectedObject.Object.Objects: + if hasattr(child, 'Dir'): + sv0 = Draft.make_shape2dview(selectedObject.Object, FreeCAD.Vector(child.Dir)) + sv0.ViewObject.LineColor = (1.0, 0.0, 0.0) + break + print("FAILURE IF") + FreeCAD.ActiveDocument.recompute() + sk = Draft.make_sketch(sv0, autoconstraints=True) + FreeCAD.ActiveDocument.recompute() + sketchList.append(sk) + if hasattr(sv0, 'Name'): + App.ActiveDocument.removeObject(sv0.Name) + except: + print("FAILURE TRY") + +exportSketch(sketchList) diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29