Macro Cut Circle/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "==Exemple==")
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{Macro/fr
{{Macro/fr
|Name=Macro Cut Circle
|Name=Macro Cut Circle
Line 8: Line 9:
|Date=2015-03-09
|Date=2015-03-09
}}
}}
</div>


<div class="mw-translate-fuzzy">
==Description==
==Description==
Cette macro coupe un cercle(s) ou un arc(s) sélectionné(s) en plusieurs arcs contigus, les arcs sont colorés alternativement en rouge et blanc pour distinguer les différents arcs.
Cette macro coupe un cercle(s) ou un arc(s) sélectionné(s) en plusieurs arcs contigus, les arcs sont colorés alternativement en rouge et blanc pour distinguer les différents arcs.
</div>

This macro cut a circle(s) or arc(s) in multiple arcs, the arcs can be coloured alternately to distinguish.


[[File:Macro CutCircle 00.png|400px]]
[[File:Macro CutCircle 00.png|400px]]
Line 26: Line 32:


{{Code|code=
{{Code|code=

__title__= "cutCircle"
__author__= "Mario52"
__date__= "09/03/2015"
__version__= "00.02"


# selection circle(s) (circles and arcs)
# selection circle(s) (circles and arcs)
# give number of cut, biColor 0/1
# give number of cut, biColor 0/1
# cut the circle to x arcs
# cut the circle to x arcs
# if biColor is <> 0 the arcs are colored alternately Red White Red White ....
# if biColor is <> 0 the arcs are coloured alternately Red White Red White ....
#
#
__title__ = "cutCircle"
__author__ = "Mario52"
__date__ = "02/07/2019"
__version__ = "00.03"


import Draft
import Draft
Line 84: Line 90:
defbiColor(cercle)
defbiColor(cercle)
pivot1 += pivot0
pivot1 += pivot0
App.ActiveDocument.recompute()


#cutCircle(5, 1) # here with 5 arcs and coloured
#cutCircle(4) #


}}
}}
Line 99: Line 107:


==Version==
==Version==

ver 00.03 02/07/2019 : add "App.ActiveDocument.recompute()"


ver 00.02 09/03/2015 : ajout de création des arcs colorés alternativement rouge et blanc ou non.
ver 00.02 09/03/2015 : ajout de création des arcs colorés alternativement rouge et blanc ou non.

Revision as of 16:40, 2 July 2019

Other languages:

Macro Cut Circle

Description
Coupe un cercle(s) ou un arc(s) sélectionné(s) en plusieurs arcs contigus, les arcs créés sont colorés alternativement en rouge et blanc pour distinguer les différents arcs.

Version macro : 00.02
Date dernière modification : 2015-03-09
Auteur: mario52
Auteur
mario52
Téléchargement
None
Liens
Version Macro
00.02
Dernière modification
2015-03-09
Version(s) FreeCAD
None
Raccourci clavier
None
Voir aussi
None

Description

Cette macro coupe un cercle(s) ou un arc(s) sélectionné(s) en plusieurs arcs contigus, les arcs sont colorés alternativement en rouge et blanc pour distinguer les différents arcs.

This macro cut a circle(s) or arc(s) in multiple arcs, the arcs can be coloured alternately to distinguish.

CutCircle

Utilisation

Copiez la macro dans la console Python de FreeCAD, sélectionnez les arcs et cercles concernés, tapez la commande cutCirle dans la console Python de FreeCAD:

pour voir les cercles et arcs découpés dans cet exemple cinq arcs contigus.

l'objet(s) original(aux) n'est pas éffacé.

Script

Macro_Cut_Circle.FCMacro

# selection circle(s) (circles and arcs)
# give number of cut, biColor 0/1
# cut the circle to x arcs
# if biColor is <> 0 the arcs are coloured alternately Red White Red White ....
# 
 
__title__   = "cutCircle"
__author__  = "Mario52"
__date__    = "02/07/2019"
__version__ = "00.03"

import Draft
global biscolor ; biscolor = 0
def cutCircle(number = 2, biColor = 0):
    global biscolor
    def defbiColor(objet):
        global biscolor
        if biscolor == 0:
            FreeCADGui.ActiveDocument.getObject(objet.Name).LineColor = (1.0,0.0,0.0) # 255 = 1 (10 = (1/255 * 10 ))
            biscolor = 1
        else:
            FreeCADGui.ActiveDocument.getObject(objet.Name).LineColor = (1.0,1.0,1.0) # 255 = 1 (10 = (1/255 * 10 ))
            biscolor = 0
    selection = FreeCADGui.Selection.getSelection()
    for piece in selection:
        nom = piece.Name
        if (nom[:6] == "Circle") or (nom[:8] == "Cylinder"):
            circonference = piece.Shape.Length
            rayon = piece.Radius
            placem = piece.Placement
 
            if (nom[:8] == "Cylinder"):
                pivot0 = float(piece.Angle/number)
                FreeCAD.Console.PrintMessage("Cylinder"+"\n")
            else:
                pivot0 = float(360/number)
                FreeCAD.Console.PrintMessage("Circle"+"\n")
            pivot1 = 0.0
            for i in range(number):
                cercle = Draft.makeCircle(radius=rayon,placement=placem,face=False,startangle=(pivot1),endangle=(pivot0+pivot1),support=None)
                if biColor != 0:
                    defbiColor(cercle)
                pivot1 += pivot0
        elif nom[:3] == "Arc":
            FreeCAD.Console.PrintMessage("Arc"+"\n")
            circonference = piece.Shape.Length
            rayon = piece.Radius
            placem = piece.Placement
            First = float(piece.FirstAngle)
            Last  = float(piece.LastAngle)
            pivot0 = abs((First - Last) / number)
            pivot1 = 0.0
            for i in range(number):
                cercle = Draft.makeCircle(radius=rayon,placement=placem,face=False,startangle=(pivot1+First),endangle=(pivot0+pivot1+First),support=None)
                if biColor != 0:
                    defbiColor(cercle)
                pivot1 += pivot0
    App.ActiveDocument.recompute()

#cutCircle(5, 1)  # here with 5 arcs and coloured
#cutCircle(4)     #

Exemple

cutCircle(5, 1)  # here with 5 arcs and coloured
cutCircle(4)     #

Projet

Couper les cercles d'un cylindre.

Version

ver 00.03 02/07/2019 : add "App.ActiveDocument.recompute()"

ver 00.02 09/03/2015 : ajout de création des arcs colorés alternativement rouge et blanc ou non.

ver 00.01 24/02/2015 :