Skip to content

inset_box.scad

pinkfish edited this page Oct 30, 2024 · 17 revisions

LibFile: inset_box.scad

This file has all the modules needed to generate an inset box.

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

include <boardgame_toolkit.scad>

File Contents

  1. Section: TabbedBox

Section: TabbedBox

Module: InsetLid()

Topics: TabbedBox

Usage:

  • InsetLid(50, 100);

Description:

Make a lid inset into the box with tabs on the side to close the box. This just does the insets around the top.

Arguments:

By Position What it does
width the width of the box (outside width)
length the length of the box (outside length)
lid_thickness height of the lid (default 2)
wall_thickness thickness of the walls (default 2)
inset how far the side is inset from the edge of the box (default 1)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)
lid_size_spacing how much wiggle room to give in the model (default m_piece_wiggle_room)

Example 1:

InsetLid() Example 1
include <boardgame_toolkit.scad>
InsetLid(50, 100);




Module: InsetLidTabbed()

Topics: TabbedBox, TabbedLid

Usage:

  • InsetLidTabbed(30, 100);

Description:

Makes an inset lid with the tabes on the side.

Arguments:

By Position What it does
width width of the box (outside width)
length length of the box (outside length)
lid_thickness height of the lid (default 2)
wall_thickness thickness of the walls (default 2)
inset how far to inset the lid (default 1)
lid_size_spacing the wiggle room in the lid generation (default m_piece_wiggle_room)
make_tab_width makes tabes on thr width (default false)
make_tab_length makes tabs on the length (default true)
prism_width width of the prism in the tab. (default 0.75)
tab_length length of the tab (default 10)
tab_height height of the tab (default 6)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidTabbed() Example 1
include <boardgame_toolkit.scad>
InsetLidTabbed(30, 100);




Module: InsetLidTabbedWithLabel()

Topics: TabbedBox, TabbedLid

Usage:

  • InsetLidTabbedWithLabel(width = 100, length = 100, lid_thickness = 3, text_width = 60, text_height = 30, text_str
  • = "Trains", label_rotated = false);

Description:

This is a composite method that joins together the other pieces to make a simple inset tabbed lid with a label and a hex grid. The children to this as also pulled out of the lid so can be used to build more complicated lids.

Arguments:

By Position What it does
width width of the box (outside dimension)
length length of the box (outside dimension)
text_width width of the text section
text_height length of the text section
text_str The string to write
lid_thickness height of the lid (default 3)
lid_boundary how much boundary should be around the pattern (default 10)
label_radius radius of the rounded corner for the label section (default 12)
border how wide the border strip on the label should be (default 2)
offset how far inside the border the label should be (degault 4)
label_rotated if the label should be rotated, default to false
tab_height height of the tabs (default 6)
tab_length length of the tabs (default 10)
inset inset of the edge (default 1)
make_tab_width makes tabes on thr width (default false)
make_tab_length makes tabs on the length (default true)
prism_width width of the prism in the tab. (default 0.75)
layout_width space in the grid for the layout (default 12)
shape_width with of the shape in the grid (default 12)
shape_type type of the shape to generate on the lid (default SHAPE_TYPE_DENSE_HEX)
shape_thickness thickness of the shape in the mesh (default 2)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidTabbedWithLabel() Example 1
include <boardgame_toolkit.scad>
InsetLidTabbedWithLabel(
    width = 100, length = 100, lid_thickness = 3, text_width = 60,
    text_height = 30, text_str = "Trains", label_rotated = false);

Module: InsetLidTabbedForHexBox()

Topics: TabbedBox, TabbedLid, Hex

Usage:

  • InsetLidTabbedForHexBox(5, 7, 29);

Description:

Creates a inset tabbed lid for use with a hex box, sets up the sizes correctly to match the the hex row/col set.

Arguments:

By Position What it does
rows number of rows to generate
cols number of cols to generate
tile_width width of the tiles
lid_thickness height of the lid (defaults to 3)
wall_thickness thickness of the walls (defaults to 2)
spacing spacing between the hexes
tab_height height of the tabs (default 6)
tab_length length of the tabs (default 10)
inset inset of the edge (default 1)
make_tab_width makes tabes on thr width (default false)
make_tab_length makes tabs on the length (default true)
prism_width width of the prism in the tab. (default 0.75)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidTabbedForHexBox() Example 1
include <boardgame_toolkit.scad>
InsetLidTabbedForHexBox(rows = 5, cols = 2, tile_width = 29);




Module: InsetLidTabbedWithLabelForHexBox()

Topics: TabbedBox, TabbedLid, Hex

Usage:

  • InsetLidTabbedWithLabelForHexBox(rows = 3, cols = 4, tile_width = 29, lid_thickness = 3, text_width = 60,
  • text_height = 30, text_str = "Trains", label_rotated = false);

Description:

This is a composite method that joins together the other pieces to make a simple inset tabbed lid with a label and a hex grid. The children to this as also pulled out of the lid so can be used to build more complicated lids.

Arguments:

By Position What it does
rows number of rows to generate
cols number of cols to generate
tile_width width of the tiles
lid_thickness height of the lid (defaults to 3)
wall_thickness thickness of the walls (defaults to 2)
spacing spacing between the hexes
text_width width of the text section
text_height length of the text section
text_str The string to write
lid_thickness height of the lid (default 3)
lid_boundary how much boundary should be around the pattern (default 10)
label_radius radius of the rounded corner for the label section (default 12)
border how wide the border strip on the label should be (default 2)
offset how far inside the border the label should be (degault 4)
label_rotated if the label should be rotated (default false)
wall_thickness how wide the walls are (default 2)
layout_width space in the grid for the layout (default 12)
shape_width with of the shape in the grid (default 12)
shape_type type of the shape to generate on the lid (default SHAPE_TYPE_DENSE_HEX)
shape_thickness thickness of the shape in the mesh (default 2)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidTabbedWithLabelForHexBox() Example 1
include <boardgame_toolkit.scad>
InsetLidTabbedWithLabelForHexBox(
    cols = 3, rows = 4, tile_width = 29, lid_thickness = 3, text_width = 60,
    text_height = 30, text_str = "Trains", label_rotated = false);

Module: MakeBoxWithInsetLidTabbed()

Topics: TabbedBox, TabbedLid

Usage:

  • MakeBoxWithInsetLidTabbed(width = 30, length = 100, height = 20);

Description:

Makes a box with an inset lid. Handles all the various pieces for making this with tabs. This will make sure the cutouts are only inside the box and in the floor, if you want to cut out the sides of the box do this with a difference after making this object. The children and moves so 0,0,0 is the bottom inside of the box to make for easier arithmatic.

Arguments:

By Position What it does
width width of the box (outside width)
length length of the box (outside length)
height height of the box (outside height)
wall_thickness how thick the walls are (default 2)
lid_thickness how hight the lid is (default 2)
tab_height how heigh to make the tabs (default 6)
inset how far to inset the lid (default 1)
make_tab_width make the tabs on the width (default false)
make_tab_length make the tabs on the length (default true)
prism_width width of the prism to generate (default 0.75)
tab_length how long the tab is (default 10)
stackable should we pull a piece out the bottom of the box to let this stack (default false)
lid_size_spacing wiggle room to use when generatiung box (default m_piece_wiggle_room)
floor_thickness thickness of the floor (default 2)

Example 1:

MakeBoxWithInsetLidTabbed() Example 1
include <boardgame_toolkit.scad>
MakeBoxWithInsetLidTabbed(width = 30, length = 100, height = 20);

Module: InsetLidRabbitClip()

Topics: RabbitClipBox

Usage:

  • InsetLidRabbitClip(30, 100);

Description:

Makes an inset lid with the tabes on the side.

Arguments:

By Position What it does
width width of the box (outside width)
length length of the box (outside length)
lid_thickness height of the lid (default 2)
wall_thickness thickness of the walls (default 2)
inset how far to inset the lid (default 1)
lid_size_spacing the wiggle room in the lid generation (default m_piece_wiggle_room)
make_rabbit_width makes tabes on thr width (default false)
make_rabbit_length makes tabs on the length (default true)
rabbit_length length of the rabbit piece (downwards direction) (default 6)
rabbit_width width of the rabbit piece (crosswise direction) (default 7)
rabbit_lock if the rabbit should habe a locking piece on it (default false)
rabbit_compression how much sideway give on the rabbit (default 0.1)
rabbit_snap how deep the inner depth should be for the snap curve (default 0.25)
rabbit_offset how much of an offset on each side of the rabbit to attach to the lid (default 3)
rabbit_depth extrustion depth of the rabbit (default 1.5)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidRabbitClip() Example 1
include <boardgame_toolkit.scad>
InsetLidRabbitClip(30, 100);




Module: InsetLidRabbitWithLabel()

Topics: RabbitClipBox

Usage:

  • InsetLidRabbitWithLabel(width = 100, length = 100, lid_thickness = 3, text_width = 60, text_height = 30, text_str
  • = "Trains", label_rotated = false);

Description:

This is a composite method that joins together the other pieces to make a simple inset tabbed lid with a label and a hex grid. The children to this as also pulled out of the lid so can be used to build more complicated lids.

Arguments:

By Position What it does
width width of the box (outside dimension)
length length of the box (outside dimension)
text_width width of the text section
text_height length of the text section
text_str The string to write
lid_thickness height of the lid (default 3)
lid_boundary how much boundary should be around the pattern (default 10)
label_radius radius of the rounded corner for the label section (default 12)
border how wide the border strip on the label should be (default 2)
offset how far inside the border the label should be (degault 4)
label_rotated if the label should be rotated, default to false
make_rabbit_width makes tabes on thr width (default false)
make_rabbit_length makes tabs on the length (default true)
rabbit_length length of the rabbit piece (downwards direction) (default 6)
rabbit_width width of the rabbit piece (crosswise direction) (default 7)
rabbit_lock if the rabbit should habe a locking piece on it (default false)
rabbit_compression how much sideway give on the rabbit (default 0.1)
rabbit_snap how deep the inner depth should be for the snap curve (default 0.25)
rabbit_offset how much of an offset on each side of the rabbit to attach to the lid (default 3)
rabbit_depth extrustion depth of the rabbit (default 1.5)
layout_width space in the grid for the layout (default 12)
shape_width with of the shape in the grid (default 12)
shape_type type of the shape to generate on the lid (default SHAPE_TYPE_DENSE_HEX)
shape_thickness thickness of the shape in the mesh (default 2)
lid_rounding how much rounding on the edge of the lid (default wall_thickness/2)

Example 1:

InsetLidRabbitWithLabel() Example 1
include <boardgame_toolkit.scad>
InsetLidRabbitWithLabel(
    width = 100, length = 100, lid_thickness = 3, text_width = 60,
    text_height = 30, text_str = "Trains", label_rotated = false);

Module: MakeBoxWithInsetLidRabbitClip()

Topics: RabbitClipBox

Usage:

  • MakeBoxWithInsetLidRabbitClip(width = 30, length = 100, height = 20);

Description:

Makes a box with an inset lid. Handles all the various pieces for making this with rabbit clips. The children are moved so 0,0,0 is the bottom inside of the box to make for easier arithmatic.

Arguments:

By Position What it does
width width of the box (outside width)
length length of the box (outside length)
height height of the box (outside height)
wall_thickness how thick the walls are (default 2)
lid_thickness how hight the lid is (default 2)
tab_height how heigh to make the tabs (default 6)
inset how far to inset the lid (default 1)
make_rabbit_width makes tabes on thr width (default false)
make_rabbit_length makes tabs on the length (default true)
rabbit_length length of the rabbit piece (downwards direction) (default 6)
rabbit_width width of the rabbit piece (crosswise direction) (default 7)
rabbit_lock if the rabbit should habe a locking piece on it (default false)
rabbit_compression how much sideway give on the rabbit (default 0.1)
rabbit_snap how deep the inner depth should be for the snap curve (default 0.25)
rabbit_offset how much of an offset on each side of the rabbit to attach to the lid (default 3)
rabbit_depth extrustion depth of the rabbit (default 1.5)
lid_size_spacing wiggle room to use when generatiung box (default m_piece_wiggle_room)
floor_thickness thickness of the floor (default 2)

Example 1:

MakeBoxWithInsetLidRabbitClip() Example 1
include <boardgame_toolkit.scad>
MakeBoxWithInsetLidRabbitClip(width = 30, length = 100, height = 20);

Module: MakeHexBoxWithInsetLidTabbed()

Topics: TabbedBox, TabbedLid, Hex

Usage:

  • MakeHexBoxWithInsetTabbedBox, TabbedLid(rows = 4, cols = 3, height = 15, push_block_height = 1, tile_width =
  • 29);

Description:

Makes a hex box with an inset lid, this is a useful combination box for 18xx style games.

Arguments:

By Position What it does
rows number of rows in the box
cols number of cols in the box
height height of the box (outside height)
push_block_height height of the push blocks
tile_width the width of the files
lid_thickness height of the lid (default 2)
floor_thickness thickness of the floor (default 2)
wall_thickness the thickness of the wall (default 2)

Example 1:

MakeHexBoxWithInsetLidTabbed() Example 1
include <boardgame_toolkit.scad>
MakeHexBoxWithInsetLidTabbed(rows = 4, cols = 3, height = 15, push_block_height = 1, tile_width = 29);

Clone this wiki locally