Skip to content

Add takeoff calculator: linear feet → cubic yards → tons #4

@masonearl

Description

@masonearl

The problem

Estimators spend hours doing takeoff math manually — converting plan dimensions to quantities (LF of pipe, CY of excavation, tons of backfill). This is pure arithmetic that a tool should handle.

What to build

A calculate_takeoff() function in tools/estimating/ that converts raw field measurements to bid quantities:

calculate_takeoff(
    pipe_length_ft=1200,        # LF of pipe from plan
    trench_width_ft=3.5,        # trench width
    trench_depth_ft=6.0,        # average trench depth
    pipe_od_inches=8,           # pipe OD for void calculation
    native_soil_swell=0.25,     # swell factor for excavated material
    import_backfill=True        # using import material or native
)
# → {
#     excavation_cy: 925,
#     import_backfill_tons: 1100,
#     spoils_cy: 1156,          # excavated volume with swell
#     bedding_tons: 180,
# }

Why it matters

Every underground utility job starts here. Getting these quantities right before you price anything is foundational — and right now there's no open-source tool that does it well for underground work.

Good first issue

If you know the math for excavation quantity takeoffs, this is a great contribution even if you're new to the codebase. The function just needs to do the geometry — follow the pattern in tools/estimating/estimating_tools.py.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGood for newcomershelp wantedExtra attention is needednew-toolNew construction tool to add

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions