Skip to content

Releases: Gwaihir-Robotics/weldbox

v0.3.0 — deck plates, foot plates, OshCut catalog

Choose a tag to compare

@masonhensley masonhensley released this 08 Jul 01:22

Deck plates, caster/foot plates, and the OshCut catalog

Deck plates — plates:

Add a laser-cut sheet that rests on top of a layer (the base frame, the top frame, or any named blocking level):

plates:
  - layer: base
    material: {alloy: "304", thickness: 0.075in}
    post_clearance: 1mm

The plate is auto-notched around every vertical member that passes through it — corner notches at the posts, edge notches at perimeter supports, rounded interior holes for anything mid-plate — with the concave relief radius matched to the tube's outside corner radius. It shares rivet holes with the top faces of the rails, cross members, and spanners beneath it, and a hole that falls inside a notch is dropped on both the tube and the sheet so they never disagree. Plates ship as DXFs, join panel consolidation (two plates merge only when their cutout patterns coincide exactly under a flip), count toward the shipping estimate, and render brass-colored in the assembly STEP.

Caster & leveling-foot plates — feet:

Square plates welded to the underside of the bottom frame, flush with the exterior:

feet:
  material: {alloy: "A36", thickness: 0.25in}
  size: 4in
  pattern: {type: square, spacing: 3in, hole: 0.41in}   # + a centered stem hole by default
  mid: {count: 1, axis: width}                          # extra pairs for long spans

Four corners by default, with optional evenly spaced mid-span pairs for long units. The square bolt pattern now includes a centered stem/leveling-foot hole by default (center_hole, set to 0 to omit) so one plate accepts either a bolt-on or a threaded-stem caster; type: single cuts just the stem hole. The plates are welded gussets — no holes are cut into the tubes — and all identical, so they consolidate into a single foot part. The caster itself is not modeled.

OshCut catalog

vendor: oshcut is no longer a stub: all 93 published square-tube profiles (A513, A500, 304 ornamental, 6061 T6, 6063 T52) are encoded with true corner radii — extruded aluminum is a genuine sharp corner (r=0) — and the 235in max part length. Reference profile DXFs are included under docs/samples/oshcut/. weldbox frames are square-tube only, so rectangular, round, and pipe stock are intentionally left out.

Examples & docs

The winding machine cell gains a base plate; the epoxy machine cell gains 6 casters. FUNCTIONALITY.md section 6 covers both plate types, and the README and spec reference are updated.

weldbox v0.2.1

Choose a tag to compare

@masonhensley masonhensley released this 06 Jul 20:37

What's fixed in 0.2.1

Vendor spelling: the tube laser vendor is RMFG (rmfg.com); earlier
releases misspelled it rfmg throughout. The vendor slug, catalog data,
profile ids, docs, and examples now all use rmfg.

Backwards compatible: vendor: rfmg in existing spec files still loads
(kept as an alias), but new specs should use vendor: rmfg.

weldbox v0.2.0

Choose a tag to compare

@masonhensley masonhensley released this 06 Jul 16:50

What's new in 0.2.0

Tab/slot test coupons

weldbox coupon generates a small (100mm cube, ~2 lb) 4-tube assembly — a
post, two rails into it at a corner, and a support teed into a rail — that
exercises every joint feature weldbox cuts: end tabs, closed through-wall
slots, the open hook-in corner notches, and dog-bone reliefs. Order one
from your vendor in your material to verify the slip fit before committing
to a full build, and bracket the clearance:

weldbox coupon --slot-clearance 0.15mm --name coupon-tight   -o out
weldbox coupon --slot-clearance 0.25mm --name coupon-nominal -o out
weldbox coupon --slot-clearance 0.40mm --name coupon-loose   -o out

Whichever welds best becomes joints.slot_clearance in your real spec.

Packaging

  • The PyPI project page now renders the full README (description, images,
    documentation links)
  • License, author, keywords, classifiers, and project URLs added to the
    package metadata

weldbox v0.1.0

Choose a tag to compare

@masonhensley masonhensley released this 06 Jul 16:38

First release. weldbox turns a short YAML description of a welded
square-tube box — a machine base, enclosure, bench, or cabinet frame —
into vendor-ready manufacturing files and a jigless welding kit:

  • STEP file per unique tube part, modeled against the vendor's actual
    stock geometry (including published corner radii), ready to upload to a
    tube laser cutting service
  • DXF flat pattern per sheet panel with rivet holes that are guaranteed
    to line up with the holes pre-cut in the tubes
  • Assembly STEP for review — every member a named, role-colored,
    individually hideable product (FreeCAD-friendly)
  • Cut list (markdown + CSV) with per-part lengths, quantities across
    the order, design-rule warnings, and an LTL freight estimate

Highlights

Jigless joints. Every joint self-locates for tack welding: through-wall
tab-and-slot with a 0.010" slip fit, dog-bone corner reliefs, and open
hook-in notches at box corners. Assembled joints are verified for zero
boolean interference in the test suite.

Two frame topologies. full_height_posts (posts run floor to top,
rails butt between) and top_bottom_frames (solid full-width rails across
the top and bottom frames, posts butt up into them).

Interior blocking. Levels (work surfaces with evenly spaced cross
members), vertical supports between layers, and spanners across the top or
bottom faces — composable primitives with validated placement.

Part-count consolidation. Members and panels that differ only by which
faces carry slots or holes are merged into shared part numbers by adding
sacrificial cuts — the two example builds each ship as just 3 unique tube
parts
, unlocking vendors' multiples pricing. Panels merge across
left/right, front/back, and top/bottom because a flat blank can be flipped.

Priced-out dry runs. All dimension math is CAD-free: weldbox generate spec.yaml --dry-run gives the full cut list, design-rule check, and
freight determination in under a second.

Vendor catalogs. RFMG fully encoded (56 profiles across A500, 4130,
DOM, 304 stainless, and 6061/6063 aluminum) with design rules and LTL
freight thresholds; OshCut and Fabtech registered as stubs.

Install

pip install weldbox        # or: uv tool install weldbox
weldbox wizard             # author a spec interactively
weldbox generate my-box.yaml --dry-run

Requires Python 3.10–3.12. Geometry is built on
build123d (OpenCascade); the first
install pulls a large kernel wheel.

Known limitations

  • Square tube frames only (rect/round stock is cataloged but not framed)
  • One tube profile per box; gussets not yet generated
  • OshCut/Fabtech material catalogs pending

See the functionality deep dive
for the full spec reference.


RFMG reference data (profiles, stock geometry, shipping thresholds) is
published by RMFG
as design-against material for their laser tube cutting service; weldbox is
not affiliated with or endorsed by RMFG.