Some Technical Details about the Web Version of Hexrod

Program Origin and History

This Web page is based on Wayne Cattanach's Hexrod program, Rev 7-92, which was graciously supplied by Wayne. It uses Web "forms" to pass information between a set of cgi scripts written in Perl.

I was also inspired by Bruce Conner's Windows version of Hexrod.

You can find an archive of information about cane rods, the Hexrod program, and cane rod tapers at Jerry Foster's excellent Rodmakers Web Site. Jerry's site has a paper by Wayne describing the math behind the Hexrod program.

I'll try to keep a list of modifications and fixes here:

  • December 17, 1996: First released.
  • January 9, 1997: Demo added.
  • April 17, 1997: Added option to smooth stress values.
  • July 17, 1997: Added option to save & retrieve a rod design.
  • August 20, 1997: Added option to modify rod's basic design parameters.
  • October 20, 1997: Fixed a bug affecting how data was passed between screens.
  • February 15, 1998: Added a feature to allow two rod designs to be compared. Changed how recommended ferrule sizes are computed (still seems flaky :-(). Added a feature to subtract varnish thickness.
  • February 28, 1998: Added a feature to allow measurements taken at irregular or nonstandard intervals, or in metric units, to be input.
  • March 14, 1998: Added a feature to provide a page with planing form settings.
  • March 21, 1998: Finally found and fixed the bug in how ferrule sizes are computed. Added an option to add a longer descriptive note to the output, and an option to send selected outputs by email.
  • March 29, 1998: Added a feature to allow rod measurements to be "cut and pasted" directly into the program.
  • April 26, 1998: Added a feature to allow rod dimensions to be developed from a linear (straight line) taper.
  • September 12, 1998: Added ASCII and GIF stress curve graphs to email output options.
  • December 19, 1998: Completed the taper archive, at least enough to be announced. In entering all these tapers I found I needed to make changes to allow for all the dimension measurements which start at 0 inches instead of 1 inch from the tip.
  • December 24, 1998: Combined the "cut and paste" input screen with the "irregular and nonstandard intervals" input screen, since they are both really doing the same thing. Its now called the "Free format input screen."
  • February 27, 1999: Added hooks to import and export TPR files for use with Wayne's Hexrod for Windows.
  • June 12, 1999: New feature allows graphical editing of stress curves.
  • November 10, 1999: Changed basic and detailed output tables to start at 0 inches rather than 1. Stresses at 0 are undefined.
  • February 2000: Began a general cleanup of the output formatting. Dropped the "Pgperl" graphics package for the "GD" package, which has less problems when the user tries to print a graph. Added capacity to handle longer (spey) rods with their larger ferrules. If you have actual weights for larger size ferrules (18-32/64) please send them to me.

How to use Web Hexrod

The Web page has two initial input screens. The first is Basic Rod Design Parameters. On this screen, you enter the rod length, action length, line weight, number and size of ferrules, etc. At the bottom of the first screen you make a choice of the Rod Data Input, which takes you to the proper second screen. This is where you must enter either Rod Dimensions or Stresses.

Actually, there are several ways you can get the rod dimensions or stresses into the program.

  • The most straightforward is to simply enter them, at 5 inch intervals. (Most US rodmakers build with planing forms with 5 inches between the adjustment "stations".)
  • If you have a rod design with dimension measurements at some spacing other than 5 inch intervals, you can enter the measurements into a free format data window. If your computer has simple cut and paste ability, you can copy rod dimensions directly from another source, such as an email message or a web page, directly into the free format window. There are some detailed directions below if you are using this option.
  • Finally, you can design a rod from a straight (linear) taper; again there are detailed directions below.
Once you have entered the dimensions or stresses by any of these methods, the program does some checks for data consistency and hopefully will find input problems and not just bomb or give stupid results. For instance, rod dimensions must be in a reasonable range of 0.0 to 1.0 inches, but if you enter a rod dimension of 184, it will assume you mean 0.184. I'll add more checks eventually.

After the rod dimensions or stresses have been checked, the program calculates the other and displays the Basic Design Report showing the basic rod parameters and the dimensions and stresses at 5 inch intervals. At the end of this report you have several options for getting more detailed information or changing the analysis. These are your options:

  • Add a descriptive note to the output. This note will be displayed on the output tables which are shown or emailed to you.
  • Several options for viewing the output:
    • A detailed table showing the dimensions and stress components at 1 inch intervals.
    • A table showing planing form settings.
    • A graph of the dimensions.
    • A graph of the stresses.
  • The basic output page, the detailed output page, and/or the planing form setting page can be sent to you by email.
  • Several options for modifying the rod:
    • Return to the Rod Dimensions input screen and modify dimensions.
    • Return to the Rod Stresses input screen and modify stresses.
    • Modify the basic design parameters.
  • Save your rod design to a file.
  • Compare the current rod design to one you saved previously.

Assumptions and Quirks

In converting Wayne's program, I made a couple simplifying assumptions which I hope won't cause any grief. These were
  • All lines are 90 feet long.
  • Line weights are from Wayne's table. These are for DT lines. Line weights cannot be changed by the user.
  • Ferrules are assumed to be evenly spaced.
These are some gotcha's:
  • I extrapolated Wayne's line weights and ferrule weights for some larger and smaller sizes. The lines extrapolate easily (total line weight in grains = 3.2 times weight of first 30 ft), but ferrules are a guess. If you are fussy, then weigh your ferrules. (On the second screen, you are given a chance to enter an exact ferrule weight.)
  • If you go back and forth, calculating stresses from dimensions then recalculating dimensions from stresses, the dimension values in the first few inches of the rod tip get tiny. (This seems to happen in Wayne's program also.) I did not try to determine what is going on there. (Recall that Garrison did not use the dimensions near the tip from his math either; he considered these computed dimensions impractically small.)
  • Because of the way information is passed between program screens, a browser "Reload" will sometimes bring back a screen without data. Use the "Back" button to go back to a good screen, reload it, and go forward again. This can affect how you correct entry errors; you may have to return and fill in the entire screen again.
  • Finally, I try to avoid working on the program when someone seems to be using it (I check the server logs), but when I do work on it there is the possibility that I will break something. Or change my mind about how something should work and change your answers from the last time. The program is always "live", and there are now so many parts that it is hard to make a separate copy to work on. "You get what you pay for."

Definitions of Terms and Descriptions of Special Features

Rod and Action Length

In case there is any confusion, the Rod Length refers to the entire assembled rod, from tip to butt. The Action Length is the length from the tip to as far as you want to analyze dimensions and stresses.

The action length may end at the front of the grip, or may extend into the grip and reel seat. It should never be longer than the rod length.

Unless you are cheating.

Saving and Retrieving a Rod Design

Another option is to save the rod design. This writes a copy of the rod parameters, dimensions and stresses to a disk file with a short name (8 or fewer characters) that you choose. This file is written to a temporary directory, where files are deleted after 3 days.

Be sure to choose a unique name; if you call your rod "test" and so does the next guy, he will clobber your file. Note that the name you enter is case sensitive, so "Payne101" is distinct from "PAYNE101" and from "payne101". I won't be responsible for lost or clobbered files, so make a printed copy if the rod design is important to you! Or export it to a TPR file...

Import/Export a TPR File

Later versions of Wayne Cattanach's DOS and Windows versions of Hexrod allow rod designs to he saved and retrieved from taper (.tpr) files. You can import a .tpr file on your PC into web hexrod, or export the web hexrod results to a .tpr file to use with Wayne's program.

Wayne's hexrod is in some ways more general than this Web version, so you will have to supply some additional information when importing the .tpr file. I've also found some slight differences in the stress values computed by the different programs. I think this results from how the center of gravity of the 1-inch rod sections are computed. I haven't had time to investigate this fully.

Free Format Data Window

U.S. rodmakers usually take measurements of a rod at 5 inch intervals, starting near or at the tip. Sometimes measurements are taken at another spacing, or at irregular intervals, or in metric units. The program will interpolate (using linear interpolation) these points to 5 inch intervals for you.

  • On the first page, select Input Dimensions at another spacing
  • In the box, enter pairs of numbers measuring the distance from the rod tip and the dimension (flat to flat) at that point.
  • Measurements points can be in whole or fractional inches. Use a decimal point for fractional inches. Dimension measurements are assumed to be in fractions of an inch if no decimal point is present
  • You may enter up to 100 measurements. Measurements need not be entered in order.
  • There are check boxes to indicate that either distance from the tip is in centimeters or rod dimension is in millimeters, or both.
  • There is also a place to enter the varnish thickness to subtract. The thickness is in the same units as the dimensions (ie. inches or mm).

If your computer has cut and paste features, you can copy a rod design directly into the free format window. The program will extract from the window pairs of number: a distance from tip followed by a dimension. Any extra text or characters (such as html formatting) are ignored, but extra NUMBERS will mess things up.

On the next screen, you will be given a chance to inspect how the data was imported, and fix anything that is not correct.

Designing a Rod from a Linear Taper

Many rods are designed on a linear or straight line taper, where the rod dimension increases in a constant fashion along the rod. As a rough rule of thumb, rods with a taper of 2-2.5 thousandths per inch are slow action rods, 2.5-3 thousandths are moderate action rods, and 3-3.5 thousandths are fast action rods.

This program uses the general approach of Garrison for designing straight taper rods. Garrison uses a linear taper over most of the rod blank, but makes the first 10 inches or so of the tip at a different, more gradual taper. In this program, you must input the desired rod dimension at the 1, 5, and 10 inch stations, then specify the taper to be used from the 10 inch point to the rod butt. After you have put in these numbers, the taper is computed by interpolating the first 10 inches and using the specified taper for the rest. You can then fine tune the taper by adjusting the rod dimensions at individual points, before the stress curve is computed.

Allowing for Varnish Thickness

When measurements are made from an existing rod, you must remember subtract the thickness of the varnish before using the measured dimensions. When you input dimensions, on the second screen, there is a box at the bottom in which you can enter the thickness of the varnish to subtract. The default value is 0.000 (no varnish). Typical varnish thickness might be 0.002 for a oil finished rod, to 0.006 for a dipped rod. This is for the entire rod dimension, i.e. both flats.

Planing Form Settings

From the main design report page, you can request a page with planing form settings. The default setting is one-half the rod dimension (at 5 inch stations), but by specifying a value in the box, you can have the setting adjusted by that amount to compensate for the cane enamel, grooved plane soles, etc. For instance, if the rod dimension at the 10 inch station is 0.100 inches, and the adjustment is 0.002, then the setting will be 0.052=(0.010/2)+0.002. A negative value for the adjustment is subtracted from half the dimension.

On this page, for ease of use, the 1-inch point (rod tip) is interpolated to the 0-inch station, and the settings are extrapolated at the butt end to the next 5-inch station point.

Smoothing Stress Values

At the bottom of the "Modify Stresses" form there is a button to smooth the stress values. This applies a simple moving average to the stress curve over a 5-inch segment. The dimensions are then recomputed based on this smoothed stress curve. A single application of this smoother does not have a great affect but it can be repeated if desired.

Many "classic" cane rod tapers were designed by trial and error, and have very lumpy-bumpy stress curves. Will smoothing the curve result in a rod that is better or worse? Hell if I know...

Graphical Editing of Stress Curves

One of the options on the Rod Design page is to edit the stress curve. You will be presented with a graph of the stress curve showing the stress at each 1-inch point along the action length. Using your mouse you can click where you want to put the stress value at that inch. Once you are done, the dimensions of the rod at each inch point are recalculated from the stresses.

This option is useful to add a roll casting "hinge", to remove a butt swell so the stress curve can be stretched, or to make minor changes in the stress curve. It is a slow process since the stress curve is redrawn after every point you click. This process might be too tedious if your Internet connection is slow or shaky.

Modifying Basic Rod Parameters

One of the principal uses of the concept of rod stress is to assist in designing a new rod from an existing rod. With this program, you can modify one or more of these basic rod parameters:
  • Line weight
  • Length of line cast
  • Number of ferrules
  • Type of ferrules
  • Length of rod action
Then, you can rerun the program, holding constant either the stresses or the dimensions.

This is the logic:

  • If you want to try a different line weight, or length of line cast, then you perhaps want to hold the dimensions constant and see how the stress values look under this change.
  • Or, perhaps you want to find the dimensions of a rod that will cast a different line with the same stress curve. In this case, hold the stress curve constant.
  • If you want to change the number or type of ferrules, then you may want to hold the dimensions constant and see how the stress values change.
  • Or, perhaps you want to replicate the same stress curve in a rod with a different number or type of ferrules. So hold the stress curve constant and recompute dimensions.
  • If you want to change the rod length, then perhaps you want to replicate the rod's stress curve, but in a longer or shorter rod. In this case, hold constant the stress curve.
  • Or, perhaps you want to make a short rod from the two tip pieces of a three-piece rod. In this case, hold constant the dimensions. (Also, change the number of pieces from 3 to 2!)
When you change the action length, this is what happens:
  • If you change the rod length and hold the stress curve constant, the previous stress curve is uniformly stretched or shrunk to the new rod action length.
  • If you change the rod length and hold the rod dimensions constant, the butt end of the action is shortened by truncating (like when you slam the car trunk on the rod butt) or by extrapolating the rod taper near the butt.
(If you want to shorten the rod at the tip, like when the screen door closes too fast, this program cannot help. I'm sorry on both accounts.)

The critical thinker now asks, "If I am recomputing the rod dimensions, say for a longer or heavier rod, how do I know what size the ferrules will be?"

Good question. If you hold constant the stress curve and recompute dimensions, the program will iterate until it finds the correct ferrule sizes for you. That is why the ferrule size boxes are blank. But if you put in values, the program will use those ferrule sizes.

(Ferrule sizes are computed by rounding. For instance, if the rod dimension at the ferrule is between 10.5/64 and 11.5/64, an 11/64 ferrule is recommended. Different builders have different opinions here; use your own judgment.)

Comparing Two Rod Designs

Sometimes it is useful to compare the stress curves or dimensions of two rod designs, say before and after a modification. Enter the first design and "Save" it, with a unique rod ID or name. Then develop the new rod design and enter the rod ID of the saved rod in the "Compare" box. The comparison shows the two rods side by side in tables and graphs.

It helps if the two rods have different descriptive names, since these are used on the output.

Finally

If you find any bugs, have suggestions for improvements, etc. let me know at stetzer@csd.uwm.edu.

Just for the record, I promise not to peek at anyone's rod designs :)

Back to the Hexrod Program

"I'm not a programmer, but I play one at work."
--
Frank Stetzer
Milwaukee, Wisconsin, USA