diff --git a/model/right-half.scad b/model/right-half.scad index 6b816ba..2db645d 100644 --- a/model/right-half.scad +++ b/model/right-half.scad @@ -17,20 +17,71 @@ module right_half_door_only() { } // #right_half_door_only(); +module battery_spacer(cable_cube_additional_length=0) { + length = 106; + rotate([0, 90, 90]) cylinder(d=18.5, h=length); + cable_cube = 8.25; + translate([0, 0, -cable_cube]) cube([cable_cube, length+cable_cube_additional_length, cable_cube]); +} +// !battery_spacer(); + +module battery_contact() +{ + base_height = 4; + silver_wire_d = 1.15; + + module base_body() { + rotate([90, 0, 0]) + resize([0, base_height, 0], auto=[false, true, false]) + scale(0.99) + battery_spacer(); + } + + module contact_spring() + { + spring_width = 11; + translate([-2, -spring_width/2, 0]) + difference() { + scale([1.75, 1, 1]) rotate([-90, 0, 0]) cylinder(d=10, h=spring_width); + scale([1.75, 1, 1.5]) rotate([-90, 0, 0]) cylinder(d=6, h=spring_width); + translate([-100, 0, -50]) cube(100); + translate([-50, 0, -100]) cube(100); + translate([0, spring_width/3-silver_wire_d, 0]) cube([silver_wire_d, silver_wire_d, 50]); + translate([0, spring_width*2/3, 0]) cube([silver_wire_d, silver_wire_d, 50]); + } + } + module silver_wire_channels() + { + translate([7.3, 0, -6]) + rotate([-15, 0, 0]) + cylinder(d=silver_wire_d, h=15); + + translate([7.3, 0, -6]) + rotate([15, 0, 0]) + cylinder(d=silver_wire_d, h=15); + } + + translate([0, 0, base_height]) + rotate([0, 0, 45]) + contact_spring(); + + + + difference() { + base_body(); + translate([0, 0, base_height]) + rotate([0, 0, 45]) + silver_wire_channels(); + } +} +// !battery_contact(); + module right_half_hinge_only() { module original() { translate(BASE_MODEL_TRANSLATE+[0.34, -12.3, -6]) scale(BASE_MODEL_SCALE) import(file = "right-half_hinge-only.3mf", convexity=3); translate(BASE_MODEL_TRANSLATE+[5.92, -12.3, -11.48]) scale(BASE_MODEL_SCALE) import(file = "right-half_connector.3mf", convexity=3); } - module battery_spacer(cable_cube_additional_length) { - length = 106; - rotate([0, 90, 90]) cylinder(d=18.5, h=length); - cable_cube = 8.25; - translate([0, 0, -cable_cube]) cube([cable_cube, length+cable_cube_additional_length, cable_cube]); - } - // !battery_spacer(); - module cable_room() { translate([3.5, 0, -3.5]) rotate([-10, 80, 90]) cylinder(d=8, h=20);