//White cane //inputs: user height and grip radius //pole standard width 30-50mm (15-25 radius) //assuming height 1600mm // symbol cane is 1/3rd user height (eg 533mm) // guide cane is 1/2 user height (eg 800mm) // long cane is 2/3rd user height (eg 1066mm) //Iteration 1: Symbol cane. // 2 peace cane - slip fit // -handle // -tail //Iteration 2... too tall, try four segments //handle still needs grips //next ver: grip ridges? rotate([180,0,0]) translate([60,0,-(143.25)]) union(){ translate([0,0,0]) hollowTube(533/4, 15, 20, 4); translate([0,0,133.25-80]) hollowTube(80, 22, 22, 8); translate([0,0,133.25]) cylinder(10, 22, 22); } //mid(s) //next ver: translate([-40,60,0]) hollowTube(533/4, 15, 20, 4); translate([5,60,0]) hollowTube(533/4, 15, 20, 4); translate([50,60,0]) hollowTube(533/4, 15, 20, 4); //tip //next ver: flatten the end... tighter? difference() { translate([0,0,28]) sphere(30); translate([0,0,-2]) cylinder(30, 15, 20); } //hollow tubes: module hollowTube(length, r1, r2, width){ difference(){ cylinder(length, r1, r2); cylinder(length+10, r1-width, r2-width); } } //Iteration 2: Guide cane. // 3 peace cane - screw fit // -handle // -mid // -tail //Iteration 3: Long cane. // 4 peace cane - clip fit or fold out // -handle // -mid // -tail // -fittings (pencil/bundu/ball/pear/rural/roller)