# 21. Gearwheel Design¶

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

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.

## 21.2. Gearwheel Parameter Dependency¶

cnc_router_bit_radius < gear_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


### 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_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.