pour voir
sélectionner le script (ctl a ctl c )
coller dans la console python (ctl v)
regarder....
pour arrêter copier la dernière ligne sans le dièse dans la console
Voilà
Vincent
Code: Select all
from PySide import QtCore, QtGui
import Part
from FreeCAD import Base
import math as mt
import time
# définition des variables
i=0 # valeur angle
def engine():
global i
# un disque
# App.getDocument("test_anim").Fusion003.Placement=App.Placement(App.Vector(-90,0,0), App.Rotation(App.Vector(0,0,1),0), App.Vector(0,0,0))
# deux engrenages
# 26 dents
# App.getDocument("test_anim").Fusion004.Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),0), App.Vector(0,0,0))
# et 13 dents
# App.getDocument("test_anim").InvoluteGear001.Placement=App.Placement(App.Vector(0,-49,0), App.Rotation(App.Vector(0,0,1),7), App.Vector(0,0,0)) # une barre de liaison
# une barre de liaison
# App.getDocument("test_anim").Box.Placement=App.Placement(App.Vector(-94,11,20), App.Rotation(App.Vector(0,0,1),0), App.Vector(0,0,0))
#------------ rotation -------------------------
# du disque sens horaire
App.getDocument("test_anim").Fusion003.Placement=App.Placement(App.Vector(-90,0,0), App.Rotation(App.Vector(0,0,1),-i), App.Vector(0,0,0))
# engrenage 1 sens horaire
App.getDocument("test_anim").Fusion004.Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),-i), App.Vector(0,0,0))
# engrenage 2 sens anti horaire
App.getDocument("test_anim").Pad001.Placement=App.Placement(App.Vector(0,-49,0), App.Rotation(App.Vector(0,0,1),(i*2)+7), App.Vector(0,0,0))
# --- déplacement barre de liaison ---
#
App.getDocument("test_anim").Box.Placement=App.Placement(App.Vector(-94+(mt.sin(i*0.0174532925)*15),-5+(mt.cos(i*0.0174532925)*15),20), App.Rotation(App.Vector(1,0,0),0), App.Vector(0,0,0))
i+=1
if i==359:# quand on a fait le pour complet, on passe à zéro
i=0
timer=QtCore.QTimer()
timer.timeout.connect(engine)
timer.start(5)
#timer.stop()