Macro SuperWire

Attention, you need a recent version of FreeCAD for this to work

import FreeCAD,FreeCADGui,Part from draftlibs import fcgeo

sel = FreeCADGui.Selection.getSelection if not sel: FreeCAD.Console.PrintWarning("Select something first!") else: elist = [] for obj in sel: if hasattr(obj,"Shape"): elist.append(obj.Shape.Edges[0]) wire = fcgeo.superWire(elist) if wire: Part.show(wire) else: FreeCAD.Console.PrintError("SuperWire operation failed!")