# Cogwheel

## Intro

Create a Cogwheel (AKA Cog or Gear) primitive as part of a Basic Shape.

## UI

**Teeth** - Set the number of teeth or cogs.

**Pitch Radius** - Set the radius from the centre to the midpoint of each tooth.

**Hole Radius** - Set the radius of the hole.

**Tooth Depth** - Set a value for the total height of each tooth.

**Tooth Width** - Set the width of each tooth at its midpoint.

**Tooth Taper** - Set the inner and outer taper angles for each tooth.

**Midpoint Position** - Set the midpoint of each tooth where 0 is the base of the tooth and 1 is the tip.

### Gear Example

In order to create a gear system there are some basic guides to follow:

- The
**Module**of each Cogwheel must match. The module is a ratio which can be easily expressed as: $Module = 2 * Pitch Radius / Number Of Teeth$ - The teeth must be the same shape/size.
- The
**Pitch Circle**of each Cogwheel must be 'touching'.

In the example below:

- the
**Medium**Cogwheel has a**Pitch Radius**of**200**and**12 Teeth**. - the
**Small**Cogwheel has a**Pitch Radius**of**100**and**6 Teeth**. - the
**Large**Cogwheel has a**Pitch Radius**of**400**and**24 Teeth**.

`200 / 12`

, `100 / 6`

and `400 / 24`

all equal `16.66`

so each Cogwheel has the same **Module**.

The math for the rotation is also quite simple. If:

**r1**= Rotation of the Medium Cogwheel**t1**= Number of Teeth of the Medium Cogwheel**r2**= Rotation of the Small Cogwheel**t2**= Number of Teeth of the Small Cogwheel

$r2 = r1 * t1 / t2$

In the case of **Medium** > **Small** that would be:

$r2 = r1 * 12/6$

A Jsmath Utility can be used to rig this equation up.

- Create a Jsmath Utility.
- Add the expression
`-n0 * n1/n2`

- Add 3 indices.
- Connect Medium.rotation→jsmath.index0
- Connect Medium.teeth→jsmath.index1
- Connect Small.teeth→jsmath.index2
- Connect jsmath.id→Small.rotation

As he **Medium** Cogwheel rotates, the **Small** Cogwheel will rotate at the correct speed so they both mesh with each other. In order to position them correctly, move them 300 apart in X (the total of their **Pitch Radius** values).