Draft: adapted Draft2Sketch tool for macro recording - fixes #1661

This commit is contained in:
Yorik van Havre 2014-08-04 12:37:59 -03:00
parent e41996c9db
commit a601434c27

View File

@ -3945,25 +3945,25 @@ class Draft2Sketch(Modifier):
if not sel: if not sel:
return return
elif allDraft: elif allDraft:
FreeCAD.ActiveDocument.openTransaction("Convert to Sketch") lines = ["Draft.makeSketch(FreeCAD.ActiveDocument."+o.Name+",autoconstraints=True)" for o in sel]
Draft.makeSketch(sel,autoconstraints=True) self.commit(translate("draft","Convert to Sketch"),
FreeCAD.ActiveDocument.commitTransaction() ['import Draft'] + lines + ['FreeCAD.ActiveDocument.recompute()'])
elif allSketches: elif allSketches:
FreeCAD.ActiveDocument.openTransaction("Convert to Draft") lines = ["Draft.draftify(FreeCAD.ActiveDocument."+o.Name+",delete=False)" for o in sel]
Draft.draftify(sel,makeblock=True) self.commit(translate("draft","Convert to Draft"),
FreeCAD.ActiveDocument.commitTransaction() ['import Draft'] + lines + ['FreeCAD.ActiveDocument.recompute()'])
else: else:
FreeCAD.ActiveDocument.openTransaction("Convert") lines = []
for obj in sel: for obj in sel:
if obj.isDerivedFrom("Sketcher::SketchObject"): if obj.isDerivedFrom("Sketcher::SketchObject"):
Draft.draftify(obj) lines.append("Draft.draftify(FreeCAD.ActiveDocument."+obj.Name+",delete=False)")
elif obj.isDerivedFrom("Part::Part2DObjectPython"): elif obj.isDerivedFrom("Part::Part2DObjectPython"):
Draft.makeSketch(obj,autoconstraints=True) lines.append("Draft.makeSketch(FreeCAD.ActiveDocument."+obj.Name+",autoconstraints=True)")
elif obj.isDerivedFrom("Part::Feature"): elif obj.isDerivedFrom("Part::Feature"):
if (len(obj.Shape.Wires) == 1) or (len(obj.Shape.Edges) == 1): if (len(obj.Shape.Wires) == 1) or (len(obj.Shape.Edges) == 1):
Draft.makeSketch(obj,autoconstraints=False) lines.append("Draft.makeSketch(FreeCAD.ActiveDocument."+obj.Name+",autoconstraints=False)")
FreeCAD.ActiveDocument.commitTransaction() self.commit(translate("draft","Convert"),
FreeCAD.ActiveDocument.recompute() ['import Draft'] + lines + ['FreeCAD.ActiveDocument.recompute()'])
self.finish() self.finish()