Macro SuperWire: Difference between revisions

From FreeCAD Documentation
(<translate>)
(Marked this version for translation)
Line 1: Line 1:
<translate>
<translate>
<!--T:1-->
{{Macro|Icon=Text-x-python|Name=SuperWire|Description=This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail|Author=Yorik}}
{{Macro|Icon=Text-x-python|Name=SuperWire|Description=This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail|Author=Yorik}}


<!--T:2-->
This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail.<br />
This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail.<br />
Attention, you need a recent version of FreeCAD for this to work
Attention, you need a recent version of FreeCAD for this to work

Revision as of 18:16, 24 December 2013

File:Text-x-python SuperWire

Description
This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail

Author: Yorik
Author
Yorik
Download
None
Links
Macro Version
1.0
Date last modified
None
FreeCAD Version(s)
None
Default shortcut
None
See also
None

This macro creates a wire from selected objects (lines and arcs) even where normal wire creation methods (for example the upgrade tool) fail.
Attention, you need a recent version of FreeCAD for this to work


 import FreeCAD,FreeCADGui,Part
 try:
     import DraftGeomUtils as fcgeo
 except:
     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!")