Dokumentation
Funktionsgeneratoren
Evolventenräder, metrische ISO-Gewinde, Spiralen und Blechstreifen mit flachen Mustern: exakte Profile und Maschen aus wenigen Zahlen.
Automatisch aus dem Englischen übersetzt. Englisches Original ansehen
Funktionsgeneratoren
Feature-Generatoren wandeln einige technische Zahlen in exakte Profile oder Netze um: ein Evolventenrad aus Modul und Zähnezahl, ein ISO-Gewinde aus Durchmesser und Steigung, eine Helix aus Radius und Steigung, ein gebogener Streifen aus einer Mittellinie und einer Dicke. Jedes ist eine reine Funktion in packages/core/src/cad; der Editor, der Assistent und das CAM-Modell rufen dieselbe Funktion auf, sodass alle drei das gleiche Teil sehen.
| Generator | Datei | Hauptexportgüter |
|---|---|---|
| Evolventenstirnradgetriebe | gear.ts | gearDimensions, gearOutline, MIN_GEAR_TEETH = 6 |
| Metrisches ISO-Gewinde | thread.ts (124 Zeilen) | threadSizes, threadProblem, threadTool, threadGroove |
| Helix / Spule | helix.ts (41 Zeilen) | coilGeometry, SchrittePerTurn, COIL_STEPS_PER_TURN = 32, COIL_MAX_TURNS = 60 |
| Blech | sheet-metal.ts (235 Zeilen) | blattUmriss, entwickelte Länge, mit Säumen, flaches MusterZeichnung, flaches MusterDxf |
Evolventenräder
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.
| Spez | tonhöhe | base | tipp | wurzel |
|---|---|---|---|---|
| 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 Metrische ISO-Gewinde
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.
| Faden | ext. Moll d₃ | ext. Höhe h₃ | int. Moll D₁ | wurzelbreite | scheitelbreite |
|---|---|---|---|---|---|
| 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 |
Werte sind 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 Das 58-Rundenlimit beträgt COIL_MAX_TURNS − 2: der Grat beginnt eine Steigung vor dem Gewinde und endet eine danach, sodass die flachen Endschnitte das gesamte Profil treffen.
Helices
coilGeometry ergibt die Mittellinie und den ersten Profilring aus einem um Z gewickelten Draht, z sweepSolid. Die Punkte pro Windung ergeben sich aus dem Radius, sodass die Sehnen innerhalb von 0.01 mm der wahren Helix bleiben: stepsPerTurn(r) = clamp(⌈π / acos(1 − 0.01/r)⌉, 32, 128).
| radius | stepsPerTurn |
|---|---|
| 1 | 32 |
| 5 | 50 |
| 50 | 128 |
Blech
Ein Blechprofil ist eine Mittellinie, die zu einem Streifen konstanter Dicke verdickt ist, mit dem Material auf der linken, rechten oder beiden Seiten und einem inneren Biegeradius r an jeder Ecke. 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 | Flachmusterspanne, mm |
|---|---|
| wohnung | 0 → 25 |
| biegung 90° | 25 → 31.095 (Zulage 6.0947) |
| wohnung | 31.095 → 61.095 |
| biegung 90° | 61.095 → 67.189 |
| wohnung | 67.189 → 82.189 |
Check: (3 + 0.44 × 2) × π/2 = 6.0947 per bend, and 70 + 2 × 6.0947 = 82.189 mm.
Fehlerbehebung
| Nachricht | Fix |
|---|---|
| Ein Zahnrad benötigt ein Modul > 0 und mindestens 6 ganze Zähne | verwenden Sie z ≥ 6 und eine ganzzahlige Zähnezahl |
| Der Druckwinkel muss zwischen 0 und 45 Grad liegen | 20° ist Standard; 14.5° und 25° sind gängige Alternativen |
| Eine Steigung von P mm ist zu grob für ein D mm-Gewinde | die Steigung darf höchstens die Hälfte des Durchmessers betragen |
| Ein Thread hat höchstens 58 Windungen | teilen Sie das Gewinde in kürzere Abschnitte auf oder verwenden Sie eine gröbere Steigung |
| Die Blechdicke muss positiv sein (sie beträgt 0) | übergeben Sie eine Dicke > 0 |
| Der Pfad ist für diese Dicke zu eng: Die versetzte Kurve bricht zusammen | erhöhen Sie den Biegeradius oder verringern Sie die Dicke |