Skip to content

Add tooth tip fillets to gears - #88

Open
GabrielJMS wants to merge 1 commit into
gumyr:mainfrom
GabrielJMS:feat/gear-tip-round
Open

GabrielJMS wants to merge 1 commit into
gumyr:mainfrom
GabrielJMS:feat/gear-tip-round

Conversation

@GabrielJMS

Copy link
Copy Markdown

Gear drawings usually specify a tip round (e.g. R0.2) as well as a root fillet. This PR adds an optional tip_fillet argument that rounds the two convex tip corners of each tooth:

  • tip_fillet (float, optional): radius of the tooth-tip fillet. None or 0 leaves sharp tips. Defaults to None.

It is available on InvoluteToothProfile, SpurGearPlan, SpurGear, HelicalGear, WormWheel, WormGear, RackGearPlan and RackGear. It sits with the other profile parameters, after dedendum (after base_height on the rack) and before rotation/align/mode, so calls that pass the profile parameters positionally are unaffected; a call passing rotation positionally would need to name it.

Negative radii raise, as does a radius whose fillets would overlap on the tip land; for involute teeth this limit is computed exactly from the offset involute. On helical gears the radius is measured in the transverse plane, like root_fillet. For an internal gear made by subtracting a SpurGearPlan, tip_fillet rounds the ring's root and root_fillet its tooth tip (documented).

SpurGear(module=1.55, tooth_count=35, pressure_angle=20, thickness=8,
         root_fillet=0.3, tip_fillet=0.2)

Tests cover validity, area/volume, the fillet arcs, invalid radii and the no-op cases.

🤖 Generated with Claude Code

Add an optional tip_fillet that rounds the two convex tip corners of each
tooth, threaded through InvoluteToothProfile, SpurGearPlan, SpurGear,
HelicalGear, WormWheel, WormGear, RackGearPlan and RackGear alongside
root_fillet. None or 0 leaves the profile unchanged.

The radius is checked before filleting: a negative value raises, and so
does one whose fillets would overlap on the tip land. For involute teeth
the fillet centre lies on the flank involute offset inward by the radius,
so the limit is exact rather than a straight-line estimate.

For an internal gear made by subtracting a SpurGearPlan from a circle,
tip_fillet rounds the internal gear's root and root_fillet its tooth tip.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant