View source: R/calc_spoke_lengths.R
calc_spoke_lengths | R Documentation |
Calculate the spoke lengths for a given effective rim diameter (ERD) in combination with the necessary hub dimensions.
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")
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 |
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.
The function returns a data.frame with one row and the columns left_length and right_length in mm.
The function is not applicable to straight pull spokes.
Jannes Muenchow
Roger Musson (2013): A professional guide to wheelbuilding. 6th Edition. http://www.wheelpro.co.uk/.
# 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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.