Programmer avec Python
Relier les pièces : pivots, axes, ressorts
Charnière, moteur, butées, arbre, ressort décalé — en Python.
Le pivot
pivot(x, y, corps=...) crée une charnière au point (x, y). corps est un objet (charnière au monde) ou une liste de deux objets (charnière entre les deux). Le premier est la référence : c'est lui qui porte le moteur et les butées.
support = rectangle(x=0, y=100, largeur=20, hauteur=200, fixe=True, materiau="pierre")
bras = rectangle(x=100, y=0, largeur=240, hauteur=10, materiau="bois")
pivot(x=0, y=0, corps=[bras, support], butees=[-45, 45])
Essayer ce code dans l’atelier PythonLes options, toutes facultatives : moteur=True, vitesse=60, couple=10, frein=True, butees=[-45, 45], soude=True, fixe_au_fond=True, contact=True, etage=1. Un pivot soudé refuse moteur, frein et butées ; une charnière refuse plus de deux pièces. Sans etage, le pivot prend celui de sa première pièce.
L'axe (arbre)
axe(x, y, corps=[roue, pignon, aiguille]) : plusieurs pièces solidaires d'un même axe, qui tourne sur place. C'est un pivot au monde sur la première pièce, plus une soudure de toutes. Les options moteur/butées sont celles du pivot.
grande = engrenage(x=0, y=0, dents=24, module=10, etage=0)
pignon = engrenage(x=0, y=0, dents=8, module=10, etage=1)
axe(x=0, y=0, corps=[grande, pignon], moteur=True, vitesse=30)
Essayer ce code dans l’atelier PythonLe ressort
ressort(a=..., b=..., raideur=50, amortissement=5, longueur=None, rupture=0, couleur=None). Chaque bout est :
| Écriture | Le bout est |
|---|---|
a=bille | au centre de la pièce |
a=(0, -250) | un point du bâti (fixe) |
a=(planche, -70, 0) | un point de la pièce, décalé de (dx, dy) depuis son centre, dans son repère — il tourne avec elle |
Sans longueur, le ressort naît détendu (repos = distance entre les bouts). Une longueur plus courte le pré-tend.
sol(x=0, y=250)
planche = rectangle(x=0, y=0, largeur=200, hauteur=20, materiau="bois")
ressort(a=(planche, -80, 0), b=(-80, -200), raideur=200, amortissement=3)
ressort(a=(planche, 80, 0), b=(80, -200), raideur=200, amortissement=3)
Essayer ce code dans l’atelier PythonManipulation et observation
Exécute le dernier script, Play : la planche pend à ses deux ressorts, horizontale. Remplace raideur=200 par 20 sur l'un des deux : elle penche. Ajoute rupture=5 : le plus faible casse.