From 8a77bd287749f1c5f7f41ff4a6b568d0f3cfc241 Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Fri, 9 Feb 2024 00:04:46 -0700 Subject: initial commit --- MTBCanHolder/12ozCanHolder.scad | 118 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 MTBCanHolder/12ozCanHolder.scad (limited to 'MTBCanHolder/12ozCanHolder.scad') diff --git a/MTBCanHolder/12ozCanHolder.scad b/MTBCanHolder/12ozCanHolder.scad new file mode 100644 index 0000000..eaebe7a --- /dev/null +++ b/MTBCanHolder/12ozCanHolder.scad @@ -0,0 +1,118 @@ + + +can_height=122 + 10; // 12.cm +base_width=20; // 2cm +base_depth=5; // 1cm +bolt_head_diameter=10; //6mm for M5 bolt +dist_between_holes=64; // 2.14inch / 64mm +hole_offset=25; // 2cm from origin +bottom_lip_height=4.5; // 4.5mm 2cm (1cm + xyz) +bottom_lip_thickness=5; // 5mm +bottom_lip_base=5; // 10mm +bottom_lip_extrusion=17.5; // 10.5mm +upper_lip_base=5; +upper_lip_thickness=28; // height basically +upper_pushness_thickness=3; +upper_pusher_base=10; +upper_can_hook_height=10; +upper_can_hook_base=5; +upper_can_hook_width=5; +upper_hook_radius=10; +upper_lip_difference=2.50; + +translate([-20,120,base_depth-2]) { + +rotate([64,0,20]){ + +color([1,0,0]) { + +import("soda_can.stl"); +} +} + +} + + +// Distance from tip to base should 7.5mm +// Distance from tip to left face 6 mm + +module pieSlice(a, r, h){ + // a:angle, r:radius, h:height + rotate_extrude(angle=a) square([r,h]); +} + +linear_extrude(base_depth) { + difference() { + difference(){ + square([base_width, can_height]); + translate([base_width/2,hole_offset,0]){ + circle(d=bolt_head_diameter); + translate([0,(bolt_head_diameter)+dist_between_holes,0]) { + circle(d=bolt_head_diameter); + } + } + } + } +} + +// Upper Lip +difference(){ +linear_extrude(upper_lip_thickness){ +translate([0,-upper_lip_base,0]) { + square([base_width,upper_lip_base]); +} +} + +translate([-2.5,-upper_lip_difference,base_depth/1.5]) { + linear_extrude(upper_lip_thickness-10-(base_depth/1.5)){ + square([base_width+5,upper_lip_difference]); + } +} +} + +// Upper Lip Pusher (?) +translate([0,0,(upper_lip_thickness*7/8)-upper_pushness_thickness]){ +linear_extrude(upper_pushness_thickness){ +translate([0,-upper_pusher_base-upper_lip_base,0]) { + square([base_width,upper_pusher_base]); +} +} +} + +// Upper Lip Hook (?) +/* +translate([0,0,(upper_lip_thickness-upper_can_hook_height)]){ +linear_extrude(upper_can_hook_height){ +translate([0,,0]) { + square([base_width,upper_can_hook_base]); +} +} +} +*/ + +translate([base_width,0,upper_lip_thickness-10]){ +rotate([0,-90,0]){ +pieSlice(90+25,upper_hook_radius,base_width); +} +} + + +// Bottom Lip + +linear_extrude((bottom_lip_extrusion) + bottom_lip_thickness) { + translate([0,can_height,0]) { + square([base_width,bottom_lip_base]); + } +} + +translate([0,can_height-bottom_lip_height,(bottom_lip_extrusion)]) { + linear_extrude(bottom_lip_thickness){ + square([base_width,bottom_lip_height]); + } +} +/* +translate([10,0,30]){ +rotate([360-90,45,0]){ +pieSlice(90, 30, 30); +} +}\*/ -- cgit v1.2.3