21. Gearwheel Design

Ready-to-use parametric gearwheel design (a.k.a. spur).

_images/gearwheel_examples.png _images/gearwheel_3d.png

To get an overview of the possible gearwheel designs that can be generated by gearwheel(), run:

> python gearwheel.py --run_self_test

21.1. Gearwheel Parameter List

The parameter relative to the gear-profile are directly inherit from the Gear Profile Function.

_images/gearwheel_parameters.png _images/gearwheel_crenel_parameters.png

21.2. Gearwheel Parameter Dependency

21.2.1. router_bit_radius

Four router_bit radius are defined: gear_router_bit_radius, wheel_hollow_router_bit_radius, axle_router_bit_radius and cnc_router_bit_radius. Each set the router_bit radius for different areas except cnc_router_bit_radius that set the mimnimum value for the three other router_bit radius. If an other router_bit radius is smaller than cnc_router_bit_radius, it is set to cnc_router_bit_radius. So, we have the relations:

cnc_router_bit_radius < gear_router_bit_radius
cnc_router_bit_radius < wheel_hollow_router_bit_radius
cnc_router_bit_radius < axle_router_bit_radius

21.2.2. axle_type

Three possible shapes of axle are possible: none, circle or rectangle. none means there is no axle (axle_x_width and axle_y_width are ignored). For circle, the parameter axle_x_width is used to set the circle diameter (axle_y_width is ignored). axle_x_width and axle_y_width must be bigger than twice axle_router_bit_radius:

2*axle_router_bit_radius < axle_x_width
2*axle_router_bit_radius < axle_y_width

21.2.3. wheel_hollow_leg_number

wheel_hollow_leg_number sets the number of legs (equal the number of wheel_hollows). If you set zero, no wheel_hollow are created and the other parameters related to the wheel_hollow are ignored. wheel_hollow_internal_diameter must be bigger than the axle. wheel_hollow_external_diameter must be smaller than the gear_hollow_diameter (which is not a parameter but derivated from other gear parameter):

axle_x_width < wheel_hollow_internal_diameter
sqrt(axle_x_width²+axle_y_width²) < wheel_hollow_internal_diameter
wheel_hollow_internal_diameter + 4*wheel_hollow_router_bit_radius < wheel_hollow_external_diameter
wheel_hollow_external_diameter < gear_hollow_diameter

21.2.4. gear_tooth_nb

gear_tooth_nb sets the number of teeth of the gear_profile. If gear_tooth_nb is set to zero, the gear_profile is replaced by a simple circle of diameter gear_primitive_radius.

21.2.5. Alignment angles

The rectangle axle is always fixed to the XY-axis. The angle between the first wheel_hollow leg (middle of it) and the X-axis is set with wheel_hollow_leg_angle. The angle between the first gear_profile tooth (middle of the addendum) and the X-axis is set with gear_initial_angle.

21.2.6. crenel_mark_nb

crenel_mark_nb lets you modify the first (or the several first) crenel to help you recognizing the first tooth. If the crenel_type is set to rectangle, the right-angle of the first crenels are rounded. If the crenel_type is set to circle, the first crenels have a egg-form. If you don’t want to mark the first crenel, set crenel_mark_nb to zero. This feature is useful when you work with small gearwheel and you want to align them easily.

21.2.7. crenel_tooth_align

crenel_tooth_align is an alternative to the parameters crenel_number and crenel_angle. If crenel_tooth_align is set to a positive integer N, crenels are generated just under the gear-teeth, every N teeth. This feature is useful when you have a small space between the gear-teeth and the axle. In this case, material must be optimized by aligning crenel and teeth to avoid weak points (a.k.a. bottle-neck). To use crenel_tooth_align, the parameters crenel_number and crenel_angle must be set to zero.