Boxes.py


HalfBox

Configurable half of a box which can be: a bookend, a hanging shelf, an angle clamping jig, ...

Settings for Finger Joints

angle
style

style of the fingers

surroundingspaces

space at the start and end in multiple of normal spaces

bottom_lip

height of the bottom lips sticking out (multiples of thickness) FingerHoleEdge only!

edge_width

space below holes of FingerHoleEdge (multiples of thickness)

extra_length

extra material to grind away burn marks (multiples of thickness)

finger

width of the fingers (multiples of thickness)

play

extra space to allow finger move in and out (multiples of thickness)

space

space between fingers (multiples of thickness)

width

width of finger holes (multiples of thickness)

Settings for Mounting Edge

d_head

head diameter of mounting screw (in mm)

d_shaft

shaft diameter of mounting screw (in mm)

margin

minimum space left and right without holes (fraction of the edge length)

num

number of mounting holes (integer)

side

side of box (not all valid configurations make sense...)

style

edge style

HalfBox Settings

x

inner width in mm

sy

sections back to front in mm 🛈

h

inner height in mm

Clamping

add clamping holes

ClampingSize

diameter of clamping holes

Mounting

add mounting holes

Sturdy

create sturdy construction (e.g. shelf, clamping jig, ...)

Default Settings

thickness

thickness of the material (in mm) 🛈

format

format of resulting file 🛈

tabs

width of tabs holding the parts in place (in mm)(not supported everywhere) 🛈

debug

print surrounding boxes for some structures 🛈

labels

label the parts (where available)

reference

print reference rectangle with given length (in mm)(zero to disable) 🛈

inner_corners

style for inner corners 🛈

burn

burn correction (in mm)(bigger values for tighter fit) 🛈



This can be used to create:

  • a hanging shelf: HalfBox as hanging shelf

  • an angle clamping jig: HalfBox as an angle clamping jig

  • a bookend: HalfBox as a bookend

and many more...