include include t=7.5; d = 80; h = 100; conn = 0; tr = 4; // trytytka szer tr_d = 1; $fn = 360; difference() { torus(d_maj=d, d_min=t); back(d + conn/2)cuboid([2*d,2*d,2*d]); // left(d/2) union() { // up(conn/2) cuboid([t*2,conn,conn]); // xrot(90) tube(h=tr, id=t-tr_d, wall=t, rounding=0.3); // } // right(d/2) union() { // down(conn/2) cuboid([t*2,conn,conn]); // xrot(90) tube(h=tr, id=t-tr_d, wall=t, rounding=0.3); // } left(d/2) xrot(-90) rabbit_clip("female", t/2,t/2,0.5, 0.4,1, lock=true); } right(d/2) xrot(-90) rabbit_clip("male", t/2,t/2,0.5, 0.4,1, lock=true); for(i = [0:1] ) { zrot(90*i + 45) left(d/2) union() { cyl(h=h, d=t, anchor=BOTTOM); up(h) cyl(h=t*2, d1=t, d2=0, anchor=BOTTOM); } }