Skip to main content

Custom Rod Building System Documentation

Overview​

The custom rod building system allows users to track every detail of building custom fishing rods from scratch. This includes rod blanks, guides/eyelets, components, wrapping thread, finish/epoxy, and tools used.

Entities​

RodBuild​

The complete custom rod build - tracks all components and build details.

RodBlank​

The base rod blank before components are added. Can be purchased blank or from existing rod.

RodComponent​

Individual components used in rod build (reel seat, handle, butt cap, etc.).

Guide​

Fishing rod guides/eyelets - the rings that line passes through. Normalized entity for reuse.

GuidePlacement​

Placement of a guide on a rod build - tracks position, spacing, and orientation.

RodWrap​

Wrapping thread/string used on rod build - tracks thread type, color, pattern.

RodFinish​

Finish/epoxy applied to rod build - protects wraps and provides final finish.

RodBuildingTool​

Tools and equipment used for rod building (wrapper, lathe, dryer, etc.).

RodBuildToolUsage​

Tracks which tools were used in a rod build (many-to-many).

Example: Custom Salmon Trolling Rod​

RodBuild: "Lake Michigan Salmon Trolling Rod"​

RodBlank:

  • Brand: St. Croix
  • Model: SCIV
  • Length: 8'6"
  • Power: Medium Heavy
  • Action: Moderate Fast
  • Material: Graphite

Components:

  1. Reel Seat (RodComponent)

    • Brand: Fuji
    • Model: DPSM
    • Material: Graphite
    • Size: 17mm
  2. Handle (RodComponent)

    • Material: Cork
    • Length: 12 inches
    • Type: Split grip
  3. Fore Grip (RodComponent)

    • Material: EVA
    • Length: 4 inches

Guides (GuidePlacement):

  1. Stripper Guide (Position 1)

    • Guide: Fuji KLH Size 20
    • Distance from butt: 24 inches
    • Wrap: Size D Black thread
  2. Running Guides (Positions 2-8)

    • Guide: Fuji KLH Size 12
    • Spacing: Progressive (decreasing)
    • Wrap: Size D Black thread
  3. Tip Top (Position 9)

    • Guide: Fuji KLH Tip Top Size 8
    • Distance from tip: 0 inches
    • Wrap: Size D Black thread

Wraps (RodWrap):

  • Main wrap: Size D Black (Gudebrod)
  • Decorative: Size A Red (Diamond pattern)
  • Trim: Size D Gold

Finish (RodFinish):

  • Brand: Flex Coat
  • Product: Lite
  • Type: Epoxy
  • Coats: 2
  • Gloss: Glossy
  • Application: Brush

Tools Used (RodBuildToolUsage):

  • Custom Power Wrapper
  • Finish Turner/Dryer
  • Thread Tensioner

Usage Examples​

Creating a Rod Build​

// Create rod blank
var blank = new RodBlank
{
Brand = "St. Croix",
Model = "SCIV",
LengthFt = 8.5f,
Power = RodPower.MediumHeavy,
Action = RodAction.ModerateFast,
Material = RodMaterial.Graphite,
LineWeightLb = 12.0f,
LureWeightOz = 0.5f
};

// Create rod build
var build = new RodBuild
{
Name = "Lake Michigan Salmon Trolling Rod",
Description = "Custom built for Great Lakes salmon trolling",
RodBlankId = blank.Id,
BuiltAt = DateTime.UtcNow,
BuiltByUserId = userId,
BuildLocation = "Home Workshop",
IsProfessionalBuild = false,
TotalBuildCost = 350.00m
};

// Add components
var reelSeat = new RodComponent
{
RodBuildId = build.Id,
ComponentType = RodComponentType.ReelSeat,
Brand = "Fuji",
Model = "DPSM",
Material = "Graphite",
Size = "17mm",
PositionFromButtInches = 12.0f
};

var handle = new RodComponent
{
RodBuildId = build.Id,
ComponentType = RodComponentType.Handle,
Material = "Cork",
LengthInches = 12.0f,
PositionFromButtInches = 0.0f
};

// Add guides
var stripperGuide = new GuidePlacement
{
RodBuildId = build.Id,
GuideId = fujiKlh20.Id,
Position = 1,
DistanceFromButtInches = 24.0f,
SpacingFromPreviousInches = null, // First guide
Notes = "Stripper guide"
};

// Add wraps
var mainWrap = new RodWrap
{
RodBuildId = build.Id,
Brand = "Gudebrod",
ThreadType = "Size D",
Color = "Black",
WrapType = WrapType.GuideWrap,
Pattern = WrapPattern.Solid
};

// Add finish
var finish = new RodFinish
{
RodBuildId = build.Id,
Brand = "Flex Coat",
ProductName = "Lite",
FinishType = FinishType.Epoxy,
CoatsApplied = 2,
GlossLevel = FinishGloss.Glossy,
ApplicationMethod = "Brush",
AppliedAt = DateTime.UtcNow
};

// Add tools used
var toolUsage = new RodBuildToolUsage
{
RodBuildId = build.Id,
RodBuildingToolId = powerWrapper.Id,
UsageNotes = "Used for wrapping all guides"
};

Querying a Rod Build​

// Get complete rod build with all components
var build = context.RodBuilds
.Include(rb => rb.RodBlank)
.Include(rb => rb.Components)
.Include(rb => rb.GuidePlacements)
.ThenInclude(gp => gp.Guide)
.Include(rb => rb.Wraps)
.Include(rb => rb.Finish)
.Include(rb => rb.ToolUsages)
.ThenInclude(tu => tu.RodBuildingTool)
.FirstOrDefault(rb => rb.Id == buildId);

// Display build details
Console.WriteLine($"Rod: {build.Name}");
Console.WriteLine($"Blank: {build.RodBlank.Brand} {build.RodBlank.Model}");
Console.WriteLine($"Built: {build.BuiltAt}");
Console.WriteLine($"Cost: ${build.TotalBuildCost}");

// Display guides
foreach (var guide in build.GuidePlacements.OrderBy(g => g.Position))
{
Console.WriteLine($"Guide {guide.Position}: {guide.Guide.Brand} {guide.Guide.Model} Size {guide.Guide.Size}");
Console.WriteLine($" Position: {guide.DistanceFromButtInches}\" from butt");
}

Guide Spacing Calculations​

Common guide spacing methods:

  • Progressive: Decreasing spacing from stripper to tip
  • Static: Equal spacing
  • Custom: User-defined spacing

The system tracks:

  • Distance from butt (inches)
  • Distance from tip (calculated)
  • Spacing from previous guide
  • Spacing to next guide

Benefits​

  1. Complete Build Tracking - Every component and detail tracked
  2. Reusability - Guides, blanks, and tools can be reused across builds
  3. Cost Tracking - Track total build cost
  4. Educational - Share builds and learn from others
  5. Maintenance - Track condition and repair needs
  6. Tool Management - Track tools and their usage
  7. Build History - Track when and where rods were built

Future Enhancements​

  1. Build Templates - Pre-configured build templates
  2. Guide Spacing Calculator - Calculate optimal guide spacing
  3. Build Comparison - Compare different builds
  4. Build Analytics - Which builds perform best
  5. Component Library - Library of components and guides
  6. Build Sharing - Public/private sharing of builds
  7. Build Ratings - User ratings of builds
  8. Build Comments - Discussion on builds
  9. Photo Gallery - Photos of build process and finished rod
  10. Build Cost Calculator - Calculate cost before building