commit macro + readme

This commit is contained in:
Thomas-Alexandre Moreau 2025-01-24 18:07:13 +01:00
commit 29417ea51a
2 changed files with 49 additions and 0 deletions

49
QuickSVGExport.FCMacro Normal file
View file

@ -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)

0
README.md Normal file
View file