Macro Spring

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
English • ‎français • ‎italiano

Macro Spring.png Spring Simul

Description
Simulates the compression and decompression of a spring.

Macro version: 1.0
Last modified: 2014-09-29
FreeCAD version: All
Download: The file Spring.FCStd
ToolBar Icon
Author
Mario52
Download
The file Spring.FCStd
ToolBar Icon
Links
Macro Version
1.0
Date last modified
2014-09-29
FreeCAD Version(s)
All
Default shortcut
None
See also
None


Description

Simulates the compression and decompression of a spring.

Spring 00.gif

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 then press F6 (debug macro) to run the macro or run the macro with Std DlgMacroExecuteDirect.svg

Spring 02.png

The File

Spring.FCStd

Script

ToolBar Icon Macro Spring.png

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)


Link

The forum discussion page: scripting animations