Macro FCSpring Helix Variable

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Macro FCSpring Helix Variable and the translation is 100% complete.
Other languages:
English • ‎français • ‎hrvatski • ‎italiano

FCSpring Helix Variable.png Macro FCSpring Helix Variable

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.
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)
Si aucun objet n'est détecté (pas de sélection), le ressort est créé au point XYZ 0., 0., 0.Voir des exemples

Version macro : 01.16b
Date dernière modification : 2020/10/18
Version FreeCAD : 0.19
Téléchargement : Download the the Icons in .zip file
Auteur
Mario52
Téléchargement
Download the the Icons in .zip file
Liens
Version Macro
01.16b
Dernière modification
2020/10/18
Version(s) FreeCAD
0.19
Raccourci clavier
None
Voir aussi
None


Description

Cette macro crée un ressort avec un pas variable entièrement configurable. Chaque pas du ressort peut être configuré.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 sommet)
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


Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager.


# 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/436436a35a359531c6480cc0c9edfc9b83301685/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/436436a35a359531c6480cc0c9edfc9b83301685/Macro_FCSpring_Helix_Variable.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/68c81c32a0727a693d3a/raw/436436a35a359531c6480cc0c9edfc9b83301685/Macro_FCSpring_Helix_Variable.FCMacro">raw code</a>


TruncateSpring00.png

FCSpring Helix Variable


Utilisation

Cette section est utilisée pour configurer le ressort.

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

Macro TruncateSpring 01.png

Interface graphique de FCSpring_Helix_Variable

Macro FCSpring Helix Variable 01.png


Configuration

  • 10 coils SpinBox.svg Number of coil : Nombre total de spires du ressort. Défaut = 10
  • 20,000 mm SpinBox.svg Radius of spring : Rayon du ressort. Défaut = 20.0
  • 15,000 mm SpinBox.svg Pitch of spring : Pas du ressort. Défaut = 15.0
  • 5 ( 72 points ) SpinBox.svg 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)
  • 20,000 mm SpinBox.svg Spring conical : Donner le grand diamètre du cône, cette dimension sera toujours égale ou plus grande que le rayon.
  • CheckBoxFalse.svg Spring conical CheckBox : Case à cocher qui permet d'activer la fonction Spring conical.
    (Un cône peut être configuré manuellement mais cette petite procédure automatise la commande)
  • CheckBoxFalse.svg Angles : Case à cocher pour activer la fonction Begin et End des angles des spires.
    Si la fonction est activée le réglage se règle automatiquement à 1 (360 points par tour, 1 point = 1 degrés)
  • 0 deg SpinBox.svg Begin : Angle de départ ou commence la première spire. Défaut 0°
  • 360 deg SpinBox.svg End : Angle de fin ou se termine la dernière spire. Défaut 360°

Macro FCSpring Helix Variable 02.png


Type line

  • RadioButtonTrue.svg Draft BSpline.svg Bspline BSpline : Type de ligne BSpline.
  • RadioButtonFalse.svg Draft Wire.svg Wire Wire : Type ligne Wire.
  • CheckBoxFalse.svg Draft Point.svg Points Points : Case à cocher point. Si la case à cocher est activée, un point est créé sur chaque point.
  • CheckBoxFalse.svg Reverse Reverse : Case à cocher en mode inverse. Si la case à cocher est activée, le ressort change de direction (sens horaire).

Macro FCSpring Helix Variable 03.png


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(s) 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 déterminé (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 (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
  • CheckBoxFalse.svg Position : Si deux objets sont sélectionnés (le premier sera l'axe et le second sera le ressort), si ce CheckBoxTrue.svg 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é
  • 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

Macro FCSpring Helix Variable 02 1.png


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 SpinBox.svg : 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 exemple: Début 0 à 10.. ou Fin 0 to 10..
  • Slider : Positionne le ressort de façon rapide

Macro FCSpring Helix Variable 02 2.png


Coil special dimension

  • Num: 2 SpinBox.svg Numbering of coil : Numéro de la spire a modifier. (Defaut : 0)
  • CheckBoxFalse.svg 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 SpinBox.svg 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 SpinBox.svg 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)
  • FCSpring Helix Variable Icon 01.png 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 la fenêtre textedit
  • Zoom : Bouton "Zoom" Agrandit la fenêtre textedit

Macro FCSpring Helix Variable 04.png


Commandes

  • FCSpring Helix Variable Icon 02.png Load : Le bouton Read ouvre une boîte de dialogue pour lire un fichier sauvegardé, le fichier porte l'extension .FCSpring.
  • FCSpring Helix Variable Icon 03.png 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.
  • FCSpring Helix Variable Icon 02b.png Load Coordinates : Ouvre une boîte de dialogue pour charger un fichier .FCSpringCoor (toutes les coordonnées des points constituants le ressort).
  • FCSpring Helix Variable Icon 03b.png Save Coordinates : Ouvre une boîte de dialogue pour sauver un fichier .FCSpringCoor (toutes les coordonnées des points constituants le ressort).
  • FCSpring Helix Variable Icon 04.png Quit : Quitte la macro.
  • FCSpring Helix Variable Icon 05.png Reset : Reset la macro à la configuration par défaut.
  • FCSpring Helix Variable Icon 06.png 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

Macro FCSpring Helix Variable 05.png


Vue rapport

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

Macro FCSpring Helix Variable 06.png


Exemples de ressorts

Exemples de ressorts modifiés:

Macro FCSpring Helix Variable 07.png

Exemple 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. Macro FCSpring Helix Variable 08.png

Icônes

Téléchargez les icônes et copier le tout 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 ..."

Bouton pour votre barre d'outils

Bouton

Icônes de la Macro

FCSpring Helix Variable Icon 01.png FCSpring Helix Variable Icon 02.png FCSpring Helix Variable Icon 02b.png FCSpring Helix Variable Icon 03.png FCSpring Helix Variable Icon 03b.png FCSpring Helix Variable Icon 04.png FCSpring Helix Variable Icon 05.png FCSpring Helix Variable Icon 06.png

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 sur 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

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 la fonction sweep a donné ces erreurs !