include l = 110; belt_l = 45; belt_t = 5; hook_angle = -60; hook_l = 1.8; w = 25; t = 4; top_t = 1; round = w/2; out_t = belt_t + 2*t; // ziptie z_w = 5; z_h = 2; z_dist = 28; $fn = 36; difference() { union() { // main part cuboid([w,t,l], rounding=round, edges=[BOTTOM+LEFT, BOTTOM+RIGHT]); up(l/2) yrot(90) fwd(out_t/2 - t/2) cyl(h=w,d=out_t + top_t); up(l/2) down(belt_l/2) fwd(out_t - t) cuboid([w,t,belt_l], rounding=t/2, edges=[BOTTOM+BACK,BOTTOM+FWD]);; up(l/2) down(belt_l) fwd(out_t-t) up(t/2) xrot(hook_angle) up(t*hook_l/2) cuboid([w,t,t*hook_l], rounding=t/2, edges=[UP+BACK,UP+FWD]); } // holes for zipties down(l/2 - t - round/2) union() { cuboid([z_w, t*2, z_h]); up(z_dist) cuboid([z_w, t*2, z_h]); } // hole for belt up(l/2) down(belt_l/4) fwd(out_t/2 - t/2) cuboid([w+1, belt_t, belt_l/2]); up(l/2) yrot(90) fwd(out_t/2 - t/2) cyl(h=w+1,d=belt_t); }