module rounded_cube(width, length, height, corner) {
hull() {
translate([ 0*width+0.5*corner, 0*length+0.5*corner, 0])
cylinder( h = height, d = corner );
translate([ 0*width+0.5*corner, 1*length-0.5*corner, 0])
cylinder( h = height, d = corner );
translate([ 1*width-0.5*corner, 0*length+0.5*corner, 0])
cylinder( h = height, d = corner );
translate([ 1*width-0.5*corner, 1*length-0.5*corner, 0])
cylinder( h = height, d = corner );
}
}
module rounded_cube(width, length, height, corner) {
hull() {
translate([ 0*width+1*corner, 0*length+1*corner, 0*height+1*corner])
sphere( r = corner );
translate([ 1*width-0*corner, 0*length+1*corner, 0*height+1*corner ])
sphere( r = corner );
translate([ 0*width+1*corner, 1*length-0*corner, 0*height+1*corner ])
sphere( r = corner );
translate([ 1*width-0*corner, 1*length-0*corner, 0*height+1*corner ])
sphere( r = corner );
translate([ 0*width+1*corner, 0*length+1*corner, 1*height-0*corner ])
sphere( r = corner );
translate([ 1*width-0*corner, 0*length+1*corner, 1*height-0*corner ])
sphere( r = corner );
translate([ 0*width+1*corner, 1*length-0*corner, 1*height-0*corner ])
sphere( r = corner );
translate([ 1*width-0*corner, 1*length-0*corner, 1*height-0*corner ])
sphere( r = corner );
}
}