mounted_pos_y_offset = 20;
+liner_th = 0.8;
+
+brace_r = 5;
+brace_len = 50;
+
// calculated
straps_y = [ -bank_y_sz * 0.25,
bank_bot_y = strap_above + strap_th;
strap_r = strap_th;
+brace_total_len = brace_len + main_th;
+brace_ctrs_y = [ straps_y[0] - (brace_r + strap_r/2),
+ straps_y[1] + (brace_r + strap_r/2) ];
+
echo(bot_y);
module TubePlan(){ circle(r = tube_dia/2); }
}
module PowerBankItselfSidePlan(){
- translate([0, bank_bot_y])
- scale( bank_profile_scale_bodge *
- bank_x_sz / ( (
- bank_eps_bbox_x[1] -
- bank_eps_bbox_x[0]
- ) * pspt_to_mm ))
- translate(pspt_to_mm *
- [-0.5 * (bank_eps_bbox_x[0] +
- bank_eps_bbox_x[1]),
- -bank_eps_bbox_y[0]])
- import("powerbank-anker-10000.dxf", convexity=5);
+ translate([0, bank_bot_y]){
+ minkowski(){
+ circle($fn=8, r=liner_th);
+ scale( bank_profile_scale_bodge *
+ bank_x_sz / ( (
+ bank_eps_bbox_x[1] -
+ bank_eps_bbox_x[0]
+ ) * pspt_to_mm ))
+ translate(pspt_to_mm *
+ [-0.5 * (bank_eps_bbox_x[0] +
+ bank_eps_bbox_x[1]),
+ -bank_eps_bbox_y[0]])
+ import("powerbank-anker-10000.dxf", convexity=5);
+ }
+ }
}
module PowerBankItself(){ ////toplevel
}
}
+module BraceTubePlan(){
+ intersection(){
+ circle(r= brace_r);
+ rectfromto(brace_r * [-2, 0],
+ brace_r * [+2, +2]);
+ }
+}
+
module PowerBankHolder(){ ////toplevel
difference(){
union(){
translate(bank_input_ctr)
square(center=true, bank_input_sz);
}
+
+ translate([0,0, bank_x_sz/2]){
+ for (y = brace_ctrs_y) {
+ translate([0,y,0]) {
+ linextr_x_yz(0, brace_total_len)
+ BraceTubePlan();
+ }
+ }
+ translate([brace_total_len, 0,0])
+ linextr_y_xz(brace_ctrs_y[0] - brace_r,
+ brace_ctrs_y[1] + brace_r)
+ BraceTubePlan();
+ }
}
module TubeClampLeft() { ////toplevel