Macro crank simul/fr: Difference between revisions
(Updating to match new version of source page) |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 2: | Line 2: | ||
{{Macro/fr |
{{Macro/fr |
||
|Name=Crank Simul |
|Name=Crank Simul |
||
|Icon=Macro_crank_simul.png |
|||
|Description=Simulation de mouvement d'un vilebrequin. |
|Description=Simulation de mouvement d'un vilebrequin. |
||
|Author=kwahoo |
|Author=kwahoo |
||
Line 32: | Line 33: | ||
'''crank_simul.FCMacro''' |
'''crank_simul.FCMacro''' |
||
{{ |
{{MacroCode|code= |
||
import FreeCAD as App, FreeCADGui as Gui, Part, time, sys, math, Draft, DraftGeomUtils |
import FreeCAD as App, FreeCADGui as Gui, Part, time, sys, math, Draft, DraftGeomUtils |
||
from PySide import QtGui,QtCore |
from PySide import QtGui,QtCore |
||
Line 68: | Line 69: | ||
}} |
}} |
||
== Liens == |
== Liens == |
||
La discussion sur le forum (en anglais) [http://forum.freecadweb.org/viewtopic.php?f=24&t=6815&hilit=animation#p55092 Inline-four engine animation] |
La discussion sur le forum (en anglais) [http://forum.freecadweb.org/viewtopic.php?f=24&t=6815&hilit=animation#p55092 Inline-four engine animation] |
Latest revision as of 21:18, 4 November 2021
Description |
---|
Simulation de mouvement d'un vilebrequin. Version macro : 1.0 Date dernière modification : 2014-06-13 Version FreeCAD : All Téléchargement : ToolBar Icon The file crank_simul.fcstd Auteur: kwahoo |
Auteur |
kwahoo |
Téléchargement |
ToolBar Icon The file crank_simul.fcstd |
Liens |
Page des macros Comment installer une macro Comment créer une barre d'outils |
Version Macro |
1.0 |
Dernière modification |
2014-06-13 |
Version(s) FreeCAD |
All |
Raccourci clavier |
None |
Voir aussi |
None |
Description
Cette animation simple utilise une esquisse et le solveur afin de déterminer la position et la rotation du piston et de la bielle.
Utilisation
Pour tester l'animation :
Télécharger les fichiers et copier le code dans la console Python de FreeCAD.
1. Ouvrir le fichier joint
Pour stopper l'animation, taper dans la console : "animation.stop()"
Le fichier
Script
crank_simul.FCMacro
import FreeCAD as App, FreeCADGui as Gui, Part, time, sys, math, Draft, DraftGeomUtils from PySide 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()
Liens
La discussion sur le forum (en anglais) Inline-four engine animation
Le blogue freecad-tutorial.blogspot