Zum Inhalt springen
CADCAMFUN
Doku

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.

GeneratorDateiHauptexportgüter
Evolventenstirnradgetriebegear.tsgearDimensions, gearOutline, MIN_GEAR_TEETH = 6
Metrisches ISO-Gewindethread.ts (124 Zeilen)threadSizes, threadProblem, threadTool, threadGroove
Helix / Spulehelix.ts (41 Zeilen)coilGeometry, SchrittePerTurn, COIL_STEPS_PER_TURN = 32, COIL_MAX_TURNS = 60
Blechsheet-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.

Speztonhöhebasetippwurzel
m 2, z 18, 20°1816.9142015.5
m 2, z 12, 20°1211.276149.5
m 2, z 18, 25°1816.3142015.5
Verzahnungspaar m 2: z 18 und z 12 Zum Orbit ziehen · zum Zoomen scrollen · zum Schwenken mit der rechten Maustaste ziehen
Both outlines are gearOutline(…, 4) output, extruded 8 mm with Ø8 and Ø6 bores. Centre distance m(z₁ + z₂)/2 = 30 mm; the 12-tooth gear is turned half a pitch (π/12) so its tooth sits in a gap of the 18-tooth gear.
Fehler – echte Botschaften
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.

Fadenext. Moll d₃ext. Höhe h₃int. Moll D₁wurzelbreitescheitelbreite
M6 × 14.77310.61344.91750.83330.125
M8 × 1.256.46640.76686.64681.04170.1563
M10 × 1.58.15970.92018.37621.250.1875
M12 × 1.759.8531.073510.10561.45830.2188

Werte sind threadSizes(d, P, internal) output. Heights are 0.61343·P (external) and 0.54127·P (internal); the crest is P/8.

M8 × 1.25 Außengewinde, 5 mm Zum Orbit ziehen · zum Zoomen scrollen · zum Schwenken mit der rechten Maustaste ziehen
threadTool({ diameter: 8, pitch: 1.25, length: 5, internal: false }): 3 698 triangles. The full 10 mm version is 7 020 triangles, a closed solid of genus 0, V 408.0 mm³, built in 460 ms.
threadProblem – echte Nachrichten
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).
radiusstepsPerTurn
132
550
50128
Spule r 10, Steigung 4, 5 Windungen Zum Orbit ziehen · zum Zoomen scrollen · zum Schwenken mit der rechten Maustaste ziehen
coilGeometry({ cx: 0, cy: 0, z0: 0, radius: 10, pitch: 4, turns: 5, wire: 1.5, square: false, left: false }).path: 356 points (5 × 71 + 1), drawn as a toolpath-style polyline.

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.

U-Kanal: t 2, innen R3, 30 mm Flansch Zum Orbit ziehen · zum Zoomen scrollen · zum Schwenken mit der rechten Maustaste ziehen
sheetOutline([(0,30),(0,0),(40,0),(40,20)], 2, ”left”, 3): an 80-point closed outline, extruded 30 mm along the sketch normal as the history does.
developedLength(path, 2, 3, "left") – echte Ausgabe
{"straight":70,
 "bends":[{"angle":1.5707963267948966,"allowance":6.094689747964199},
          {"angle":1.5707963267948966,"allowance":6.094689747964199}],
 "length":82.18937949592839}
SegmentFlachmusterspanne, mm
wohnung0 → 25
biegung 90°25 → 31.095 (Zulage 6.0947)
wohnung31.095 → 61.095
biegung 90°61.095 → 67.189
wohnung67.189 → 82.189

Check: (3 + 0.44 × 2) × π/2 = 6.0947 per bend, and 70 + 2 × 6.0947 = 82.189 mm.

Fehlerbehebung

NachrichtFix
Ein Zahnrad benötigt ein Modul > 0 und mindestens 6 ganze Zähneverwenden Sie z ≥ 6 und eine ganzzahlige Zähnezahl
Der Druckwinkel muss zwischen 0 und 45 Grad liegen20° ist Standard; 14.5° und 25° sind gängige Alternativen
Eine Steigung von P mm ist zu grob für ein D mm-Gewindedie Steigung darf höchstens die Hälfte des Durchmessers betragen
Ein Thread hat höchstens 58 Windungenteilen 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 zusammenerhöhen Sie den Biegeradius oder verringern Sie die Dicke