Documentation
Générateurs de fonctionnalités
Engrenages à développante, filetages métriques ISO, hélices et bandes de tôle à motifs plats : profils et mailles précis à partir de quelques chiffres.
Traduit automatiquement de l'anglais. Voir l'original en anglais
Générateurs de fonctionnalités
Les générateurs de caractéristiques transforment quelques nombres techniques en profils ou maillages exacts : un engrenage à développante à partir du module et du nombre de dents, un filetage ISO à partir du diamètre et du pas, une hélice à partir du rayon et du pas, une bande pliée à partir d'une ligne centrale et d'une épaisseur. Chacun est une fonction pure dans packages/core/src/cad; l'éditeur, l'assistant et le modèle CAM appellent la même fonction, donc tous les trois voient la même pièce.
| Générateur | Déposer | Principales exportations |
|---|---|---|
| Engrenage droit à développante | gear.ts | gearDimensions, gearOutline, MIN_GEAR_TEETH = 6 |
| Filetage métrique ISO | thread.ts (124 lignes) | threadSizes, threadProblem, threadTool, threadGroove |
| Hélice / bobine | helix.ts (41 lignes) | coilGeometry, stepsPerTurn, COIL_STEPS_PER_TURN = 32, COIL_MAX_TURNS = 60 |
| Tôle | sheet-metal.ts (235 lignes) | feuilleContour, longueur développée, avec ourlets, motif platDessin, motif platDxf |
Engrenages à développante
Pitch radius m·z/2, tip radius pitch + m, root radius pitch − 1.25·m, flanks the involute of the base circle r_p·cos α (ISO 53 / DIN 867). The outline is one counter-clockwise ring about the origin with tooth 0 centred on +X. When the teeth would come to a point before the tip circle (few teeth, a large pressure angle), the tip is pulled in by bisection to where the tooth is still 2 % of a pitch wide.
| Spécification | pas | base | conseil | racine |
|---|---|---|---|---|
| m 2, z 18, 20° | 18 | 16.914 | 20 | 15.5 |
| m 2, z 12, 20° | 12 | 11.276 | 14 | 9.5 |
| m 2, z 18, 25° | 18 | 16.314 | 20 | 15.5 |
gearOutline({ moduleValue: 2, teeth: 5 })
// RangeError: A gear needs a module > 0 and at least 6 whole teeth
gearOutline({ moduleValue: 2, teeth: 18, pressureAngle: 50 })
// RangeError: The pressure angle must be between 0 and 45 degrees Filetages métriques ISO
A modelled thread is real helical geometry: a core cylinder at the root united with a ridge swept along a helix with the profile kept radial, clipped to the thread length. External threads have their core at d₃ = d − 1.22687·P and a ridge up to d; internal ones are the tool that cuts a tapped hole, core at D₁ = D − 1.08253·P (the tap drill) and a groove out to D. The flank is cut square to the helix and the axial widths are corrected by the cosine of the helix angle so pitch and crest widths are exact.
| Fil | poste. mineur d₃ | poste. hauteur h₃ | int. mineur D₁ | largeur de racine | largeur de crête |
|---|---|---|---|---|---|
| M6 × 1 | 4.7731 | 0.6134 | 4.9175 | 0.8333 | 0.125 |
| M8 × 1.25 | 6.4664 | 0.7668 | 6.6468 | 1.0417 | 0.1563 |
| M10 × 1.5 | 8.1597 | 0.9201 | 8.3762 | 1.25 | 0.1875 |
| M12 × 1.75 | 9.853 | 1.0735 | 10.1056 | 1.4583 | 0.2188 |
Les valeurs sont threadSizes(d, P, internal) output. Heights are 0.61343·P (external) and 0.54127·P (internal); the crest is P/8.
threadProblem({ diameter: 6, pitch: 4, length: 10, internal: false })
// "A pitch of 4 mm is too coarse for a 6 mm thread" (pitch > d/2)
threadProblem({ diameter: 6, pitch: 0.1, length: 10, internal: false })
// "A thread has at most 58 turns (this one is 100.0 long: 10 mm at a pitch of 0.1 mm)"
threadProblem({ diameter: 6, pitch: 1, length: 10, internal: false }) // undefined: buildable La limite de 58 tours est COIL_MAX_TURNS − 2: la crête commence un pas avant le filetage et se termine un après, de sorte que les coupes des extrémités plates rencontrent le profil complet.
Hélices
coilGeometry renvoie la ligne médiane et le premier anneau de profil d'un fil enroulé autour de Z, pour sweepSolid. Les points par tour découlent du rayon afin que les cordes restent à moins de 0,01 mm de la véritable hélice : stepsPerTurn(r) = clamp(⌈π / acos(1 − 0.01/r)⌉, 32, 128).
| rayon | stepsPerTurn |
|---|---|
| 1 | 32 |
| 5 | 50 |
| 50 | 128 |
Tôle
Un profilé en tôle est une ligne centrale épaissie en une bande d'épaisseur constante, avec le matériau sur les côtés gauche, droit ou des deux côtés, et un rayon de courbure intérieur r à chaque coin. developedLength unbends it with a K-factor (default 0.44): each bend contributes (r + K·t)·θ and each straight run loses the setback of its neighbouring bends.
{"straight":70,
"bends":[{"angle":1.5707963267948966,"allowance":6.094689747964199},
{"angle":1.5707963267948966,"allowance":6.094689747964199}],
"length":82.18937949592839} | Segment | Portée à motif plat, mm |
|---|---|
| plat | 0 → 25 |
| plier 90° | 25 → 31.095 (allocation 6.0947) |
| plat | 31.095 → 61.095 |
| plier 90° | 61.095 → 67.189 |
| plat | 67.189 → 82.189 |
Check: (3 + 0.44 × 2) × π/2 = 6.0947 per bend, and 70 + 2 × 6.0947 = 82.189 mm.
Dépannage
| Message | Réparer |
|---|---|
| Un engrenage a besoin d'un module > 0 et d'au moins 6 dents entières | utilisez z ≥ 6 et un nombre entier de dents |
| L'angle de pression doit être compris entre 0 et 45 degrés | 20° est la norme ; 14.5° et 25° sont des alternatives courantes |
| Un pas de P mm est trop grossier pour un filetage de D mm | le pas doit être au maximum la moitié du diamètre |
| Un fil de discussion comporte au maximum 58 tours | divisez le filetage en éléments plus courts ou utilisez un pas plus grossier |
| L'épaisseur de la tôle doit être positive (elle est 0) | passer une épaisseur > 0 |
| Le chemin est trop étroit pour cette épaisseur : sa courbe décalée se brise | augmenter le rayon de courbure ou réduire l'épaisseur |