Macro Spring/fr: Difference between revisions

From FreeCAD Documentation
mNo edit summary
(Updating to match new version of source page)
Line 52: Line 52:
'''Code for FreeCAD version 0.15'''
'''Code for FreeCAD version 0.15'''


{{Code|code=
<syntaxhighlight>
# For FreeCAD 0.15
# For FreeCAD 0.15
import FreeCAD, FreeCADGui, Draft, Part
import FreeCAD, FreeCADGui, Draft, Part
Line 88: Line 88:
#FreeCAD.getDocument("Spring").getObject("Helix001").Height.Value = ib
#FreeCAD.getDocument("Spring").getObject("Helix001").Height.Value = ib


}}
</syntaxhighlight>
==Liens==
==Liens==
La discussion du forum (en anglais) : [http://forum.freecadweb.org/viewtopic.php?f=22&t=7449#p62193 scripting animations]
La discussion du forum (en anglais) : [http://forum.freecadweb.org/viewtopic.php?f=22&t=7449#p62193 scripting animations]

Revision as of 09:04, 26 September 2016

File:Text-x-python Spring Simul

Description
Simulation de la compression/décompression d'un ressort.

Auteur: Mario52
Auteur
Mario52
Téléchargement
None
Liens
Version Macro
1.0
Dernière modification
None
Version(s) FreeCAD
None
Raccourci clavier
None
Voir aussi
None

Simule la compression et la décompression d'un ressort.

Utilisation

Ouvrir les deux fichiers ci-dessous (Spring.FCMacro et Spring.FCStd) dans FreeCAD avec deux fenêtres (menu Fenêtre → Mosaïque), cliquer dans la fenêtre et sur la macro puis faire F6 (Déboguer la macro) pour exécuter la macro ou la lancer avec le bouton File:Macro-execute.svg.

Fichiers

Spring.FCStd

Script

Spring.FCMacro

import FreeCAD, FreeCADGui, Draft, Part
from FreeCAD import Base
import time

ii = iib = FreeCAD.getDocument("Spring").getObject("Helix001").Pitch
i = ib = FreeCAD.getDocument("Spring").getObject("Helix001").Height

pas = 1

for ii2 in range(int(60)):
    if pas == 0:
        if ii > iib-1:
            pas = 1
        else:
            ii += 1
            i = (ii * 10)
    else:
        if ii < 2:
            pas = 0
        else:
            ii -= 1
            i = (ii * 10)
   
    FreeCAD.getDocument("Spring").getObject("Helix001").Pitch = ii
    FreeCAD.getDocument("Spring").getObject("Helix001").Height = i
    App.Console.PrintMessage(str(ii2)+"  " + str(ii)+"  " + str(i)+"  " + str(pas) +"\n")
    Gui.updateGui()
    time.sleep(0.1) # modify the time here
#FreeCAD.getDocument("Spring").getObject("Helix001").Pitch = iib
#FreeCAD.getDocument("Spring").getObject("Helix001").Height = ib

Code for FreeCAD version 0.15

# For FreeCAD 0.15
import FreeCAD, FreeCADGui, Draft, Part
from FreeCAD import Base
import time

ii = iib = FreeCAD.getDocument("Spring").getObject("Helix001").Pitch.Value
i = ib = FreeCAD.getDocument("Spring").getObject("Helix001").Height.Value

pas = 1

for ii2 in range(int(60)):
    if pas == 0:
        print pas
        if ii > iib-1:
            pas = 1
        else:
            ii += 1
            i = (ii * 10)
            print i," ",ii," else1"
    else:
        print pas
        if ii < 2:
            pas = 0
        else:
            ii -= 1
            i = (ii * 10)
            print i," ",ii," else2"
    FreeCAD.getDocument("Spring").getObject("Helix001").Pitch.Value = ii
    FreeCAD.getDocument("Spring").getObject("Helix001").Height.Value = i
#    App.Console.PrintMessage(str(ii2)+"  " + str(ii)+"  " + str(i)+"  " + str(pas) +"\n")
    Gui.updateGui()
    time.sleep(0.1) # modify the time here
#FreeCAD.getDocument("Spring").getObject("Helix001").Pitch.Value = iib
#FreeCAD.getDocument("Spring").getObject("Helix001").Height.Value = ib

Liens

La discussion du forum (en anglais) : scripting animations

Other languages: