Skip to content

cap_box_polygon.scad

pinkfish edited this page Jul 29, 2025 · 9 revisions

LibFile: cap_box_polygon.scad

This file has all the modules needed to generate a cap box using a polygon for the outside.

To use, add the following lines to the beginning of your file:

include <boardgame_toolkit.scad>

File Contents

Module: FingerHoleSegmentCutout()

Description:

Makes a single segment for use in the capbox wall. It will make the rounded finger holes on the side of the capbox at the correct direction and length.

Arguments:

By Position What it does
path the path to generate for (this should be one line segment)
radius the radius of the rounding on the fingerhole
height the height of the fingerhole
wall_thickness the thickness of the walls

Example 1:

FingerHoleSegmentCutout() Example 1
include <boardgame_toolkit.scad>
FingerHoleSegmentCutout([[0,0], [50,50]], radius=5, height=7, wall_thickness=2);

Module: PolygonBoxLidCatch()

Topics: CapBox

Description:

Arguments:

By Position What it does
path the path to generate for (this should be one line segment)
radius the radius of the rounding on the fingerhole
wall_thickness the thickness of the walls
delta how much to offset the segment by

Example 1:

PolygonBoxLidCatch() Example 1
include <boardgame_toolkit.scad>
PolygonBoxLidCatch(path=[[0,0], [50,50]], radius=5, wall_thickness = 2, delta=0);

Example 2:

PolygonBoxLidCatch() Example 2
include <boardgame_toolkit.scad>
PolygonBoxLidCatch(path=[[0,0], [50,50]], radius=5, wall_thickness = 2, delta=2);

Module: MakePathBoxWithCapLid()

Topics: CapLid

Topics: CapBox

Usage: MakePathBoxWithCapLid(path=0,0], [0,100], [100,100, height=20);

Description:

Makes a box with a cap lid. Inside the children of the box you can use the $inner_height , $inner_width, $inner_length = length variables to deal with the box sizes.

Arguments:

By Position What it does
width outside width of the box
length inside width of the box
height outside height of the box
cap_height height of the cap on the box (default 10)
lid_thickness thickness of the lid (default default_lid_thickness)
wall_thickness thickness of the walls (default default_wall_thickness)
floor_thickness thickness of the floor (default default_floor_thickness)
size_sizeing amount of wiggle room between pieces (default m_piece_wiggle_room)
lid_wall_thickness the thickess of the walls in the lid (default wall_thickness / 2)
finger_hold_height how heigh the finger hold bit it is (default 5)
material_colour the colour of the material in the box (default default_material_colour)
last_child_positive if the last child in the list is a positive add to the box, not negative (default false)
lid_catch CATCH_NONE - no catch, CATCH_LENGTH - length catch, CATCH_WIDTH - width catch (default
[CATCH\_LENGTH](base_bgtk.scad#constant-catch_length))

Example 1:

MakePathBoxWithCapLid() Example 1
include <boardgame_toolkit.scad>
MakePathBoxWithCapLid(path=[[0,0], [0,100], [100,100]], height=20);

Example 2:

MakePathBoxWithCapLid() Example 2
include <boardgame_toolkit.scad>
MakePathBoxWithCapLid(path=[[0,0], [0,100], [100,100]], height=10);

Example 3:

MakePathBoxWithCapLid() Example 3
include <boardgame_toolkit.scad>
MakePathBoxWithCapLid(path=[[0,0], [0,100], [100,100]], height=5, cap_height = 2, finger_hold_height = 1);

Module: CapBoxPathLid()

Topics: CapBox

Usage: CapBoxPathLid(path=0,0], [0,100], [100,100, 20);

Description:

Lid for a cap box, small cap to go on the box with finger cutouts.

Arguments:

By Position What it does
width outside width of the box
length inside width of the box
height outside height of the box
cap_height height of the cap on the box (default 10)
lid_thickness thickness of the lid (default default_lid_thickness)
wall_thickness thickness of the walls (default default_wall_thickness)
size_sizeing amount of wiggle room between pieces (default m_piece_wiggle_room)
lid_wall_thickness the thickess of the walls in the lid (default wall_thickness / 2)
finger_hold_height how heigh the finger hold bit it is (default 5)
lid_roudning how much to round the edge of the lid (default wall_thickness / 2)
lid_inner_rounding how much to round the inside of the box (default calc_lid_wall_thickness/2)
material_colour the colour of the material in the box (default default_material_colour)

Example 1:

CapBoxPathLid() Example 1
include <boardgame_toolkit.scad>
CapBoxPathLid(path=[[0,0], [0,100], [100,100]], 30);



Example 2:

CapBoxPathLid() Example 2
include <boardgame_toolkit.scad>
CapBoxPathLid(path=[[0,0], [0,100], [100,100]], 10);



Example 3:

CapBoxPathLid() Example 3
include <boardgame_toolkit.scad>
CapBoxPathLid(path=[[0,0], [0,100], [100,100]], 10, cap_height = 3);

Module: CapBoxPathLidWithLabelAndCustomShape()

Topics: CapBox

Usage: CapBoxPathLidWithLabelAndCustomShape(path=0,0], [0,100], [100,100, height=30, text\_str = "Frog", text\_length=50, label\_width\_offset=20, label\_length\_offset=-20);

Description:

Lid for a cap box, small cap to go on the box with finger cutouts. This uses the first child as the shape for repeating on the lid.

Arguments:

By Position What it does
psth the path for the outside of the box
height outside height of the box
lid_boundary boundary around the outside for the lid (default 10)
cap_height height of the cap on the box (default 10)
lid_thickness thickness of the lid (default default_lid_thickness)
wall_thickness thickness of the walls (default default_wall_thickness)
size_sizeing amount of wiggle room between pieces (default m_piece_wiggle_room)
lid_wall_thickness the thickess of the walls in the lid (default wall_thickness / 2)
finger_hold_height how heigh the finger hold bit it is (default 5)
text_str the string to use for the label
text_length the length of the text to use (defaults to 3/4 of length/width)
text_scale the scale of the text, making it higher or shorter on the width (default 1.0)
label_radius radius of the label corners (default text_width/4)
label_type the type of the label (default default_label_type)
label_border border of the item (default 2)
label_offset offset in from the edge for the label (default 4)
layout_width the width of the layout pieces (default default_lid_layout_width)
shape_width width of the shape (default default_lid_shape_width)
shape_thickness how wide the pieces are (default default_lid_shape_thickness)
aspect_ratio the aspect ratio (multiple by dy) (default default_lid_aspect_ratio)
size_spacing extra spacing to apply between pieces (default m_piece_wiggle_room)
lid_pattern_dense if the layout is dense (default false)
lid_dense_shape_edges the number of edges on the dense layout (default 6)
label_colour the color of the label (default undef)
material_colour the colour of the material in the box (default default_material_colour)
label_background_colour the colour of the label background (default default_label_background_colour)
inner_control if the shape needs inner control (default false)
finger_hole_size size of the finger hole to use in the lid (default 10)

Example 1:

CapBoxPathLidWithLabelAndCustomShape() Example 1
include <boardgame_toolkit.scad>
CapBoxPathLidWithLabelAndCustomShape(path=[[0,0], [0,100], [100,100]], height=30, text_str = "Frog",
    text_length=50, label_width_offset=20,
    label_length_offset=-20) {
  ShapeByType(shape_type = SHAPE_TYPE_SUPERSHAPE, shape_thickness = 2, supershape_m1 = 12, supershape_m2 = 12,
     supershape_n1 = 1, supershape_b = 1.5, shape_width = 15);
}

Module: CapBoxPathLidWithLabel()

Topics: CapBox

Usage: CapBoxPathLidWithLabel(path=0,0], [0,100], [100,100, height=30, text\_str = "Frog", text\_length=50, label\_width\_offset=20, label\_length\_offset=-20);

Description:

Lid for a cap box, small cap to go on the box with finger cutouts.

Arguments:

By Position What it does
path the path dor the outside ot the box
height outside height of the box
text_str the string to use for the label
text_length the length of the text to use (defaults to 3/4 of length/width)
text_scale the scale of the text, making it higher or shorter on the width (default 1.0)
label_radius radius of the label corners (default text_width/4)
label_type the type of the label (default default_label_type)
lid_boundary boundary around the outside for the lid (default 10)
cap_height height of the cap on the box (default 10)
lid_thickness thickness of the lid (default default_lid_thickness)
wall_thickness thickness of the walls (default default_wall_thickness)
size_sizeing amount of wiggle room between pieces (default m_piece_wiggle_room)
lid_wall_thickness the thickess of the walls in the lid (default wall_thickness / 2)
finger_hold_height how heigh the finger hold bit it is (default 5)
border border of the item (default 2)
label_offset offset in from the edge for the label (default 4)
layout_width the width of the layout pieces (default default_lid_layout_width)
shape_width width of the shape (default default_lid_shape_width)
shape_thickness how wide the pieces are (default default_lid_shape_thickness)
aspect_ratio the aspect ratio (multiple by dy) (default default_lid_aspect_ratio)
size_spacing extra spacing to apply between pieces (default m_piece_wiggle_room)
label_colour the color of the label (default undef)
material_colour the colour of the material in the box (default default_material_colour)
label_background_colour the colour of the label background (default default_label_background_colour)
finger_hole_size size of the finger hole to use in the lid (default 10)

Example 1:

CapBoxPathLidWithLabel() Example 1
include <boardgame_toolkit.scad>
CapBoxPathLidWithLabel(path=[[0,0], [0,100], [100,100]], height=30, text_str = "Frog", text_length=50,  label_width_offset=20,  label_length_offset=-20);

Example 2:

CapBoxPathLidWithLabel() Example 2
include <boardgame_toolkit.scad>
CapBoxPathLidWithLabel(path=[[0,0], [0,100], [100,100]], height=30, text_str = "Frog",  text_length=50, label_width_offset=20,  label_length_offset=-20);

Example 3:

CapBoxPathLidWithLabel() Example 3
include <boardgame_toolkit.scad>
CapBoxPathLidWithLabel(path=[[0,0], [0,100], [100,100]], height=30, text_str = "Frog", material_colour =
"lightblue", label_colour = "black", text_length=50, label_width_offset=20,  label_length_offset=-20);

Example 4:

CapBoxPathLidWithLabel() Example 4
include <boardgame_toolkit.scad>
default_lid_shape_type = SHAPE_TYPE_CIRCLE;
default_lid_shape_thickness = 1;
default_lid_shape_width = 13;
default_lid_layout_width = 10;
CapBoxPathLidWithLabel(path=[[0,0], [0,120], [70,120]], height=30, text_str = "Cards", text_length=50,  label_width_offset=20,  label_length_offset=-20);

Clone this wiki locally