Macro Spring/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
{{Macro/fr
{{Macro/fr
|Name=Spring Simul
|Name=Spring Simul
|Icon=Macro_Spring.png
|Description=Simulation de la compression/décompression d'un ressort.
|Description=Simulation de la compression/décompression d'un ressort.
|Author=Mario52
|Author=Mario52
Line 17: Line 18:
==Utilisation==
==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 {{KEY|F6}} (Déboguer la macro) pour exécuter la macro ou la lancer avec le bouton [[File:Macro-execute.svg]].
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 {{KEY|F6}} (Déboguer la macro) pour exécuter la macro ou la lancer avec le bouton [[File:Std_DlgMacroExecuteDirect.svg]].


[[File:Spring_02.png|left|300px]]{{clear}}
[[File:Spring_02.png|left|300px]]{{clear}}
Line 34: Line 35:
import time
import time


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


pas = 1
pas = 1
Line 57: Line 58:
App.Console.PrintMessage(str(ii2)+" " + str(ii)+" " + str(i)+" " + str(pas) +"\n")
App.Console.PrintMessage(str(ii2)+" " + str(ii)+" " + str(i)+" " + str(pas) +"\n")
Gui.updateGui()
Gui.updateGui()
time.sleep(0.1) # modify the time here
time.sleep(0.1)
#FreeCAD.getDocument("Spring").getObject("Helix001").Pitch = iib
#FreeCAD.getDocument("Spring").getObject("Helix001").Height = ib

}}
}}


'''Code for FreeCAD version 0.15'''

'''Spring_FC-0-15.FCMacro'''

{{MacroCode|code=
# 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==
==Liens==

Latest revision as of 21:36, 4 November 2021

Other languages:

Spring Simul

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

Version macro : 1.0
Date dernière modification : 2014-09-29
Version FreeCAD : All
Téléchargement : The file Spring.FCStd
ToolBar Icon
Auteur: Mario52
Auteur
Mario52
Téléchargement
The file Spring.FCStd
ToolBar Icon
Liens
Version Macro
1.0
Dernière modification
2014-09-29
Version(s) FreeCAD
All
Raccourci clavier
None
Voir aussi
None

Description

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 .

Fichier

Spring.FCStd

Script

ToolBar Icon

Spring.FCMacro

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:
        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)


Liens

La discussion du forum (en anglais) : scripting animations