Référence API Python
ressort()
Crée un ressort entre deux bouts : pièces, points du bâti, points décalés.
Syntaxe
ressort(a=None, b=None, raideur=None, longueur=None, amortissement=None, rupture=None, couleur=None, etage=None)
spring(a=None, b=None, stiffness=None, length=None, damping=None, break_force=None, color=None, floor=None) # anglais
Description
Crée un ressort entre les bouts a et b. Chaque bout est :
| Écriture | Le bout |
|---|---|
bille (un objet) | est accroché au centre de la pièce |
(0, -250) (deux nombres) | est un point du bâti, fixe |
(planche, -70, 0) (objet, dx, dy) | est un point de la pièce, décalé de (dx, dy) depuis son centre dans le repère de la pièce — il tourne avec elle |
Sans longueur, le ressort naît détendu : sa longueur de repos est la distance entre les deux bouts. Une longueur plus courte le pré-tend.
Paramètres
| Paramètre | Type | Description | Défaut |
|---|---|---|---|
a, b | objet, (x, y) ou (objet, dx, dy) | les deux bouts (pas un pivot ni un ressort) | obligatoires |
raideur / stiffness | nombre | N/m, de 0,01 à 1 000 000 | 50 |
longueur / length | nombre | la longueur de repos en mm, de 1 à 10 000 | la distance entre les bouts |
amortissement / damping | nombre | N·s/m, de 0 à 10 000 | 5 |
rupture / break_force | nombre | force de rupture en N, de 0 à 1 000 000 ; 0 = incassable | 0 |
couleur / color | texte | une couleur ; la donner coupe la couleur-selon-la-tension | selon la tension |
etage / floor | entier | 0 à 15 | celui de la première pièce |
Valeur retournée
Le ressort (.type vaut "spring").
Exemple
sol(x=0, y=250)
plancher = rectangle(x=0, y=0, largeur=200, hauteur=16, materiau="bois")
poteau_g = rectangle(x=-120, y=-100, largeur=12, hauteur=200, fixe=True, materiau="pierre")
poteau_d = rectangle(x=120, y=-100, largeur=12, hauteur=200, fixe=True, materiau="pierre")
# Deux contreventements en diagonale, accroches aux bouts du plancher, qui cassent au-dela de 8 N.
ressort(a=(plancher, -90, 0), b=(120, -190), raideur=300, amortissement=2, rupture=8, couleur="#3b82f6")
ressort(a=(plancher, 90, 0), b=(-120, -190), raideur=300, amortissement=2, rupture=8, couleur="#3b82f6")
Essayer ce code dans l’atelier PythonErreurs possibles
Un ressort (extrémité « a ») demande au moins 1 objet(s) à relier.— un bout manque.Un ressort (extrémité « a ») ne peut relier que des objets, pas un pivot.- Bornes :
« raideur » va de 0.01 à 1000000,« amortissement » va de 0 à 10000,« longueur » va de 1 à 10000,« rupture » va de 0 à 1000000. « a.dx » attend un nombre— un décalage mal écrit.
Notes
- Un ressort créé par script n'est pas accordé sur sa charge (50 N/m, 5 N·s/m) ; calcule-les si besoin — voir Accorder sur la charge.
- Le ressort ne se cogne à rien.
- Le piston (moteur linéaire) et les plaques ne se créent pas par script.