// new example, using a low ratio harmonic drive floating // splined belt with 60 teeth. // s/b 30/1 when finished. $aa=69.500000; // was 69.00000000 a blond one too big $xx=9.750000000; $dd1=111.40000000; $dd0=117.80000000; $fx = ([ 360.00000000 / 60.00000000 ]); // arc of circle per tooth, works but... // overall span of armature plus bearings equals 96.6mm's $fr = [ 0.00000000]; // establish its storage echo ("10 ", $aa, $xx, $dd0, $dd1, $fr, $fx) ; // echo? yes, once difference() { // the outside smoother cylinder(d=$dd0, h=$xx, $fn=360); //outer is fussy cylinder(d=$dd1, h=$xx, $fn=180); //but the inner isn't } // for 6.00000 we got 60 teeth, for 62 teeth inc is 5.8064516129 // those 60 teeth rendered at 3.69mm peak to valley // use this "for" for 62 teeth //for($fr=[ 0.00000000: 5.8064516129 : 360.00000000 ]){ //can't pass $fd to this for, why? //use this "for" for 60 teeth for($fr=[ 0: 6.000000000 : 360 ]){ //use this "for" for 58 teeth //for($fr=[ 0 : 6.20689655172 : 360 ]){ //cylinder(h=11.75, d=8, center=true); rotate([0.00000000, 0.00000000, $fr]) // works, finally // this below works, but again, can't pass a var to translate // what the hell??????? // translate([54.05000000, 0.00000000, 0.00000000]) // mv x only scale(v= [.1000000, .1000000, 1.000000]) // might use a small xy // differential here to improve tooth fit. rotate(180) // same here, using $var's doesn't work here or for // cylinder. switch rotate on for outers and readjust sizes cylinder(d=$aa, h=$xx, $fn=3); // make thick triangle }; // switch h=9.500 for outer rings