![]()
//////////////////////////////////////////// //////////////// Parameters //////////////// baseHeight = 3; baseRaidus = 30; helixHeight = 70; helixRaidus = 3; helixTwist = 360; helixTranslate = 20; start = [[helixTranslate,0], [-helixTranslate,0], [0,helixTranslate], [0,-helixTranslate]]; //////////////////////////////////////////// /////////////////// Base /////////////////// cylinder(baseHeight,baseRaidus,baseRaidus); //////////////////////////////////////////// ////////////////// Helix /////////////////// for(i = [0:len(start)-1]) { // debug // echo(str("I=",i)); // assign(x = start[i][0], // y = start[i][1], // z = baseHeight+helixHeight) // { // echo(str("X=",x)); // echo(str("Y=",y)); // echo(str("Z=",z)); // } // extrude helix translate(0,0,baseHeight) linear_extrude(height=helixHeight, twist=helixTwist) translate(start[i]) circle(helixRaidus); // top helix with a sphere translate([start[i][0],start[i][1], baseHeight+helixHeight-helixRaidus]) sphere(helixRaidus); }