diff options
| author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2026-08-08 13:55:25 +0200 |
|---|---|---|
| committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2026-08-11 15:49:51 +0200 |
| commit | 70bb901308bdb4793e1c233ccf0ba53d42c515e9 (patch) | |
| tree | e13c34308f66ac1c5150363a9abb884820dbe106 /src | |
| parent | 8b990670f752851d4a5047fbe5db0c64fb734924 (diff) | |
Tray with lid for Standard hexagonal stickers
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/hexagons.scad | 23 | ||||
| -rw-r--r-- | src/sticker_tray_7.scad | 17 | ||||
| -rw-r--r-- | src/sticker_tray_7_lid.scad | 11 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/lib/hexagons.scad b/src/lib/hexagons.scad new file mode 100644 index 0000000..98898af --- /dev/null +++ b/src/lib/hexagons.scad @@ -0,0 +1,23 @@ + + +module hexagon_tray( + side=25, + walls=2, + h=16 +) { + difference() { + cylinder(r=side + walls, h=h, $fn=6); + translate([0, 0, walls]) cylinder(r=side, h=h, $fn=6); + } +} + +module hexagon_lid( + side=25, + walls=2, + tolerance=1, +) { + union() { + cylinder(r=side + walls, h=walls, $fn=6); + translate([0, 0, walls]) cylinder(r=side - tolerance, h=walls, $fn=6); + } +} diff --git a/src/sticker_tray_7.scad b/src/sticker_tray_7.scad new file mode 100644 index 0000000..dc47a9e --- /dev/null +++ b/src/sticker_tray_7.scad @@ -0,0 +1,17 @@ +use <lib/hexagons.scad> + +sticker_side = 25; +tray_inner_side = 25 * 1.25 - 4; + +difference() { + union() { + hexagon_tray(side = tray_inner_side); + for (i = [0:6] ) { + rotate([0, 0, 60 * i]) translate([0, (tray_inner_side) * sqrt(3) + 2, 0]) hexagon_tray(side = tray_inner_side); + } + } + for ( i = [0:3] ) { + rotate([0, 0, 120 * i]) translate([-10, -sticker_side * 1.5, 10]) cube([20, sticker_side * 3, 20]); + rotate([0, 0, 120 * i]) translate([0, 0, 12]) rotate([90, 0, 0]) cylinder(r=10, h=sticker_side * 3, center=true); + } +} diff --git a/src/sticker_tray_7_lid.scad b/src/sticker_tray_7_lid.scad new file mode 100644 index 0000000..1eceb73 --- /dev/null +++ b/src/sticker_tray_7_lid.scad @@ -0,0 +1,11 @@ +use <lib/hexagons.scad> + +sticker_side = 25; +tray_inner_side = 25 * 1.25 - 4; + +union() { + hexagon_lid(side = tray_inner_side); + for (i = [0:6] ) { + rotate([0, 0, 60 * i]) translate([0, (tray_inner_side) * sqrt(3) + 2, 0]) hexagon_lid(side = tray_inner_side); + } +} |
