home *** CD-ROM | disk | FTP | other *** search
-
- ' * ***************************************************** *
- ' * * * *
- ' * * Spoke.bas 1.0, by Roger Marquis, 3/89 * *
- ' * * Thanks to Rik & Jon Hjertberg @ Wheelsmith * *
- ' * * Runs under Microsoft QuickBasic (C) * *
- ' * * * *
- ' * * Public Domain, Freeware. * *
- ' * * * *
- ' * ***************************************************** *
-
- BEGIN:
- rimdiam = 0 ' rim diameter
- HUBWID = 0 ' hub width
- HUBDIAM = 0 ' hub diameter
- NCROSS$ = "" ' number of spoke crosses, input
- NCROSS = 0 ' number of spoke crosses, output
- NSPKS = 0 ' number of spokes
- 'Q and Q$ ' misc input variable
-
- '*************************************************************************
-
- CLS : LOCATE 3, 1
- PRINT " Input rim diameter, spoke tip to opposite tip in mm"
- PRINT " or RETURN for a list of common rim diameters"
- LOCATE 10, 5
- INPUT ; rimdiam
- WHILE rimdiam < 99
- IF rimdiam < 99 THEN GOSUB RIMMENU
- PRINT : PRINT "? ", : Q$ = INPUT$(1): Q = VAL(Q$)
- ON Q GOSUB RIMCHART1, RIMCHART2, RIMCHART3, RIMCHART4, RIMCHART5
- PRINT : PRINT : PRINT "DIAMETER (or ENTER for menu) ";
- INPUT ; rimdiam
- WEND
-
- '************************************************************************
-
- CLS : LOCATE 2, 1
- PRINT " Input effective hub diameter in mm"
- PRINT " measured from center of spoke hole, across"
- PRINT " axle, to opposite spoke hole"
- PRINT
- PRINT " And the width of the hub in mm"
- PRINT " measured from flange to opposite flange"
- PRINT
- PRINT " or RETURN for a list of common hub dimensions"
- LOCATE 12, 1
- WHILE HUBDIAM = 0 OR HUBDIAM > 99
- INPUT "DIAMETER"; HUBDIAM: IF HUBDIAM = 0 THEN GOSUB HUBCHART
- WEND
- PRINT
- WHILE HUBWID = 0 OR HUBWID > 99
- INPUT "WIDTH"; HUBWID: IF HUBWID = 0 THEN GOSUB HUBCHART
- WEND
-
- '************************************************************************
-
- WHILE NCROSS$ < "0" OR NCROSS > 9
- CLS : LOCATE 2, 22: PRINT "Input cross pattern:"
- LOCATE 9, 6: INPUT ; NCROSS$: NCROSS = VAL(NCROSS$)
- WEND
-
- '************************************************************************
-
- WHILE NSPKS < 10 OR NSPKS > 99
- CLS : LOCATE 3, 20: PRINT "Input number of spokes:"
- LOCATE 8, 6: INPUT NSPKS
- WEND
-
- '************************************************************************
-
- Y = 720 * (NCROSS / NSPKS)
- A = (HUBDIAM / 2) * SIN(Y * (3.1415 / 180))
- B = (rimdiam / 2) - (HUBDIAM / 2) * COS(Y * (3.1415 / 180))
- C = HUBWID / 2
- LENGTH% = SQR(A ^ 2 + B ^ 2 + C ^ 2) - .5
-
- '************************************************************************
-
- CLS : LOCATE 2, 23
- PRINT "RIM SIZE = "; rimdiam: PRINT
- PRINT " CROSS = "; NCROSS, " HUB DIAMETER = "; HUBDIAM
- PRINT " SPOKES = "; NSPKS, " HUB WIDTH = "; HUBWID
- PRINT : PRINT
- PRINT " Spoke length is :"
- PRINT : PRINT
- PRINT " ", LENGTH%
- PRINT : PRINT
- PRINT " Add and subtract 1mm for each side of a dished 6/7 spd. rear wheel."
- PRINT
- PRINT " NOTE: For non-Wheelsmith (DT) spokes or spokes"
- PRINT " heavier than 1.8mm (15): add 1 to 1.5 mm"
- PRINT " (depending on resaler measurement method)."
- PRINT : PRINT : PRINT
- PRINT " RUN AGAIN ? (enter N to quit)"
-
- Q$ = INPUT$(1)
- IF Q$ = "N" OR Q$ = "n" THEN END ELSE GOTO BEGIN
-
- '*************************************************************************
- ' Menu screens:
- '*************************************************************************
- RIMMENU:
- CLS : LOCATE 5, 1
- PRINT " ENTER :": PRINT
- PRINT " 1 for 700c clincher rims": PRINT
- PRINT " 2 for 27in clincher rims": PRINT
- PRINT " 3 for 26in clincher rims": PRINT
- PRINT " 4 for 24/20in rims": PRINT
- PRINT " or 5 for 27/26in sew-up rims":
- RETURN
-
- '***************************************************************************
-
- RIMCHART1: CLS
- PRINT " 700c rims :"
- PRINT
- PRINT " Ambrosio Aero 605 | Nisi Mixer 612"
- PRINT " Elite 614 | Rigida 1320 610"
- PRINT " Araya 1W 605 | Score 612"
- PRINT " CT19 611 | HLC2000 606"
- PRINT " CTL730 609 | Specialized HC19 613"
- PRINT " Campagnolo V-profil 597 | HC20 614"
- PRINT " Std. 613 | Sun/Mistral M132 610"
- PRINT " Galli Aero 609 | M17 612"
- PRINT " Matrix Iso-C 597 | Weinman Concave 617"
- PRINT " Mavic E2 / G40 613 | Wolber 58 / Gtlmn 613"
- PRINT " MA2 / MA40 611 | Alpine 612"
- PRINT " M3CD 613 | TX 602"
- PRINT " OPEN4CD 605 |"
- PRINT
- RETURN
-
- '*****************************************************************************
-
- RIMCHART2: CLS : LOCATE 3, 1
- PRINT " 27in Clinchers :"
- PRINT
- PRINT " Araya 1W 617"
- PRINT " Matrix Iso-C 609"
- PRINT " Titan 621"
- PRINT " Mavic MA2 / MA2 618"
- PRINT " E2 / G40 620"
- PRINT " Rigida 1320 617"
- PRINT " steel 1-1/4 625"
- PRINT " Sun/Mistral M17 619"
- PRINT " Ukai 16A(2) 624"
- PRINT " Weinmann concave 624"
- PRINT " Wolber 58 / Gtlmn 620"
- PRINT
- RETURN
-
- '***************************************************************************
-
- RIMCHART3: CLS : LOCATE 3, 1
- PRINT " 26in Clinchers :"
- PRINT
- PRINT " Araya RM20 / RM25 547"
- PRINT " Mavic Oxygen 541"
- PRINT " Bontrager MA40 546"
- PRINT " Rigida steel 1-3/8 581"
- PRINT " Ritchey Vantage 544"
- PRINT " Specialized X22 554"
- PRINT " X26 547"
- PRINT " X28 543"
- PRINT " X32 549"
- PRINT
- RETURN
-
- '***************************************************************************
-
- RIMCHART4: CLS
- PRINT " 24in Rims :": PRINT
- PRINT " SEW-UP:"
- PRINT " Ambrosio aero 505"
- PRINT " Araya ADX4 506"
- PRINT " Assos 16mm 505"
- PRINT " Fiamme red 515"
- PRINT " Mavic CX18 517"
- PRINT " Mach2 503"
- PRINT " Nisi Laser 506"
- PRINT
- PRINT " 20in Rims":
- PRINT
- PRINT " SEW-UP:"
- PRINT " Araya aero 400"
- PRINT
- RETURN
-
- '****************************************************************************
-
- RIMCHART5: CLS
- PRINT " 26/27in Sew-up Rims :"
- PRINT
- PRINT " Ambrosio Aero 604 | Matrix Iso 610"
- PRINT " 20 617 | Mavic GP/GL/GEL 615"
- PRINT " Synthesis 617 | Mach 2 602"
- PRINT " Crono 617 | Mistral M19A 602"
- PRINT " std. 616 | Nisi Laser 615"
- PRINT " Araya ADX-4 611 | Saavedra aero 608"
- PRINT " (26in)ADX4 558 | (26in)aero 552"
- PRINT " Assos 16mm 616 | Sun M17 612"
- PRINT " 18mm 625 | M19 603"
- PRINT " (26in)16mm 558 | Wolber Aspin 614"
- PRINT " Campagnolo all 616 | Profil-18 611"
- PRINT " Fiamme Red 614 | Profil-20 600"
- PRINT : PRINT : PRINT
- RETURN
-
- '*******************************************************************************
-
- HUBCHART: CLS
- PRINT " Flange DIAMETERS / WIDTHS :"
- PRINT
- PRINT " Campagnolo LF Rear 44 57"
- PRINT " Front 39 70"
- PRINT " HF Rear 67 57"
- PRINT " Front 67 68"
- PRINT " track HF Rear 67 75"
- PRINT " Front 67 64"
- PRINT " Shimano LF Rear cassette 44 55"
- PRINT " Rear standard 44 56"
- PRINT " Front 38 71"
- PRINT " Specialized MF Rear 46 51"
- PRINT " Front 43 66"
- PRINT " Mavic LF Rear 44 56"
- PRINT " Front 40 56"
- PRINT " Suntour LF Rear 44 55"
- PRINT " Front 38 66"
- PRINT " track HF Rear 67 66"
- PRINT " Front 67 64"
- PRINT
- RETURN
-
- '********************************************< end of program >***********
-