animation sans prétention

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
vinbai
Posts: 36
Joined: Sat May 20, 2017 5:18 am

animation sans prétention

Post by vinbai »

Bonjour tous,

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()
Attachments
test_anim.FCStd
(479.91 KiB) Downloaded 31 times
Last edited by vinbai on Sat Jul 15, 2017 5:19 am, edited 1 time in total.
fran6t
Posts: 354
Joined: Tue Jul 15, 2014 9:29 am
Location: Montauban
Contact:

Re: animation sans prétention

Post by fran6t »

Il faut utiliser la balise code pour y mettre ton code python entre sinon nous perdons l'indentation et ne pouvons faire le test sans devoir corriger.

Code: Select all

# --------------- début script
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()
A+
vinbai
Posts: 36
Joined: Sat May 20, 2017 5:18 am

Re: animation sans prétention

Post by vinbai »

bon pour la balise code Bé oui encore un neurone en panne :oops:

Pour meme2704, je ne sais pas si ça peut convenir avec l'atelier FCGear pour les engrenages coniques et python on peut faire cela

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

	#------------ rotation -------------------------
	App.getDocument("test_bevelgear").Fusion001.Placement=App.Placement(App.Vector(0,0,0), App.Rotation(App.Vector(0,0,1),i), App.Vector(0,0,0))
	App.getDocument("test_bevelgear").Fusion002.Placement=App.Placement(App.Vector(0,0,-4), App.Rotation(App.Vector(1,0,0),i), App.Vector(7,0,18))
	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()


------ Pour ceux qui ont déjà essayé, il y avait une coquille dans le script ( dû à freecad qui ne prend pas en compte le nom du fichier )
=> remplacer Sans_nom par test_bevelgear
Attachments
test_bevelgear.FCStd
(438.35 KiB) Downloaded 28 times
User avatar
meme2704
Veteran
Posts: 2926
Joined: Sat Apr 01, 2017 2:47 pm
Location: Vosges

Re: animation sans prétention

Post by meme2704 »

C'était juste 1 gag, :D
test_anim.FCStd
je te déconseille de le faire tourner d’après ce que je vois y aura des copeaux :?:
malgrés tout pour info je vais aller voir ce FCGear , je viens de regarder 1 vidéo, pas celle en japonais , bien sur :lol:
vinbai
Posts: 36
Joined: Sat May 20, 2017 5:18 am

Re: animation sans prétention

Post by vinbai »

meme2704 wrote: Sat Jul 15, 2017 7:45 am test_anim.FCStd... y aura des copeaux
à quel niveau :?:
User avatar
meme2704
Veteran
Posts: 2926
Joined: Sat Apr 01, 2017 2:47 pm
Location: Vosges

Re: animation sans prétention

Post by meme2704 »

Ha! oui d'acc , sur le pignon de droite j'ai 1 superposition avec bevelgear001, qu'il suffit de masquer! désolé pas fait gaffe :oops:
Post Reply