Documentazione
Generatori di funzionalità
Ingranaggi ad evolvente, filettature metriche ISO, eliche e nastri di lamiera con motivi piani: profili e maglie esatti da pochi numeri.
Tradotto automaticamente dall'inglese. Vedi l'originale in inglese
Generatori di funzionalità
I generatori di caratteristiche trasformano alcuni numeri tecnici in profili o mesh esatti: un ingranaggio evolvente dal numero di moduli e denti, una filettatura ISO da diametro e passo, un'elica da raggio e passo, una striscia piegata da una linea centrale e uno spessore. Ciascuno è una pura funzione in packages/core/src/cad; l'editor, l'assistente e il modello CAM chiamano la stessa funzione, quindi tutti e tre vedono la stessa parte.
| Generatore | File | Principali esportazioni |
|---|---|---|
| Ingranaggio cilindrico evolvente | gear.ts | gearDimensions, gearOutline, MIN_GEAR_TEETH = 6 |
| Filettatura metrica ISO | thread.ts (124 righe) | threadSizes, threadProblem, threadTool, threadGroove |
| Elica/bobina | helix.ts (41 righe) | coilGeometria, passiPerGiro, COIL_STEPS_PER_TURN = 32, COIL_MAX_TURNS = 60 |
| Lamiera | sheet-metal.ts (235 righe) | foglioContorno, sviluppatoLunghezza, conBordi, piattoSchemaDisegni, piattoSchemaDxf |
Ingranaggi ad evolvente
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.
| Spec | pece | base | mancia | radice |
|---|---|---|---|---|
| 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 Filettature metriche 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.
| Filo | est. minore d₃ | est. altezza h₃ | int. minore D₁ | larghezza della radice | larghezza della cresta |
|---|---|---|---|---|---|
| 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 |
I valori sono 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 Il limite di 58 turni è COIL_MAX_TURNS − 2: il colmo inizia un passo prima della filettatura e termina uno dopo, in modo che i tagli dell'estremità piatta incontrino il profilo completo.
Eliche
coilGeometry restituisce la linea centrale e il primo anello del profilo di un filo avvolto attorno a Z, for sweepSolid. I punti per giro seguono dal raggio in modo che le corde rimangano entro 0.01 mm dalla vera elica: stepsPerTurn(r) = clamp(⌈π / acos(1 − 0.01/r)⌉, 32, 128).
| raggio | stepsPerTurn |
|---|---|
| 1 | 32 |
| 5 | 50 |
| 50 | 128 |
Lamiera
Un profilo in lamiera è una linea centrale ispessita in una striscia di spessore costante, con il materiale a sinistra, a destra o su entrambi i lati e con un raggio di curvatura interno r su ogni angolo. 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} | Segmento | Luce piana, mm |
|---|---|
| piatto | 0 → 25 |
| piegare 90° | 25 → 31.095 (indennità 6.0947) |
| piatto | 31.095 → 61.095 |
| piegare 90° | 61.095 → 67.189 |
| piatto | 67.189 → 82.189 |
Check: (3 + 0.44 × 2) × π/2 = 6.0947 per bend, and 70 + 2 × 6.0947 = 82.189 mm.
Risoluzione dei problemi
| Messaggio | Aggiustare |
|---|---|
| Un ingranaggio necessita di un modulo > 0 e almeno 6 denti interi | utilizzare z ≥ 6 e un numero intero di denti |
| L'angolo di pressione deve essere compreso tra 0 e 45 gradi | 20° è standard; 14.5° e 25° sono alternative comuni |
| Un passo di P mm è troppo grosso per una filettatura D mm | il passo deve essere al massimo la metà del diametro |
| Un thread ha al massimo 58 giri | dividere la filettatura in tratti più corti o utilizzare un passo più grossolano |
| Lo spessore del foglio deve essere positivo (è 0) | superare uno spessore > 0 |
| Il percorso è troppo stretto per questo spessore: la sua curva offset si spezza | aumentare il raggio di curvatura o ridurre lo spessore |