Macro Cut Circle/fr: Difference between revisions
Renatorivo (talk | contribs) No edit summary |
No edit summary |
||
(42 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
{{Macro/fr|Icon=Text-x-python|Name=Macro cutCircle|Description=Coupe un cercle ou un arc en nombre d'arcs pécifié.|Author=mario52}} |
|||
{{Macro/fr |
|||
|Name=Macro Cut Circle |
|||
|Name/fr=Macro Cut Circle |
|||
|Icon=Macro_Cut_Circle.png |
|||
|Description=Découpe les cercles ou les arcs en plusieurs arcs. Les arcs créés peuvent être colorés alternativement pour les distinguer.<br/>{{ColoredText|(Ligne de commande, coller la macro complète dans la console Python)}}. |
|||
|Author=mario52 |
|||
|Version=00.03 |
|||
|Date=2019-07-02 |
|||
|FCVersion=Toutes |
|||
|Download=[https://wiki.freecad.org/images/9/93/Macro_Cut_Circle.png Icône de la barre d'outils] |
|||
}} |
|||
==Description== |
==Description== |
||
This macro cut a circle(s) or arc(s) in multiple arcs, the arcs can be coloured alternately to distinguish. |
|||
Cette macro découpe les cercles ou les arcs en plusieurs arcs. Les arcs créés peuvent être colorés alternativement pour les distinguer. |
|||
[[File:Macro CutCircle 00.png|400px |
[[File:Macro CutCircle 00.png|400px]] |
||
{{Caption|CutCircle}} |
|||
{{clear}} |
|||
==Use== |
|||
<span id="Usage"></span> |
|||
Copy the macro '''cutCirle''' complete in the Python console FreeCAD select the circle(s) and (or) arc(s) type in the console: |
|||
==Utilisation== |
|||
<syntaxhighlight> |
|||
⚫ | |||
⚫ | |||
</syntaxhighlight> |
|||
pour voir les cercles et arcs découpés dans cet exemple cinq arcs contigus. |
|||
# Collez la macro '''cutCirle''' dans la [[Python_console/fr|console Python]]. |
|||
⚫ | |||
# Appuyez sur {{KEY|Entrée}} (le code est maintenant en mémoire). |
|||
# Sélectionnez un ou plusieurs cercles ou arcs. |
|||
# Lancez la fonction {{Incode|cutCircle()}} avec 1 ou 2 arguments depuis la console Python : |
|||
#* Exemple avec 1 argument : {{Incode|cutCircle(4)}}. Ceci créera 4 nouveaux arcs pour chaque cercle ou arc sélectionné et s'arrêtera là (pas de coloration). |
|||
#* Exemple avec 2 arguments : {{Incode|cutCircle(6, 1)}}. Ceci créera 6 nouveaux arcs pour chaque cercle ou arc sélectionné, colorés alternativement en rouge et blanc comme indiqué dans l'image. |
|||
⚫ | |||
==Script== |
==Script== |
||
⚫ | |||
Icône de la barre d'outils [[Image:Macro_Cut_Circle.png]] |
|||
<syntaxhighlight> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{{MacroCode|code= |
|||
⚫ | |||
⚫ | |||
# selection circle(s) (circles and arcs) |
# selection circle(s) (circles and arcs) |
||
Line 32: | Line 44: | ||
# if biColor is <> 0 the arcs are colored alternately Red White Red White .... |
# if biColor is <> 0 the arcs are colored alternately Red White Red White .... |
||
# |
# |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
import Draft |
import Draft |
||
Line 79: | Line 96: | ||
defbiColor(cercle) |
defbiColor(cercle) |
||
pivot1 += pivot0 |
pivot1 += pivot0 |
||
App.ActiveDocument.recompute() |
|||
#cutCircle(5, 1) # here with 5 arcs and colored |
|||
⚫ | |||
#cutCircle(4) # |
|||
}} |
|||
</syntaxhighlight> |
|||
<span id="Example"></span> |
|||
==Exemple== |
|||
{{Code|code= |
|||
⚫ | |||
⚫ | |||
}} |
|||
<span id="Project"></span> |
|||
==Projet== |
==Projet== |
||
Couper |
Couper des cercles d'un cylindre. |
||
==Version== |
==Version== |
||
ver 00.03 02/07/2019 : ajout "App.ActiveDocument.recompute()" |
|||
ver 00.02 09/03/2015 : adding create arcs coloured altenat alternately Red White Red White .... or not |
|||
ver 00.02 09/03/2015 : ajout de création des arcs colorés alternativement rouge et blanc ou non. |
|||
⚫ | |||
⚫ | |||
{{clear}} |
|||
⚫ |
Latest revision as of 12:21, 31 December 2023
Description |
---|
Découpe les cercles ou les arcs en plusieurs arcs. Les arcs créés peuvent être colorés alternativement pour les distinguer. (Ligne de commande, coller la macro complète dans la console Python). Version macro : 00.03 Date dernière modification : 2019-07-02 Version FreeCAD : Toutes Téléchargement : Icône de la barre d'outils Auteur: mario52 |
Auteur |
mario52 |
Téléchargement |
Icône de la barre d'outils |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
00.03 |
Dernière modification |
2019-07-02 |
Version(s) FreeCAD |
Toutes |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Cette macro découpe les cercles ou les arcs en plusieurs arcs. Les arcs créés peuvent être colorés alternativement pour les distinguer.
CutCircle
Utilisation
- Collez la macro cutCirle dans la console Python.
- Appuyez sur Entrée (le code est maintenant en mémoire).
- Sélectionnez un ou plusieurs cercles ou arcs.
- Lancez la fonction
cutCircle()
avec 1 ou 2 arguments depuis la console Python :- Exemple avec 1 argument :
cutCircle(4)
. Ceci créera 4 nouveaux arcs pour chaque cercle ou arc sélectionné et s'arrêtera là (pas de coloration). - Exemple avec 2 arguments :
cutCircle(6, 1)
. Ceci créera 6 nouveaux arcs pour chaque cercle ou arc sélectionné, colorés alternativement en rouge et blanc comme indiqué dans l'image.
- Exemple avec 1 argument :
- L'objet original n'est pas supprimé.
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 colored 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 colored #cutCircle(4) #
Exemple
cutCircle(5, 1) # here with 5 arcs and colored
cutCircle(4) #
Projet
Couper des cercles d'un cylindre.
Version
ver 00.03 02/07/2019 : ajout "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 :