Macro HealArcs/fr: Difference between revisions

From FreeCAD Documentation
m (Created page with "Parfois les arcs sont transformés en BSplines, par exemple, lorsqu'une opération d'échelle leurs ont été appliquées. Cette macro recrée des arcs valides. Utile avant l'...")
(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:46, 3 June 2014

File:Text-x-python HealArcs

Description
Parfois les arcs sont transformés en BSplines, par exemple, lorsqu'une opération d'échelle leurs ont été appliquées. Cette macro recrée des arcs valides. Utile avant l'exportation vers un fichier .dxf

Auteur: Yorik
Auteur
Yorik
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
None
Voir aussi
None

Parfois les arcs sont transformés en BSplines, par exemple, lorsqu'une opération d'échelle leurs ont été appliquées. Cette macro recrée des arcs valides. Utile avant l'exportation vers un fichier .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: