Macro FCSpring Helix Variable/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
Tag: Manual revert
 
(92 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Macro/fr
{{Macro/fr
|Name=Macro FCSpring Helix Variable
|Name=Macro FCSpring Helix Variable
|Name/fr=Macro FCSpring Helix Variable
|Icon=FCSpring Helix Variable.png
|Icon=FCSpring Helix Variable.png
|Description=Cette macro crée un ressort avec personnalisable, tout tour peut changer la configuration du ressort peut être enregistré dans un fichier avec l'extension '''.FCSpring'''.<br/>Sont détectés: Surface (direction de la face), Cylindre (rayon), Ellipse (rayon mineur), Sphère (rayon), Tore (rayon1), Plan (direction), Ligne (suit la direction), point (Position XYZ du vertex) <br / > Si aucun objet n'est détecté (pas de sélection), le ressort est créé au point XYZ 0., 0., 0.Voir des [https://www.freecadweb.org/wiki/Macro_FCSpring_Helix_Variable/fr#Exemples exemples]
|Description=Cette macro crée un ressort personnalisable. Chaque tour peut modifier la configuration du ressort qui peut être enregistrée dans un fichier avec l'extension '''.FCSpring''' ou les coordonnées '''.FCSpringCoor'''.<br/>Sont détectés : surface (direction de la face), Cylindre (rayon), Ellipse (rayon mineur), Sphère (rayon), Toroïde (rayon 1), Plan (direction), Ligne (suit la direction), Point (position du sommet XYZ).<br/ > Si aucun objet n'est détecté (pas de sélection), le ressort est créé au point XYZ 0., 0., 0.<br/>Voir des [https://www.freecadweb.org/wiki/Macro_FCSpring_Helix_Variable/fr#Exemples exemples]<br/><br/>Le fichier .zip [https://forum.freecadweb.org/download/file.php?id=80844 des icônes]
|Author=Mario52
|Author=Mario52
|Download=[https://wiki.freecad.org/images/6/69/FCSpring_Helix_Variable.png Icône de la barre d'outils]
|Version=01.16
|Version=01.18c
|Date=2020/05/01
|Date=2023/09/01
|Download=Download the [https://forum.freecadweb.org/download/file.php?id=80844 the Icons] in .zip file
|FCVersion=0.19
|FCVersion=0.19
}}
}}


<div class="mw-translate-fuzzy">
==Description==
==Description==
Cette macro crée un ressort avec un pas variable entièrement configurable. Chaque pas du ressort peut être configuré.


Cette macro crée un ressort hautement personnalisable. Toute modification modifiant la configuration du ressort peut être enregistrée dans un fichier avec l'extension .FCSpring ou coordonnées .FCSpringCoor<br /> Sont détectées : Surface (Direction de la face), Cylindre (Rayon), Ellipse (MinorRadius), Sphère (Rayon), Toroïde (Rayon1), Plan (direction), ligne (suivre la direction), point (position du sommet XYZ) <br /> Si aucun objet n'est détecté (pas de sélection) le ressort est créé au point XYZ 0., 0., 0.
La définition du ressort obtenu peut être sauvée dans un fichier ayant l'extension '''.FCSpring'''<br />
</div>


{{Codeextralink|https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/3f6e4df2768f36e88af4f56af669206ff0d33e0c/Macro_FCSpring_Helix_Variable.FCMacro}}

{{Codeextralink|https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/436436a35a359531c6480cc0c9edfc9b83301685/Macro_FCSpring_Helix_Variable.FCMacro}}


[[File:TruncateSpring00.png|400px]]
[[File:TruncateSpring00.png|400px]]
{{Caption|FCSpring Helix Variable}}
{{Caption|FCSpring Helix Variable}}


<span id="Usage"></span>
==Utilisation==
==Utilisation==

Cette section est utilisée pour configurer le ressort.
Cette section est utilisée pour configurer le ressort.


Line 31: Line 31:
[[File:Macro TruncateSpring 01.png]]
[[File:Macro TruncateSpring 01.png]]
{{clear}}
{{clear}}

==== '''Interface graphique de FCSpring_Helix_Variable''' ====
<span id="Gui"></span>
====Interface graphique====


[[File:Macro FCSpring Helix Variable 01.png]]
[[File:Macro FCSpring Helix Variable 01.png]]
{{clear}}
{{clear}}


<span id="Configuration"></span>
==== Configuration ====
==== Configuration ====

* {{SpinBox|10 coils}} '''Number of coil''' : Nombre total de spires du ressort. Défaut = 10
* {{SpinBox|20,000 mm}} '''Radius of spring''' : Rayon du ressort. Défaut = 20.0
* {{SpinBox|10 coils}} '''Number of coil''' : nombre total de spires du ressort. Par défaut = 10
* {{SpinBox|15,000 mm}} '''Pitch of spring''' : Pas du ressort. Défaut = 15.0
* {{SpinBox|20,000 mm}} '''Radius of spring''' : rayon du ressort. Par défaut = 20.0
* {{SpinBox|15,000 mm}} '''Pitch of spring''' : pas du ressort. Par défaut = 15.0
* {{SpinBox|5 ( 72 points )}} '''Precision of turn''' : Précision par tour qui correspond en nombre de points pour un tour, le nombre de points est calculé comme suit : Précision (nombre de points) = (pitch / (360/Precision)). Default = 5 (72 points)
* {{SpinBox|5 ( 72 points )}} '''Precision of turn''' : précision par tour. Cela correspond au nombre de points par tour. Le nombre de points est calculé comme suit : precision (nombre de points) = (pitch / (360/precision)). Par défaut = 5 (72 points)
* {{SpinBox|20,000 mm}} '''Spring conical''' : Donner le grand diamètre du cône, cette dimension sera toujours égale ou plus grande que le rayon.
* {{SpinBox|20,000 mm}} : rayon du grand cercle du cône ({{CheckBox|TRUE|Spring conical}} doit être coché)
* {{CheckBox|Spring conical}} '''CheckBox''' : Case à cocher qui permet d'activer la fonction Spring conical.<br /> (Un cône peut être configuré manuellement mais cette petite procédure automatise la commande)
* {{CheckBox|Spring conical}} : grand diamètre du cône. Cette dimension sera toujours supérieure au rayon
* {{CheckBox|Angles}} : Case à cocher pour activer la fonction Begin et End des angles des spires.<br /> Si la fonction est activée le réglage se règle automatiquement à 1 (360 points par tour, 1 point = 1 degrés)
* {{CheckBox|Angles}} : case à cocher pour activer la fonction Begin et End des angles des spires.<br />Si la fonction est activée, le réglage {{SpinBox|1 ( 360 points )}} se règle automatiquement à 1 (360 points par tour, 1 point = 1 degré)
* {{SpinBox|0 deg}} '''Begin''' : Angle de départ ou commence la première spire. Défaut 0°
* {{SpinBox|360 deg}} '''End''' : Angle de fin ou se termine la dernière spire. Défaut 360°
* {{SpinBox|0 deg}} '''Begin''' : angle de départ ou commence la première spire.
* {{SpinBox|360 deg}} '''End''' : angle de fin ou se termine la dernière spire.


[[File:Macro FCSpring Helix Variable 02.png]]
[[File:Macro FCSpring Helix Variable 02.png]]
{{clear}}
{{clear}}


<span id="Type_line"></span>
==== Type line ====
==== Type de ligne ====
* {{RadioButton|TRUE|[[Image:Draft_BSpline.svg|24px]] Bspline}} '''BSpline''' : Type de ligne BSpline.

* {{RadioButton|[[Image:Draft_Wire.svg|24px]] Wire}} '''Wire''' : Type ligne Wire.
* {{CheckBox|[[Image:Draft_Point.svg|24px]] Points}} '''Points''' : Case à cocher point. Si la case à cocher est activée, un point est créé sur chaque point.
* {{RadioButton|TRUE|[[Image:Draft_BSpline.svg|24px]] Bspline}} '''BSpline''' : type de ligne est une B-spline.
* {{RadioButton|[[Image:Draft_Wire.svg|24px]] Wire}} '''Wire''' : type de ligne est filaire.
* {{CheckBox|Reverse}} '''Reverse''' : Case à cocher en mode inverse. Si la case à cocher est activée, le ressort change de direction (sens horaire).
* {{CheckBox|[[Image:Draft_Point.svg|24px]] Points}} '''Points''' : si la case est cochée, un point est créé sur chaque point.
* {{CheckBox|Reverse}} '''Reverse''' : mode inverse. Si la case est cochée, le ressort change de direction (sens horaire).


[[File:Macro FCSpring Helix Variable 03.png ]]
[[File:Macro FCSpring Helix Variable 03.png ]]
{{clear}}
{{clear}}


<span id="Options"></span>
====Option====
====Option====

Cette section s'affiche dès qu'un objet est sélectionné. le type d'objet est renseigné dans l'éditeur de texte
Cette section s'affiche dès qu'un objet est sélectionné. le type d'objet est renseigné dans l'éditeur de texte


L'objet(s) peut être une ligne, 2 points, cercle, arête... un axe de la longueur du ressort est automatiquement créé.
L'objet peut être une ligne, 2 points, cercle, arête... Un axe de la longueur du ressort est automatiquement créé.


Détection : Cylindre (radius), Sphère (rayon), Tore (rayon) , Cône (petit rayon), Cercle (rayon), Arc (rayon), Ellipse (petit rayon)
Détection : Cylindre (radius), Sphère (rayon), Tore (rayon) , Cône (petit rayon), Cercle (rayon), Arc (rayon), Ellipse (petit rayon)


* {{Button|Normal}} : Si un cercle est sélectionné '''Normal''' ne modifie pas le rayon déterminé (Défaut)
* {{Button|Normal}} : si un cercle est sélectionné '''Normal''', ne modifie pas le rayon du cercle (Par défaut)
** {{Button|Adapt Rad.}} : Si le bouton {{Button|Normal}} est pressé le texte {{Button|Adapt Rad.}} est affiché, le rayon du ressort est adapté au rayon du cercle ou de l'objet sélectionné (Si un rayon est détecté)
** {{Button|Adapt Rad.}} : si le bouton {{Button|Normal}} est pressé, le texte {{Button|Adapt Rad.}} est affiché, le rayon du ressort est adapté au rayon du cercle ou de l'objet sélectionné (Si un rayon est détecté)
* {{Button|Point Mouse}} : Si le clic de souris se fait sur une face, le point de la souris sera le point de départ de l'axe (Défaut)
* {{Button|Point Mouse}} : si le clic de souris se fait sur une face, le point de la souris sera le point de départ de l'axe (Par défaut)
** {{Button|Center Face}} : Si le bouton {{Button|Point Mouse}} est pressé, le texte du bouton change et le ressort sera créé au centre de la face sélectionnée
** {{Button|Center Face}} : si le bouton {{Button|Point Mouse}} est pressé, le texte du bouton change et le ressort sera créé au centre de la face sélectionnée
* {{CheckBox|Position}} : Si deux objets sont sélectionnés (le premier sera l'axe et le second sera le ressort), si ce {{CheckBox|TRUE|Position}} checkBox est activé, il permet de modifier l'emplacement du ressort (le deuxième objet) le long de l'axe (premier objet). Il n'y a pas de contrôle des objets sélectionnés n'importe quel objet sera positionné sur la longueur de l'axe et positionné
* {{CheckBox|Position}} : si deux objets sont sélectionnés (le premier l'axe et le second le ressort (ou tout autre objet)), cette case est activé et vous pouvez de modifier l'emplacement du ressort (le deuxième objet) le long de l'axe (premier objet). {{CheckBox|TRUE|Position}} doit être sélectionnée sur "Position" pour être active.
* {{Button|Circle}} : Si trois points sont sélectionnés, le bouton '''Circle''' est activé et un cercle pourra être créé il pourra servir de base pour le ressort
* {{Button|Circle}} : si trois points sont sélectionnés, le bouton {{Button|Circle}} est activé et un cercle pourra être créé, il pourra servir de base pour un ressort.


[[File:Macro FCSpring Helix Variable 02 1.png]]
[[File:Macro FCSpring Helix Variable 02 1.png]]
{{clear}}
{{clear}}


<span id="Position_(0)(xx)"></span>
====Position (0)(xx) ====
====Position (0)(xx) ====
(0)(xx) : Nombre de sélection(s), longueur de l'axe en mm x 10, est égal au nombres de points de déplacements disponibles sur la longueur de l'axe (pas de 0.1 mm)


(0)(xx) : nombre de sélection(s), longueur de l'axe en mm x 10, est égal au nombres de points de déplacements disponibles sur la longueur de l'axe (pas de 0.1 mm)
* {{Button|Begin/End}} : Positionnement du ressort au début, au milieu ou à la fin de l'axe

* {{Button|Reverse Spr.}} : Inverse le ressort sur son axe
* {{SpinBox|0,1 mm}} : Déplace le ressort de manière précise le long du ressort par pas de 0.1 mm le long de son axe
* {{Button|Begin/End}} : positionnement du ressort au début, au milieu ou à la fin de l'axe
* {{KEY|Reverse Count.}} : Inverse le compteur exemple: Début 0 à 10.. ou Fin 0 to 10..
* {{Button|Reverse Spr.}} : inverse le ressort sur son axe
* {{SpinBox|0,1 mm}} : déplace le ressort de manière précise le long du ressort par pas de 0.1 mm le long de son axe
* '''Slider''' : Positionne le ressort de façon rapide
* {{KEY|Reverse Count.}} : inverse le compteur, par exemple: Begin 0 to 10.. ou End 0 to 10..
* '''Slider''' : positionne le ressort sur son axe


[[File:Macro FCSpring Helix Variable 02 2.png]]
[[File:Macro FCSpring Helix Variable 02 2.png]]
{{clear}}
{{clear}}


<span id="Coil_special_dimension"></span>
====Coil special dimension====
====Dimensions particulières de la spire====
* {{SpinBox|Num: 2}} '''Numbering of coil''' : Numéro de la spire a modifier. (Defaut : 0)

* {{CheckBox|Smoothing}} '''Smoothing''' Cette case à cocher découvre un spinBox pour déterminer le degré de lissage entre deux spires ou l'écartement est important, le degré maximum du lissage est la valeur de précision -1 (cette option est à l'état de prototype et le résultat peur être satisfaisant, invisible ou mauvais)
* {{SpinBox|0,000 mm}} '''Pitch of coil''' : Dimension du pas de la spire a modifier. (Defaut : 0)
* {{SpinBox|Num: 2}} '''Numbering of coil''' : numéro de la spire a modifier. (Defaut : 0)
* {{CheckBox|Smoothing}} '''Smoothing''' : cette case à cocher découvre un spinBox pour déterminer le degré de lissage entre deux spires ou l'écartement est important, le degré maximum du lissage est la valeur de précision -1 (cette option est à l'état de prototype et le résultat peur être satisfaisant, invisible ou mauvais)
* {{Button|15.0 mm}} : Si le bouton est cliqué, la valeur de "Pitch of string" est affectée à "Pitch of coil" (Cette valeur est automatiquement alignée à la valeur de Pitch of string)
* {{SpinBox|0,000 mm}} '''Radius of coil''' : Rayon de la spire a modifier. (Defaut : 0)
* {{SpinBox|0,000 mm}} '''Pitch of coil''' : dimension du pas de la spire a modifier. (Defaut : 0)
* {{Button|20.0 mm}} : Si le bouton est cliqué, la valeur de "Radius of string" est affectée à "Radius of coil" (Cette valeur est automatiquement alignée à la valeur de Radius of string)
* {{Button|15.0 mm}} : si le bouton est cliqué, la valeur de "Pitch of string" est affectée à "Pitch of coil" (Cette valeur est automatiquement alignée à la valeur de Pitch of string)
* {{SpinBox|0,000 mm}} '''Radius of coil''' : rayon de la spire a modifier. (Defaut : 0)
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_01.png|16px]] Accept the value modified}} : Bouton d'acceptation pour valider les modifications de la spire a modifier.
* {{Button|20.0 mm}} : si le bouton est cliqué, la valeur de "Radius of string" est affectée à "Radius of coil" (Cette valeur est automatiquement alignée à la valeur de Radius of string)
* '''Text edit''' : Cette fenêtre affiche les spires modifiées et validées.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_01.png|16px]] Accept the value modified}} : bouton d'acceptation pour valider les modifications de la spire a modifier.
* {{Button|Clear}} : Nettoie la fenêtre textedit
* '''Text edit''' : cette fenêtre affiche les spires modifiées et validées.
* {{Button|Zoom}} : Bouton "Zoom" Agrandit la fenêtre textedit
* {{Button|Clear}} : nettoie l'éditeur de texte
* {{Button|Zoom}} : bouton "Zoom", agrandit la fenêtre text-edit


[[File:Macro FCSpring Helix Variable 04.png]]
[[File:Macro FCSpring Helix Variable 04.png]]
{{clear}}
{{clear}}


<span id="Command"></span>
==== Commandes ====
==== Commandes ====

* {{Button|[[Image:FCSpring_Helix_Variable_Icon_02.png|16px]] Load}} : Le bouton Read ouvre une boîte de dialogue pour lire un fichier sauvegardé, le fichier porte l'extension '''.FCSpring'''.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_03.png|16px]] Save}} : Le bouton Save ouvre une boîte de dialogue pour sauver un fichier avec la configuration du ressort modifiée ou non, le fichier porte l'extension '''.FCSpring'''.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_02.png|16px]] Load}} : le bouton Lead ouvre une boîte de dialogue pour lire un fichier sauvegardé, le fichier porte l'extension '''.FCSpring'''.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_02b.png|16px]] Load Coordinates}} : Ouvre une boîte de dialogue pour charger un fichier '''.FCSpringCoor''' (toutes les coordonnées des points constituants le ressort).
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_03.png|16px]] Save}} : le bouton Save ouvre une boîte de dialogue pour sauver un fichier avec la configuration du ressort modifiée ou non, le fichier porte l'extension '''.FCSpring'''.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_03b.png|16px]] Save Coordinates}} : Ouvre une boîte de dialogue pour sauver un fichier '''.FCSpringCoor''' (toutes les coordonnées des points constituants le ressort).
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_02b.png|16px]] Load Coordinates}} : ouvre une boîte de dialogue pour charger un fichier '''.FCSpringCoor''' (toutes les coordonnées des points constituants le ressort).
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_03b.png|16px]] Save Coordinates}} : ouvre une boîte de dialogue pour sauver un fichier '''.FCSpringCoor''' (toutes les coordonnées des points constituants le ressort).
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_04.png|16px]] Quit}} : Quitte la macro.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_05.png|16px]] Reset}} : Reset la macro à la configuration par défaut.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_04.png|16px]] Quit}} : quitte la macro.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_06.png|16px]] Launch}} : Lance la macro et crée le ressort dans sa configuration.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_05.png|16px]] Reset}} : réinitialise la macro à la configuration par défaut.
* {{Button|[[Image:FCSpring_Helix_Variable_Icon_06.png|16px]] Launch}} : lance la macro et crée le ressort dans sa configuration.
* {{Button|Help}} : Ce bouton affiche la page wiki dans la fenêtre web de FreeCAD
* {{Button|Help}} : ce bouton affiche la page wiki dans la fenêtre web de FreeCAD


[[File:Macro FCSpring Helix Variable 05.png]]
[[File:Macro FCSpring Helix Variable 05.png]]
{{clear}}
{{clear}}


<span id="Report_view"></span>
== Vue rapport ==
== Vue rapport ==

La fenêtre Vue rapport affiche les détails de la configuration du ressort.
La fenêtre Vue rapport affiche les détails de la configuration du ressort.


Line 122: Line 138:
{{clear}}
{{clear}}


<span id="Example_spring"></span>
== Exemples de ressorts ==
== Exemple de ressort ==
Exemples de ressorts modifiés:

Exemple de ressort modifié :


[[File:Macro FCSpring Helix Variable 07.png]]
[[File:Macro FCSpring Helix Variable 07.png]]
{{clear}}
{{clear}}

== Exemple Vue rapport ==
<span id="Example_Report_view"></span>
== Exemple de vue rapport ==

Dès que la macro est lancée, la liste de la configuration du ressort est affichée sous forme de tableau.
Dès que la macro est lancée, la liste de la configuration du ressort est affichée sous forme de tableau.


Ici les données du ressort affichées dans la vue rapport.
Ici les données du ressort affichées dans la vue rapport.
[[File:Macro FCSpring Helix Variable 08.png]]
[[File:Macro FCSpring Helix Variable 08.png]]

{{clear}}
{{clear}}

<span id="Icon"></span>
==Icônes==
==Icônes==
Téléchargez les icônes et copier le tout dans votre répertoire de macro.


Téléchargez les icônes et copier les dans votre répertoire de macro.
Cliquez sur l'image, dans la nouvelle fenêtre positionnez votre souris sur l'icône et faites "Enregistrez la cible du lien sous ..."

Cliquez sur l'image, dans la nouvelle fenêtre positionnez votre souris sur l'icône, clique droit et faites "Save target as ..."


Bouton pour votre barre d'outils [[File:FCSpring Helix Variable.png|left|Bouton]]
Bouton pour votre barre d'outils [[File:FCSpring Helix Variable.png|left|Bouton]]
{{clear}}
{{clear}}

Icônes de la Macro
Icônes de la macro


[[File:FCSpring_Helix_Variable_Icon_01.png]] [[File:FCSpring_Helix_Variable_Icon_02.png]] [[File:FCSpring_Helix_Variable_Icon_02b.png]] [[File:FCSpring_Helix_Variable_Icon_03.png]] [[File:FCSpring_Helix_Variable_Icon_03b.png]] [[File:FCSpring_Helix_Variable_Icon_04.png]] [[File:FCSpring_Helix_Variable_Icon_05.png]] [[File:FCSpring_Helix_Variable_Icon_06.png]]
[[File:FCSpring_Helix_Variable_Icon_01.png]] [[File:FCSpring_Helix_Variable_Icon_02.png]] [[File:FCSpring_Helix_Variable_Icon_02b.png]] [[File:FCSpring_Helix_Variable_Icon_03.png]] [[File:FCSpring_Helix_Variable_Icon_03b.png]] [[File:FCSpring_Helix_Variable_Icon_04.png]] [[File:FCSpring_Helix_Variable_Icon_05.png]] [[File:FCSpring_Helix_Variable_Icon_06.png]]
{{clear}}
{{clear}}

==Script==
==Script==


Line 150: Line 177:
Téléchargez la macro sur Gist [https://gist.github.com/mario52a/68c81c32a0727a693d3a Macro_FCSpring_Helix_Variable]
Téléchargez la macro sur Gist [https://gist.github.com/mario52a/68c81c32a0727a693d3a Macro_FCSpring_Helix_Variable]


== Installation ==
==Installation==

Le fichier ci-dessus est une macro sous la forme de code GitHub. Téléchargez le fichier Zip sur GitHub, puis suivez les instructions d'installation des macros pour débutants indiquées à l'adresse [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD installing FreeCAD macros in Ubuntu]
Le fichier ci-dessus est une macro sous la forme de code GitHub. Téléchargez le fichier Zip depuis GitHub, puis suivez les instructions d'installation des macros pour débutants indiquées à l'adresse [https://wiki.opensourceecology.org/wiki/Installing_Macros_in_FreeCAD installing FreeCAD macros in Ubuntu]


<span id="Examples"></span>
==Exemples==
==Exemples==


<center>
<center>
<gallery widths="400" heights="300">
<gallery widths="400" heights="300">
File:Valves Assembly IN EX.png| Valves Assembly IN EX avec la permission et créée par r.tec voir [http://forum.freecadweb.org/viewtopic.php?f=24&t=14183 Inlet & Exhaust Valves Assembly] et [http://forum.freecadweb.org/viewtopic.php?f=13&t=14143 Spiralfeder] merci r.tec
File:Valves Assembly IN EX.png| Valves Assembly IN EX avec la permission de et créée par r.tec voir [http://forum.freecadweb.org/viewtopic.php?f=24&t=14183 Inlet & Exhaust Valves Assembly] et [http://forum.freecadweb.org/viewtopic.php?f=13&t=14143 Spiralfeder] merci r.tec
</gallery>
</gallery>
</center>
</center>
Line 187: Line 216:
</gallery>
</gallery>
</center>
</center>
<br />
<center>
<gallery widths="300" heights="200">
File:Macro FCSpring Helix Variable polygonalSpiral00.png|Example polygonal Spiral by 3 points
File:Macro FCSpring Helix Variable polygonalSpiral01.png|Example polygonal Spiral by 4 points
</gallery>
</center>
<br />
<br />
<center>
<center>
Line 202: Line 238:
<center>
<center>
<gallery widths="800" heights="800">
<gallery widths="800" heights="800">
File:Macro FCSpringHelixVariable Example 02.gif|Exemple crée un ressort conique spring
File:Macro FCSpringHelixVariable Example 02.gif|Exemple pour créeer un ressort conique
</gallery>
</gallery>
</center>
</center>
Line 210: Line 246:
<center>
<center>
<gallery widths="800" heights="400">
<gallery widths="800" heights="400">
File:Macro_FCSpringHelixVariable_Spring_On_Circle.gif|Exemple créer un ressort sur un cercle
File:Macro_FCSpringHelixVariable_Spring_On_Circle.gif|Exemple pour créer un ressort sur un cercle
File:Macro_FCSpringHelixVarable_Spring_Along_Axis.gif|DéplaceMENT le long de l'axe
File:Macro_FCSpringHelixVarable_Spring_Along_Axis.gif|Déplacement le long de l'axe
</gallery>
</gallery>
</center>
</center>
<br />
<br />


<span id="Links"></span>

==Liens==
==Liens==

Discussion sur le forum [http://forum.freecadweb.org/viewtopic.php?f=3&t=8313&p=68161#p68161 Try to do a Spring]
Discussion sur le forum [http://forum.freecadweb.org/viewtopic.php?f=3&t=8313&p=68161#p68161 Try to do a Spring]


<span id="Project"></span>
==Projet==
==Projet==


ressort tronqué
Ressort tronqué


Lissage des spires aux changements des spires : fait
Lissage des spires aux changements des spires : fait
Line 228: Line 266:
Modification du diamètre à chaque spire au choix : fait
Modification du diamètre à chaque spire au choix : fait


<span id="Version"></span>
==Versions==
==Versions==


2023/09/01 Version 0.18c adding '''FreeCAD.activeDocument().recompute(None,True,True)'''''Texte en italique'' "bug" fixed by '''Syres''' thanks
2020/10/18 Ver 00.16b : i suppress the test on FC 18 line 56, i suppress the timer chrono and i wait one little
[https://forum.freecad.org/viewtopic.php?p=703568#p703568 How to draw polygonal spirals in Freecad?]

2023/09/01 Version 0.18b correct (adapt) the code :

{{Code|code=
self.PB_Adapt_Radius.setStyleSheet("background-color: QPalette.Base")
}}
to
{{Code|code=
self.PB_Adapt_Radius.setStyleSheet("QPushButton {background-color: QPalette.Base}")
}}

2022/03/16 Version 0.18 : ajout scrollBar, possibilité docking Gauche or Droite, restauration du chrono ''(time.time())'', mémorise le dernier FilePath

{{Code|code=
####chrono################
import time
global depart ; depart = 0.0
global arrivee; arrivee = 0.0
def chrono(switch): # 0=depart autre=stop
#time.strftime('%X %x %Z')#'15:44:07 12/14/19 Paris, Madrid'
global depart
global arrivee
try:
if switch == 0:
depart = time.time()#time.clock()
App.Console.PrintMessage("Chrono begin : "+str(time.strftime('%X'))+"\n")
else:
arrivee = time.time()#time.clock()
App.Console.PrintMessage("Chrono end : "+str(time.strftime('%X'))+"\n")
parcouru = ((arrivee - depart)/60.0)
App.Console.PrintError("Time execution : "+str("%.3f" % parcouru)+" min"+"\n\n")
return parcouru
FreeCADGui.updateGui()
except Exception: None
####chrono################
}}

2020/11/12 Version=01.17 : suppression du timer chrono !!

2020/10/18 Ver 00.16b : suppression du test FC 18 line 56, et suppression de timer chrono j'attends...


2020/05/01 Ver 00.16: fichier d'erreur de correction (sauvegarde et chargement) cause la suppression de "label_11_Name" ...
2020/05/01 Ver 00.16: fichier d'erreur de correction (sauvegarde et chargement) cause la suppression de "label_11_Name" ...
Line 277: Line 357:


==Limitations==
==Limitations==
Durant les tests la fonction sweep a donné ces erreurs !
Durant les tests de balayage, certaines erreurs ont été obtenues !


<center>
<center>
<gallery widths="400" heights="200">
<gallery widths="400" heights="200">
File:Macro FCSpring Helix Variable 20.png|For the moment the macro is not adapted for the square, rectangle... <br />Only circle work well
File:Macro FCSpring Helix Variable 20.png|Pour l'instant, la macro n'est pas adaptée au carré, au rectangle... <br />Seul le cercle fonctionne bien
</gallery>
</gallery>
</center>
</center>
Line 287: Line 367:
<center>
<center>
<gallery widths="300" heights="100">
<gallery widths="300" heights="100">
File:Macro FCSpring Helix Variable 09.png|ACCESS VIOLATION
File:Macro FCSpring Helix Variable 09.png|VIOLATION D'ACCÈS
File:Macro FCSpring Helix Variable 10.png|TCollection_IndexedDataMap
File:Macro FCSpring Helix Variable 10.png|TCollection_IndexedDataMap
</gallery>
</gallery>
Line 294: Line 374:
<center>
<center>
<gallery widths="300" heights="100">
<gallery widths="300" heights="100">
File:Macro FCSpring Helix Variable 11.png|Wrong usage of punctual sections
File:Macro FCSpring Helix Variable 11.png|Utilisation incorrecte des sections ponctuelles
</gallery>
</gallery>
</center>
</center>

Latest revision as of 13:00, 29 December 2023

Other languages:

Macro FCSpring Helix Variable

Description
Cette macro crée un ressort personnalisable. Chaque tour peut modifier la configuration du ressort qui peut être enregistrée dans un fichier avec l'extension .FCSpring ou les coordonnées .FCSpringCoor.
Sont détectés : surface (direction de la face), Cylindre (rayon), Ellipse (rayon mineur), Sphère (rayon), Toroïde (rayon 1), Plan (direction), Ligne (suit la direction), Point (position du sommet XYZ).
Si aucun objet n'est détecté (pas de sélection), le ressort est créé au point XYZ 0., 0., 0.
Voir des exemples

Le fichier .zip des icônes

Version macro : 01.18c
Date dernière modification : 2023/09/01
Version FreeCAD : 0.19
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
Version Macro
01.18c
Dernière modification
2023/09/01
Version(s) FreeCAD
0.19
Raccourci clavier
None
Voir aussi
None

Description

Cette macro crée un ressort hautement personnalisable. Toute modification modifiant la configuration du ressort peut être enregistrée dans un fichier avec l'extension .FCSpring ou coordonnées .FCSpringCoor
Sont détectées : Surface (Direction de la face), Cylindre (Rayon), Ellipse (MinorRadius), Sphère (Rayon), Toroïde (Rayon1), Plan (direction), ligne (suivre la direction), point (position du sommet XYZ)
Si aucun objet n'est détecté (pas de sélection) le ressort est créé au point XYZ 0., 0., 0.

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/3f6e4df2768f36e88af4f56af669206ff0d33e0c/Macro_FCSpring_Helix_Variable.FCMacro" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/3f6e4df2768f36e88af4f56af669206ff0d33e0c/Macro_FCSpring_Helix_Variable.FCMacro")


FCSpring Helix Variable

Utilisation

Cette section est utilisée pour configurer le ressort.

Détail schématique de la définition du ressort

Interface graphique

Configuration

  • 10 coils Number of coil : nombre total de spires du ressort. Par défaut = 10
  • 20,000 mm Radius of spring : rayon du ressort. Par défaut = 20.0
  • 15,000 mm Pitch of spring : pas du ressort. Par défaut = 15.0
  • 5 ( 72 points ) Precision of turn : précision par tour. Cela correspond au nombre de points par tour. Le nombre de points est calculé comme suit : precision (nombre de points) = (pitch / (360/precision)). Par défaut = 5 (72 points)
  • 20,000 mm  : rayon du grand cercle du cône ( Spring conical doit être coché)
  • Spring conical : grand diamètre du cône. Cette dimension sera toujours supérieure au rayon
  • Angles : case à cocher pour activer la fonction Begin et End des angles des spires.
    Si la fonction est activée, le réglage 1 ( 360 points ) se règle automatiquement à 1 (360 points par tour, 1 point = 1 degré)
  • 0 deg Begin : angle de départ ou commence la première spire.
  • 360 deg End : angle de fin ou se termine la dernière spire.

Type de ligne

  • Bspline BSpline : type de ligne est une B-spline.
  • Wire Wire : type de ligne est filaire.
  • Points Points : si la case est cochée, un point est créé sur chaque point.
  • Reverse Reverse : mode inverse. Si la case est cochée, le ressort change de direction (sens horaire).

Option

Cette section s'affiche dès qu'un objet est sélectionné. le type d'objet est renseigné dans l'éditeur de texte

L'objet peut être une ligne, 2 points, cercle, arête... Un axe de la longueur du ressort est automatiquement créé.

Détection : Cylindre (radius), Sphère (rayon), Tore (rayon) , Cône (petit rayon), Cercle (rayon), Arc (rayon), Ellipse (petit rayon)

  • Normal : si un cercle est sélectionné Normal, ne modifie pas le rayon du cercle (Par défaut)
    • Adapt Rad. : si le bouton Normal est pressé, le texte Adapt Rad. est affiché, le rayon du ressort est adapté au rayon du cercle ou de l'objet sélectionné (Si un rayon est détecté)
  • Point Mouse : si le clic de souris se fait sur une face, le point de la souris sera le point de départ de l'axe (Par défaut)
    • Center Face : si le bouton Point Mouse est pressé, le texte du bouton change et le ressort sera créé au centre de la face sélectionnée
  • Position : si deux objets sont sélectionnés (le premier l'axe et le second le ressort (ou tout autre objet)), cette case est activé et vous pouvez de modifier l'emplacement du ressort (le deuxième objet) le long de l'axe (premier objet). Position doit être sélectionnée sur "Position" pour être active.
  • Circle : si trois points sont sélectionnés, le bouton Circle est activé et un cercle pourra être créé, il pourra servir de base pour un ressort.

Position (0)(xx)

(0)(xx) : nombre de sélection(s), longueur de l'axe en mm x 10, est égal au nombres de points de déplacements disponibles sur la longueur de l'axe (pas de 0.1 mm)

  • Begin/End : positionnement du ressort au début, au milieu ou à la fin de l'axe
  • Reverse Spr. : inverse le ressort sur son axe
  • 0,1 mm  : déplace le ressort de manière précise le long du ressort par pas de 0.1 mm le long de son axe
  • Reverse Count. : inverse le compteur, par exemple: Begin 0 to 10.. ou End 0 to 10..
  • Slider : positionne le ressort sur son axe

Dimensions particulières de la spire

  • Num: 2 Numbering of coil : numéro de la spire a modifier. (Defaut : 0)
  • Smoothing Smoothing : cette case à cocher découvre un spinBox pour déterminer le degré de lissage entre deux spires ou l'écartement est important, le degré maximum du lissage est la valeur de précision -1 (cette option est à l'état de prototype et le résultat peur être satisfaisant, invisible ou mauvais)
  • 0,000 mm Pitch of coil : dimension du pas de la spire a modifier. (Defaut : 0)
  • 15.0 mm : si le bouton est cliqué, la valeur de "Pitch of string" est affectée à "Pitch of coil" (Cette valeur est automatiquement alignée à la valeur de Pitch of string)
  • 0,000 mm Radius of coil : rayon de la spire a modifier. (Defaut : 0)
  • 20.0 mm : si le bouton est cliqué, la valeur de "Radius of string" est affectée à "Radius of coil" (Cette valeur est automatiquement alignée à la valeur de Radius of string)
  • Accept the value modified : bouton d'acceptation pour valider les modifications de la spire a modifier.
  • Text edit : cette fenêtre affiche les spires modifiées et validées.
  • Clear : nettoie l'éditeur de texte
  • Zoom : bouton "Zoom", agrandit la fenêtre text-edit

Commandes

  • Load : le bouton Lead ouvre une boîte de dialogue pour lire un fichier sauvegardé, le fichier porte l'extension .FCSpring.
  • Save : le bouton Save ouvre une boîte de dialogue pour sauver un fichier avec la configuration du ressort modifiée ou non, le fichier porte l'extension .FCSpring.
  • Load Coordinates : ouvre une boîte de dialogue pour charger un fichier .FCSpringCoor (toutes les coordonnées des points constituants le ressort).
  • Save Coordinates : ouvre une boîte de dialogue pour sauver un fichier .FCSpringCoor (toutes les coordonnées des points constituants le ressort).
  • Quit : quitte la macro.
  • Reset : réinitialise la macro à la configuration par défaut.
  • Launch : lance la macro et crée le ressort dans sa configuration.
  • Help : ce bouton affiche la page wiki dans la fenêtre web de FreeCAD

Vue rapport

La fenêtre Vue rapport affiche les détails de la configuration du ressort.

Exemple de ressort

Exemple de ressort modifié :

Exemple de vue rapport

Dès que la macro est lancée, la liste de la configuration du ressort est affichée sous forme de tableau.

Ici les données du ressort affichées dans la vue rapport.

Icônes

Téléchargez les icônes et copier les dans votre répertoire de macro.

Cliquez sur l'image, dans la nouvelle fenêtre positionnez votre souris sur l'icône, clique droit et faites "Save target as ..."

Bouton pour votre barre d'outils

Bouton
Bouton

Icônes de la macro

Script

Macro_FCSpring_Helix_Variable.FCMacro

Téléchargez la macro sur Gist Macro_FCSpring_Helix_Variable

Installation

Le fichier ci-dessus est une macro sous la forme de code GitHub. Téléchargez le fichier Zip depuis GitHub, puis suivez les instructions d'installation des macros pour débutants indiquées à l'adresse installing FreeCAD macros in Ubuntu

Exemples












Liens

Discussion sur le forum Try to do a Spring

Projet

Ressort tronqué

Lissage des spires aux changements des spires : fait

Modification du diamètre à chaque spire au choix : fait

Versions

2023/09/01 Version 0.18c adding FreeCAD.activeDocument().recompute(None,True,True)Texte en italique "bug" fixed by Syres thanks How to draw polygonal spirals in Freecad?

2023/09/01 Version 0.18b correct (adapt) the code :

self.PB_Adapt_Radius.setStyleSheet("background-color: QPalette.Base")

to

self.PB_Adapt_Radius.setStyleSheet("QPushButton {background-color: QPalette.Base}")

2022/03/16 Version 0.18 : ajout scrollBar, possibilité docking Gauche or Droite, restauration du chrono (time.time()), mémorise le dernier FilePath

####chrono################
import time
global depart ; depart  = 0.0
global arrivee; arrivee = 0.0
def chrono(switch):    # 0=depart autre=stop
#time.strftime('%X %x %Z')#'15:44:07 12/14/19 Paris, Madrid'
    global depart
    global arrivee
    try:
        if switch == 0:
            depart = time.time()#time.clock()
            App.Console.PrintMessage("Chrono begin   : "+str(time.strftime('%X'))+"\n")
        else:
            arrivee = time.time()#time.clock()
            App.Console.PrintMessage("Chrono end     : "+str(time.strftime('%X'))+"\n")
            parcouru = ((arrivee - depart)/60.0)
            App.Console.PrintError("Time execution : "+str("%.3f" % parcouru)+" min"+"\n\n")
        return parcouru
        FreeCADGui.updateGui()    
    except Exception: None
####chrono################

2020/11/12 Version=01.17 : suppression du timer chrono !!

2020/10/18 Ver 00.16b : suppression du test FC 18 line 56, et suppression de timer chrono j'attends...

2020/05/01 Ver 00.16: fichier d'erreur de correction (sauvegarde et chargement) cause la suppression de "label_11_Name" ...

2020/04/11 Ver 01.15: layout et présentation

2019/05/03 Ver 01.14: compatible FreeCAD 0.19.16523 (Git)

2019/04/08 Ver 01.13: compatible FreeCAD 0.18.16093 (Git) /Python version: 3.6.6 /Qt version: 5.6.2

03/04/2017: ver 01.12: correction bug ligne 2314 add "global ui"

11/12/2016: ver 01.11: Ajout de position du ressort sur un objet sélectionné

10/09/2016: ver 01.10: Ajout du Bouton "Zoom" pour agrandit la fenêtre textedit

04/09/2016: ver 01.09: ajout de la fonction lissage et sauvegarde/chargement des coordonnées du ressort

16/03/2016: ver 01.08 : correction et ajout "int()" à debutAngle et finAngle (dans la section lecture du fichier)

02/03/2016: ver 01.07 : ajout d'une option reverse spring (sens horaire)

08/02/2016: ver 01.06 : correction du bug angle cause "modifyAngle = int(file.readline().rstrip('\n\r')) # 9" modifyAngle est int() pas char

07/01/2015: ver 01.05 : ajout de "Try ...Except" (données cône) pour assurer la compatibilité avec les versions précédentes.

07/01/2015: ver 01.04 : ajout de fabrication de ressort conique et modification du chemin (path) sur "UserAppData".

07/12/2014 : ver 01.03 : nouvelle version avec rayon de chaque spire modifiable.

17/11/2014: ver 1.02 : nouvelle version avec interface graphique, modification de chaque pas et rayon, sauvegarde et chargement des données sur disque.

10/11/2014 : (23h20) correction de la modification.

ligne.Placement = App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))

10/11/2014 : modification de la ligne 44 :

a = FreeCAD.ActiveDocument.Line.Placement=App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))

en

ligne = FreeCAD.ActiveDocument.Line.Placement=App.Placement(App.Vector(0.0,0.0,0.0), App.Rotation(App.Vector(0,0,1),angleTr), App.Vector(0,0,0))

6/11/2014 : ajout de "makeBSpline" et configuration.

Limitations

Durant les tests de balayage, certaines erreurs ont été obtenues !