calc_spoke_lengths: Calculation of spoke lengths

View source: R/calc_spoke_lengths.R

calc_spoke_lengthsR Documentation

Calculation of spoke lengths

Description

Calculate the spoke lengths for a given effective rim diameter (ERD) in combination with the necessary hub dimensions.

Usage

calc_spoke_lengths(n = 32, erd = NULL, left_flange_d = NULL,
  right_flange_d = NULL, wl = NULL, wr = NULL, cross = 3,
  spoke_hole_d = 2.4, offset = 0, side = "no_offset")

Arguments

n

Total number of spokes per bike wheel (default: 32).

erd

Effective rim diameter (mm), which is the diameter of the rim at the nipple seats, i.e. the diameter at the end of the spokes in the finished wheel. This is sometimes also referred to as over spoke diameter.

left_flange_d

Diameter of the left flange (mm).

right_flange_d

Diameter of the right flange (mm).

wl

Width from the hub center to the left flange (mm).

wr

Width from the hub center to the right flange (mm).

cross

Number of times each spoke crosses other spokes. The default is 3 (3-cross lacing pattern).

spoke_hole_d

Diameter of the spoke hole (mm).

offset

The distance (in mm) by which the spoke holes are positioned away from the rim centerline (default: 0).

side

side can take one of three values: "no_offset" (default), "front" or "rear". You only need to specify this argument if your rim comes with an offset. Offsets are subtracted from wl and added to wr in the rear case (sprokes on the right side cause wheel dish), and vice versa in the front case (disc brake on the left might cause wheel dish).

Details

Essentially, Euclidean geometry solves the problem of calculating the length of a spoke. ERD and hub dimensions provide the necessary lengths while crossing pattern and the number of spoke holes determine the angle. The function uses following formulas to derive the spoke length:

r^2 = (\frac{erd}{2}^{2}

h^2 = (\frac{flange_d}{2}^2

f^2 = w^2

cos_a = (\cos((\frac{360}{\frac{n}{2}} * cross) * pi / 180)

spoke_length = \sqrt(r^2 + h^2 + f^2 - 2 * \frac{erd}{2} * \frac{flange_d}{2} * cos_a) - \frac{spoke_hole_d}{2}

for flange_d = left or right flange diameter, w = width from the the hub center to the left or right flange

Please refer to http://www.wheelpro.co.uk/support/spoke-length-proof.php for an excellent mathematical proof, both in terms of explanation and depiction.

Value

The function returns a data.frame with one row and the columns left_length and right_length in mm.

Note

The function is not applicable to straight pull spokes.

Author(s)

Jannes Muenchow

References

Roger Musson (2013): A professional guide to wheelbuilding. 6th Edition. http://www.wheelpro.co.uk/.

Examples

# Rigida Zac 2000 with 36 spoke holes
# Shimano Deore LX FH-M580 (rear hub)
calc_spoke_lengths(n = 36, erd = 537, left_flange_d = 45,
                   right_flange_d = 45, wl = 37.5, wr = 17.5)
# using an offset
calc_spoke_lengths(n = 36, erd = 537, left_flange_d = 45,
                   right_flange_d = 45, wl = 37.5, wr = 17.5, offset = 3,
                   side = "rear") 

jannes-m/velo documentation built on May 23, 2023, 2:41 p.m.