Macro Spring: Difference between revisions
Renatorivo (talk | contribs) (translate) |
Renatorivo (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
Simulates the compression and relaxation of a spring. |
Simulates the compression and relaxation of a spring. |
||
[[File:Spring_00.gif|left]] |
[[File:Spring_00.gif|left]]{{clear}} |
||
{{clear}} |
|||
===Uses=== |
===Uses=== |
||
Open the 2 files below (Spring.FCMacro and Spring.FCStd) in FreeCAD with 2 screens (Menu: Windows > Tile) and click in the window and the macro and click F6 (debug macro) to run the macro |
Open the 2 files below (Spring.FCMacro and Spring.FCStd) in FreeCAD with 2 screens (Menu: Windows > Tile) and click in the window and the macro and click F6 (debug macro) to run the macro |
||
[[File:Spring_02.png|left|300px]] |
[[File:Spring_02.png|left|300px]]{{clear}} |
||
{{clear}} |
|||
===The File=== |
===The File=== |
||
[http://forum.freecadweb.org/download/file.php?id=7679 Spring.FCStd] |
[http://forum.freecadweb.org/download/file.php?id=7679 Spring.FCStd] |
||
===Script=== |
===Script=== |
||
⚫ | |||
</translate> |
</translate> |
||
⚫ | |||
<syntaxhighlight> |
<syntaxhighlight> |
||
import FreeCAD, FreeCADGui, Draft, Part |
import FreeCAD, FreeCADGui, Draft, Part |
Revision as of 21:44, 29 September 2014
File:Text-x-python Spring Simul |
Description |
---|
Spring simulation. Author: Mario52 |
Author |
Mario52 |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
None |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Simulates the compression and relaxation of a spring.
Uses
Open the 2 files below (Spring.FCMacro and Spring.FCStd) in FreeCAD with 2 screens (Menu: Windows > Tile) and click in the window and the macro and click F6 (debug macro) to run the macro
The File
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")
time.sleep(0.1) # modify the time here
#FreeCAD.getDocument("Spring").getObject("Helix001").Pitch = iib
#FreeCAD.getDocument("Spring").getObject("Helix001").Height = ib
Link
The discussion page: scripting animations