Macro crank simul/fr: Difference between revisions
(Created page with "Cette animation simple utilise une esquisse et le solveur afin de déterminer la position et la rotation du piston et de la bielle.") |
(Updating to match new version of source page) |
||
Line 2: | Line 2: | ||
Cette animation simple utilise une esquisse et le solveur afin de déterminer la position et la rotation du piston et de la bielle. |
Cette animation simple utilise une esquisse et le solveur afin de déterminer la position et la rotation du piston et de la bielle. |
||
[[File:Crank 00.gif|left]]{{clear}} |
[[File:Crank 00.gif|left]]{{clear}} |
||
=== |
===Use=== |
||
To test the animation: |
To test the animation: |
||
Download the files copy the code in the Python console FreeCAD. |
Download the files and copy the code in the Python console FreeCAD. |
||
1. Open the attached file |
1. Open the attached file |
||
To stop animation type : |
To stop animation type : |
||
{{Code|code= |
|||
<syntaxhighlight> |
|||
animation.stop() |
animation.stop() |
||
}} |
|||
</syntaxhighlight> |
|||
===The File=== |
===The File=== |
||
[http://forum.freecadweb.org/download/file.php?id=5954 crank_simul.fcstd] |
[http://forum.freecadweb.org/download/file.php?id=5954 crank_simul.fcstd] |
||
Line 57: | Line 59: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
=== |
===Links=== |
||
The |
The forum discussion [http://forum.freecadweb.org/viewtopic.php?f=24&t=6815&hilit=animation#p55092 Inline-four engine animation] |
||
The blog [http://freecad-tutorial.blogspot.be/ freecad-tutorial.blogspot] |
The blog [http://freecad-tutorial.blogspot.be/ freecad-tutorial.blogspot] |
Revision as of 19:25, 1 January 2015
File:Text-x-python Crank Simul |
Description |
---|
Crank simulation. Auteur: kwahoo |
Auteur |
kwahoo |
Téléchargement |
None |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
1.0 |
Dernière modification |
None |
Version(s) FreeCAD |
None |
Raccourci clavier |
None |
Voir aussi |
None |
Cette animation simple utilise une esquisse et le solveur afin de déterminer la position et la rotation du piston et de la bielle.
Use
To test the animation:
Download the files and copy the code in the Python console FreeCAD.
1. Open the attached file
To stop animation type :
animation.stop()
The File
Script
crank_simul.FCMacro
import FreeCAD as App, FreeCADGui as Gui, Part, time, sys, math, Draft, DraftGeomUtils
from PyQt4 import QtGui,QtCore
class Animation(object):
def __init__(self):
App.Console.PrintMessage('init')
App.ActiveDocument.recompute()
self.timer = QtCore.QTimer()
QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.my_update)
self.timer.start(50)
self.an = 0.1
def my_update(self):
string = '{0}'.format(self.an)
self.an = self.an + 0.01 if self.an < (2 * math.pi) else 0.0
angle = math.degrees(self.an)
App.ActiveDocument.Sketch.setDatum(5,App.Units.Quantity(str(angle)+' deg'))
App.ActiveDocument.recompute()
p1 = App.ActiveDocument.Sketch.Shape.Vertexes[0].Point
p2 = App.ActiveDocument.Sketch.Shape.Vertexes[1].Point
conrodangle = math.degrees(Draft.DraftVecUtils.angle(App.Vector(1,0,0),(p1-p2))) - 90
App.ActiveDocument.getObject("Cylinder").Placement = App.Placement(p1,App.Rotation(App.Vector(1,0,0),-90))
App.ActiveDocument.getObject("Sketch001").Placement = App.Placement(p1,App.Rotation(App.Vector(0,0,1),conrodangle))
def stop(self):
self.timer.stop()
animation = Animation()
Links
The forum discussion Inline-four engine animation
The blog freecad-tutorial.blogspot