Page 1 of 8

la macro FCSpring Helix Variable

Posted: Wed Nov 11, 2020 12:54 pm
by freecadjam
Salut
il me semble que la macro FCSpring Helix Variable n'arrive pas à fonctionner dans ma version de FreeCAD
lors de mes tentatives, le rapport est :

Code: Select all

AttributeError: module 'time' has no attribute 'clock'
est ce que vous pouvez me donner votre avis ?

Code: Select all

OS: Debian GNU/Linux 10 (buster) (LXQt/lxqt)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22960 (Git) AppImage
Build type: Release
Branch: master
Hash: c5a4b01d2e4218bcc0eb6650337650a6c65ef0e4
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: French/France (fr_FR)

Re: la macro FCSpring Helix Variable

Posted: Wed Nov 11, 2020 7:36 pm
by flachyjoe
Salut,
c'est que la macro n'est pas compatible python3 >=3.8
https://docs.python.org/fr/3/whatsnew/3.8.html#api-and-feature-removals wrote:The function time.clock() has been removed, after having been deprecated since Python 3.3: use time.perf_counter() or time.process_time() instead, depending on your requirements, to have well-defined behavior. (Contributed by Matthias Bussonnier in bpo-36895.)
mario52 wrote:Ping !

Re: la macro FCSpring Helix Variable

Posted: Wed Nov 11, 2020 8:11 pm
by freecadjam
ok, je trouve que c'était une solution agréable de faire un ressort conique avec aplatissement, suis je le seul à qui la fonction manque ?

Re: la macro FCSpring Helix Variable

Posted: Wed Nov 11, 2020 8:48 pm
by mario52
Bonsoir,

vous pouvez mettre un # au debut de lignes 1614, 1658,1659 pour obtenir:

Code: Select all

                    #### Chrono begin ##################################
#                    depart = time.clock()     # chrono begin          ##
                    ####################################################

Code: Select all

                    #### Chrono end ########################################################################################
#                    arrivee = time.clock()                                                                    # chrono end #
#                    App.Console.PrintMessage("Time : "+str("%.2f" % ((arrivee - depart)/60))+" min"+"\n\n")   # chrono end #
                    ########################################################################################################
je vais l'arranger demain

PS: je sais qu'on peut remplacer

Code: Select all

= time.clock() 
par :

Code: Select all

= time.process_time() #
vous pouvez le faire

moi je préfère le supprimer (peut être le faire avec Qt)

mario

Re: la macro FCSpring Helix Variable

Posted: Thu Nov 12, 2020 2:42 pm
by mario52
Bonjour

c'est corrigé version 01.17, et j'en profite pour demander si la macro est difficile à utiliser

mario

Re: la macro FCSpring Helix Variable

Posted: Thu Nov 12, 2020 10:55 pm
by freecadjam
Salut, quelle célérité, c'est souvent le cas de devoir ajuster le code au programme ?
Je connais mal cette macro pour donner mon avis sur plusieurs des modes de fonctionnement

Pour un ressort conique avec aplatissements aux extrémités et un départ à 0° et une fin à 180°, en raison de la demi-spire supplémentaire, j'ai l'impression que le second aplatissement est incomplet
Comment traîte t-on cette question de demi-spires ?
Pourrait-on faciliter la lecture des spires aplaties 0 mm ou les extrémités ?
J'ignore pour le moment comment transformer la spire en ressort, si il y a un moyen, ne doit il pas être facilement accessible ?
Je ne trouve pas le moyen de modifier une ou plusieurs lignes des dimensions spéciales déjà acceptées
Deepin Capture-écran_zone de sélection _20201112233208.png
Deepin Capture-écran_zone de sélection _20201112233208.png (156.09 KiB) Viewed 2118 times

Re: la macro FCSpring Helix Variable

Posted: Fri Nov 13, 2020 4:41 pm
by mario52
Bonjour
freecadjam wrote: Thu Nov 12, 2020 10:55 pm Salut, quelle célérité, c'est souvent le cas de devoir ajuster le code au programme ?
pas au programme mais avec les versions de Python et Qt
freecadjam wrote: Thu Nov 12, 2020 10:55 pm Pour un ressort conique avec aplatissements aux extrémités et un départ à 0° et une fin à 180°, en raison de la demi-spire supplémentaire, j'ai l'impression que le second aplatissement est incomplet
de 0 à 360 = un tour complet , ici commence à 0 et s’arrête à 180 degrés = s’arrête à 1/2 tour
freecadjam wrote: Thu Nov 12, 2020 10:55 pm Je ne trouve pas le moyen de modifier une ou plusieurs lignes des dimensions spéciales déjà acceptées
mettez le numéro de spire à modifier et les nouvelles valeurs remplacent les anciennes
freecadjam wrote: Thu Nov 12, 2020 10:55 pm J'ignore pour le moment comment transformer la spire en ressort
en faisant un sweep

mais il y a des défauts !!
ressortConique00.png
ressortConique00.png (70.09 KiB) Viewed 2067 times
mario

Re: la macro FCSpring Helix Variable

Posted: Fri Nov 13, 2020 5:24 pm
by FaDa3D
Bonsoir,
Aux extrémités aplaties d'un ressort le pas de l'hélice ne peut pas être nul : il vaut le diamètre du fil. Une portion de tour doit assurer la transition entre ce pas terminal et le pas actif du ressort. Elle n'existe probablement pas dans l'hélice proposée ce qui doit provoquer les défauts. Le passage d'un pas à l'autre est brusque ; brusque rupture de pente.
Mais doit-on absolument représenter en 3D la réalité d'un ressort ?

Re: la macro FCSpring Helix Variable

Posted: Fri Nov 13, 2020 5:34 pm
by freecadjam
salut
effectivement il faut tenir compte du diamètre de fil, c'est très faisable et compréhensible
la question de l'aplatissement lorsque le ressort a une fraction de spire en plus du nombre entier de spires reste quand même pertinente
en plus il pourrait y avoir une option arasement des derniers tours comme ça se fait dans la réalité
c'est pour représenter fidèlement la réalité que je trouve le DAO intéressant
cette macro a tellement d'autres mode de fonctionnement que j'y retourne

Re: la macro FCSpring Helix Variable

Posted: Fri Nov 13, 2020 5:46 pm
by FaDa3D
Si je retrouve un bout de croquis fait ds les années 90 pour comprendre, je le post.