From b3f3c04c1eae9765046d39c29e686ae1a86e7803 Mon Sep 17 00:00:00 2001 From: Kienan Stewart Date: Sun, 17 Aug 2025 20:52:41 -0400 Subject: [PATCH] Add mtgbox + ring light 2 --- mtgbox.scad | 83 ++++++++++++++++++++++++++++++++++++++++++ ring light part 2.scad | 38 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 mtgbox.scad create mode 100644 ring light part 2.scad diff --git a/mtgbox.scad b/mtgbox.scad new file mode 100644 index 0000000..2b58b69 --- /dev/null +++ b/mtgbox.scad @@ -0,0 +1,83 @@ +render_box=true; +render_divider=false; +render_lid=false; + +mtg_deck_height = 3 * 25.4; // 3", sleeved, card + paper proxy +hollow_w = 95; // cards are 92 in sleeves +hollow_h = 70; // cards are 62 in sleeves + +n_decks = 3; +wall_thickness = 5; +divider_depth = 2; +divider_epsilon = 1; + +module divider() { + cube([hollow_w + 2*divider_epsilon, divider_depth, hollow_h+wall_thickness]); +} + +module magnet() { + cylinder(h=1, d=3, $fn=100); +} + +module box_magnets() { + translate([outer_w-3,3,outer_h-1+0.0001]) { + #magnet(); + } + translate([outer_w-3,outer_d-3,outer_h-1+0.0001]) { + #magnet(); + } + translate([3,3,outer_h-1+0.0001]) { + #magnet(); + } + translate([3,outer_d-3,outer_h-1+0.0001]) { + #magnet(); + } +} +internal_space_w = hollow_w; +internal_space_depth = mtg_deck_height * n_decks; +if (n_decks > 1) { + internal_space_depth = internal_space_depth + divider_depth * (n_decks-1); +} +internal_space_height = hollow_h; + +outer_w = internal_space_w + 2*wall_thickness; +outer_d = internal_space_depth + 2*wall_thickness; +outer_h = internal_space_height + 2*wall_thickness; + +dividers = n_decks - 1; + +module box() { +difference() { + cube([outer_w, outer_d, outer_h]); + translate([wall_thickness, wall_thickness, wall_thickness]) { + cube([internal_space_w, internal_space_depth, internal_space_height+wall_thickness+.01]); + }; + for(div_n = [1 : dividers]) { + translate([wall_thickness - divider_epsilon, wall_thickness +div_n*mtg_deck_height + divider_depth/2, wall_thickness]) { + #divider(); + }; + } + box_magnets(); +}; +} + +module lid() { + difference() { + cube([outer_w, outer_d, wall_thickness]); + translate([0, 0, -outer_h+wall_thickness]) { + box_magnets(); + }; + } +} + +if (render_box) { + box(); +} + +if (render_lid) { + lid(); +} + +if (render_divider) { + divider(); +} diff --git a/ring light part 2.scad b/ring light part 2.scad new file mode 100644 index 0000000..8b57a94 --- /dev/null +++ b/ring light part 2.scad @@ -0,0 +1,38 @@ +// 92x59 hole mm +// 10mm border +// 4" under table maybe? 100mm ish, w/ 4 screw holes +// maybe like 25mm thick? + +hole_w = 92; +hole_l = 59; +trim_w = 10; +undertable_l = 100; +depth = 30; + +width = hole_w + 2 * trim_w; +length = undertable_l + trim_w * 2 + hole_l; + +screw_inset = 20; +// #8 2" screw +screw_hole_diameter = 3.45; +#difference() { + cube([width, length, depth]); + translate([trim_w, trim_w, 0]) { + cube([hole_w, hole_l, depth]); + }; + + + translate([width-screw_inset,length-screw_inset,0]) { + cylinder(depth*2, d = screw_hole_diameter, center=true, $fn=100); + }; + translate([screw_inset,length-screw_inset,0]) { + cylinder(depth*2, d = screw_hole_diameter, center=true, $fn=100); + }; + translate([width-screw_inset,2*trim_w+hole_l+screw_inset,0]) { + cylinder(depth*2, d = screw_hole_diameter, center=true, $fn=100); + }; + translate([screw_inset,2*trim_w+hole_l+screw_inset,0]) { + cylinder(depth*2, d = screw_hole_diameter, center=true, $fn=100); + }; +}; +