diff --git a/laura_bag_box.scad b/laura_bag_box.scad new file mode 100644 index 0000000..c70d735 --- /dev/null +++ b/laura_bag_box.scad @@ -0,0 +1,59 @@ +thickness = 2; +width = 150; +height = 100; +depth = 45; + +hole_distance = 5; +extrusion_depth = 5; +hole_radius = 1; + +// Create grid of pins to cut holes later +module holeGrid(width, height, holeradius, holedistance){ + numx = round(width/holedistance) - 2; + numy = round(height/holedistance) - 2; + for(x = [0:numx]){ + for(y = [0:numy]){ + if(x == 0 || y == 0 || x == numx || y == numy){ + linear_extrude(extrusion_depth) + translate([x*holedistance, y*holedistance]) + circle(holeradius, $fn=10); + } + } + } +} + +// Create hollow box +difference(){ + cube([width, depth, height]); + translate([thickness, thickness, -thickness]){ + cube([width-2*thickness,depth-2*thickness, height+1]); + } + translate([hole_distance,hole_distance,-extrusion_depth/2+height]){ + holeGrid(width,depth,hole_radius,hole_distance); + } + rotate(90,[1,0,0]){ + translate([hole_distance,hole_distance,-extrusion_depth/2]){ + holeGrid(width,height,hole_radius,hole_distance); + } + } + rotate(90,[1,0,0]){ + translate([hole_distance,hole_distance,-extrusion_depth/2-depth]){ + holeGrid(width,height,hole_radius,hole_distance); + } + } + rotate(90,[0,0,1]){ + rotate(90,[1,0,0]){ + translate([hole_distance,hole_distance,-extrusion_depth/2]){ + holeGrid(depth,height,hole_radius,hole_distance); + } + } + } + rotate(90,[0,0,1]){ + rotate(90,[1,0,0]){ + translate([hole_distance,hole_distance,-extrusion_depth/2+width]){ + holeGrid(depth,height,hole_radius,hole_distance); + } + } + } +} +// holeGrid(width,height,hole_radius,hole_distance); \ No newline at end of file