Macro Assemblage Imprimante 3D/fr: Difference between revisions
(Created page with "==Script== L'auteur du script est '''[http://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=2538 Javier Martínez García (JMG)]''' et est adapté pour ce projet.") |
(Created page with "==Liens== La discussion sur le forum : [http://forum.freecadweb.org/viewtopic.php?f=12&t=11782 Je galere pour tourner une piece]") |
||
Line 89: | Line 89: | ||
}} |
}} |
||
== |
==Liens== |
||
La discussion sur le forum : [http://forum.freecadweb.org/viewtopic.php?f=12&t=11782 Je galere pour tourner une piece] |
|||
The Youtube channel of the macro author [https://www.youtube.com/watch?v=KynMmsLJXV0 FreeCAD: Gear Animation Tutorial] and its [http://linuxforanengineer.blogspot.com.es/p/me.html blog] |
The Youtube channel of the macro author [https://www.youtube.com/watch?v=KynMmsLJXV0 FreeCAD: Gear Animation Tutorial] and its [http://linuxforanengineer.blogspot.com.es/p/me.html blog] |
Revision as of 09:24, 26 September 2016
File:Text-x-python Macro_Assemblage_Imprimante_3D |
Description |
---|
Simulates the motion of a 3D printer in the Z axis.. Version macro : 1.0 Auteur: fran6t |
Auteur |
fran6t |
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 |
Simulation de mouvement d'une imprimante 3D dans l'axe Z.
Utilisation
Téléchargez le fichier et ouvrez le dans FreeCAD
Copiez la macro dans le console Python de FreeCAD
Pour arrêter l'animation faites :
animation.stop()
Le fichier
Script
L'auteur du script est Javier Martínez García (JMG) et est adapté pour ce projet.
00-assemblage-total.FCMacro
# Mouvement va et vient du chariot et tete selon axe Z
#
# Pour arreter l'animation il faut taper animation.stop() dans la console
__author__ = "Javier Martínez García"
import FreeCAD as App, FreeCADGui as Gui, Part, time, sys, math, Draft, DraftGeomUtils
try:
from PyQt4 import QtGui,QtCore
except Exception:
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
self.Tige_Guide_X = 142
self.X_End_Tendeur = 90
self.X_Chariot = 102
self.Nema_17_motor_X = 119
self.Anti_Backslash_Z_Gauche = 88
self.Jhead_droite = 126.5
self.enstopX = 168
self.sens = 1
def my_update(self):
if ( self.an == 0 ) :
self.sens = 1
if ( self.an == 245 ) :
self.sens = -1
self.an = self.an + self.sens
self.Tige_Guide_X = self.Tige_Guide_X + self.sens
self.X_End_Tendeur = self.X_End_Tendeur + self.sens
self.X_Chariot = self.X_Chariot + self.sens
self.Nema_17_motor_X = self.Nema_17_motor_X + self.sens
self.Jhead_droite = self.Jhead_droite + self.sens
self.Anti_Backslash_Z_Gauche = self.Anti_Backslash_Z_Gauche + self.sens
self.enstopX = self.enstopX + self.sens
#12-X-End-Moteur
#FreeCAD.getDocument("_0_assemblage_total").getObject("Pocket013").Placement = App.Placement(App.Vector(-133,0,self.an),App.Rotation(App.Vector(0,0,1),0))
FreeCAD.getDocument("_0_assemblage_total").getObject("refine002").Placement = App.Placement(App.Vector(0,0,self.an),App.Rotation(App.Vector(0,0,1),0))
#Tige-Guide-X
FreeCAD.getDocument("_0_assemblage_total").getObject("Pad025").Placement = App.Placement(App.Vector(-180,13.55,self.Tige_Guide_X),App.Rotation(App.Vector(0.57735,0.57735,0.57735),120))
#14-X-End-Tendeur
FreeCAD.getDocument("_0_assemblage_total").getObject("Pocket011").Placement = App.Placement(App.Vector(236,0,self.X_End_Tendeur),App.Rotation(App.Vector(0,0,1),0))
#13-X-Chariot
FreeCAD.getDocument("_0_assemblage_total").getObject("Pocket014").Placement = App.Placement(App.Vector(-18,25,self.X_Chariot),App.Rotation(App.Vector(1,0,0),90))
#Nema-17-motor-X
FreeCAD.getDocument("_0_assemblage_total").getObject("Chamfer003").Placement = App.Placement(App.Vector(-205.2,63,self.Nema_17_motor_X),App.Rotation(App.Vector(1,0,0),90))
#15-Anti-Backslash-Z-x2-1
FreeCAD.getDocument("_0_assemblage_total").getObject("Pad012").Placement = App.Placement(App.Vector(-156,-15,self.Anti_Backslash_Z_Gauche),App.Rotation(App.Vector(0.999985,0.00555547,0),180))
#Jhead-Droite
FreeCAD.getDocument("_0_assemblage_total").getObject("Pocket015").Placement = App.Placement(App.Vector(-50.8,-4.4,self.Jhead_droite),App.Rotation(App.Vector(0,0,1),0))
#Endstop X
FreeCAD.getDocument("_0_assemblage_total").getObject("refine003").Placement = App.Placement(App.Vector(-154.2,15,self.enstopX),App.Rotation(App.Vector(0.57735,0.57735,-0.57735),120))
def stop(self):
self.timer.stop()
animation = Animation()
Liens
La discussion sur le forum : Je galere pour tourner une piece
The Youtube channel of the macro author FreeCAD: Gear Animation Tutorial and its blog