Aller au contenu principal

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 Python

Les 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 Python

Le ressort

ressort(a=..., b=..., raideur=50, amortissement=5, longueur=None, rupture=0, couleur=None). Chaque bout est :

ÉcritureLe bout est
a=billeau 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 Python

Manipulation 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.

Détails : pivot(), axe(), ressort().