// -*- C -*-
include <nutbox.scad>
+include <utils.scad>
// pimoroni 3000mAh
battery = [ 51.5,
// calculated
+battery_fix_sz = NutBox_outer_size(battery_nutbox);
+
battery_nutbox_z = max( battery[2] + battery_wall_top_gap,
NutBox_h_base(battery_nutbox) );
battery_keeper_overhang_z = battery[2] + battery_keeper_m_th
[ -(battery[0]/2 + battery_wall_unsupp), battery[1]/3 ]);
}
BatteryPlan();
- rectfromto([ fix_sz/2 - 0.5
+ rectfromto([ battery_fix_sz/2 - 0.5
+ battery_keeper_screw_x_off, -30 ],
[ -battery[0], battery_wire_y ]);
}
}
// nutbox
- translate([battery_keeper_screw_x_off, -fix_sz/2, battery_nutbox_z])
+ translate([battery_keeper_screw_x_off, -battery_fix_sz/2, battery_nutbox_z])
NutBox(battery_nutbox, battery_nutbox_z + 0.1);
// overhang for legs at rear
difference(){
translate([0, battery[1] * ((i + 0.5) / battery_keeper_x_n)])
square(center=true, [ battery[0], battery_keeper_x_w ]);
- rectfromto([ -battery[1], -20 ],
- [ +pi_sz[1] - pi_usb_from_other_side,
- pi_usb_over_battery_proportion * battery[1] ]);
+ children(0);
}
}
}
battery_nutbox_z + battery_keeper_z_gap_nutbox])
linextr(0, battery_keeper_m_th, convexity=4) {
difference(){
- rectfromto([ -fix_sz/2, -fix_sz ],
- [ +fix_sz/2,
+ rectfromto([ -battery_fix_sz/2, -battery_fix_sz ],
+ [ +battery_fix_sz/2,
0.5 * battery[1] / battery_keeper_x_n +
0.5 * battery_keeper_m_w ]);
- translate([ 0, -fix_sz/2 ])
+ translate([ 0, -battery_fix_sz/2 ])
circle(r = battery_nutbox[0]/2);
}
}
module BatteryDemo(){ ////toplevel
color("grey") BatteryBase();
- BatteryKeeper();
+ BatteryKeeper() { union(){ } }
}