Macro HealArcs/cs: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 5: Line 5:


<syntaxhighlight>
<syntaxhighlight>
try:
try:
import DraftGeomUtils as fcgeo
import DraftGeomUtils as fcgeo
except:
except:
from draftlibs import fcgeo
from draftlibs import fcgeo
import FreeCAD,FreeCADGui,Part
import FreeCAD,FreeCADGui,Part

sel = FreeCADGui.Selection.getSelection()
sel = FreeCADGui.Selection.getSelection()
if not sel:
if not sel:
FreeCAD.Console.PrintWarning("Select something first!")
FreeCAD.Console.PrintWarning("Select something first!")
else:
else:
removeList = []
removeList = []
for obj in sel:
for obj in sel:
ed = obj.Shape.Edges[0]
ed = obj.Shape.Edges[0]
arc = fcgeo.arcFromSpline(ed)
arc = fcgeo.arcFromSpline(ed)
if arc:
if arc:
Part.show(arc)
Part.show(arc)
removeList.append(obj.Name)
removeList.append(obj.Name)
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()
print "removing ",removeList
print "removing ",removeList
for n in removeList:
for n in removeList:
FreeCAD.ActiveDocument.removeObject(n)
FreeCAD.ActiveDocument.removeObject(n)


</syntaxhighlight>
</syntaxhighlight>

Revision as of 21:48, 3 June 2014

File:Text-x-python HealArcs

Popis
Oblouky jsou někdy transformovány do B-křivek, například když na ně jsou aplikovány změny měřítka. Toto makro z nich znovu vytvoří platný oblouk. Je to užitečné před exportem do dxf

Autor: Yorik
Autor
Yorik
Download
None
Odkazy
Verze
1.0
Datum poslední úpravy
None
Verze FreeCAD
None
Výchozí zástupce
None
Viz též
None

Oblouky jsou někdy transformovány do B-křivek, například když na ně jsou aplikovány změny měřítka. Toto makro z nich znovu vytvoří platný oblouk. Je to užitečné před exportem do dxf


try:
    import DraftGeomUtils as fcgeo
except:
    from draftlibs import fcgeo
import FreeCAD,FreeCADGui,Part

sel = FreeCADGui.Selection.getSelection()
if not sel:
    FreeCAD.Console.PrintWarning("Select something first!")
else:
    removeList = []
    for obj in sel:
        ed = obj.Shape.Edges[0]
        arc = fcgeo.arcFromSpline(ed)
        if arc:
            Part.show(arc)
            removeList.append(obj.Name)
    FreeCAD.ActiveDocument.recompute()
    print "removing ",removeList
    for n in removeList:
        FreeCAD.ActiveDocument.removeObject(n)
Other languages: