+module DividePlan(xl=10){
+ w = divide_shaft_w;
+ g = divide_gap;
+ l = divide_shaft_l + g;
+ t = divide_head_th + g;
+ dx = divide_head_dx;
+ for (m=[0,1]) mirror([m,0]) {
+ translate([w, 0]) square([xl, g]);
+ for (i=[0:divide_heads-1]) {
+ translate([w, i*(l + t)]) {
+ translate([0, 0]) square([g, l + g]);
+ translate([0, l]) square([divide_head_dx + g, g]);
+ translate([dx, l]) square([g, t + g]);
+ translate([0, l + t])
+ square([divide_head_dx + g, g]);
+ }
+ }
+ translate([-0.1, (l + t) * divide_heads])
+ square([w + g, g]);
+ }
+}
+
+module DividePlanInPlace(xl=10){
+ rotate([0,0, -divide_angle])
+ translate([ -tube_dia/2 -tube_th/2 - divide_fudge_r, 0])
+ DividePlan(xl);
+}
+
+module DivideHook(){ ////toplevel
+ w = tube_th/2;
+ d = divide_gap;
+
+ translate([-1,0] * (w + d + w)){
+ for (sx=[-1,+1])
+ translate([-(w + w+d) * sx, 0]) circle(r= w);
+ difference(){
+ circle(r = 3*w + d);
+ circle(r = w + d);
+ translate([-10*w, -10*w]) square([20*w, 10*w]);
+ }
+ }
+}
+
+module DivideCut(){
+ w = tube_th/2;
+ d = divide_gap;
+ br = tube_dia/2 + tube_th;
+