| module Tetrahedron(L) {
|
| cylinder(r1=L/sqrt(3), r2=0, h=L*sqrt(6)/3, $fn=3);
|
| }
|
|
|
| module Octahedron(L) {
|
| render() {
|
| cylinder(r1=L/sqrt(2), r2=0, h=L/sqrt(2), $fn=4);
|
| mirror([0,0,1]) cylinder(r1=L/sqrt(2), r2=0, h=L/sqrt(2), $fn=4);
|
| }
|
| }
|
|
|
| module PentagonalTrapezohedron(L) {
|
| rw = (10/9)*(2*L+L/sqrt(2));
|
| h = 2*L+L/sqrt(2);
|
| render() intersection() {
|
| translate([0,0,-2*L])
|
| cylinder(r1=rw, r2=0, h=h, $fn=5);
|
| mirror([0,0,1]) rotate([0,0,36]) translate([0,0,-2*L])
|
| cylinder(r1=rw, r2=0, h=h, $fn=5);
|
| }
|
| }
|
| module Decahedron(L) {
|
| PentagonalTrapezohedron(L);
|
| }
|
| module Rounded10d(L, roundby) {
|
| minkowski() {
|
| sphere(r=roundby, $fs=0.2);
|
| PentagonalTrapezohedron(L-roundby);
|
| }
|
| }
|
|
|
|
|
| Tetrahedron(10);
|
| translate([15,0,0]) Octahedron(10);
|
| translate([32,0,0]) Rounded10d(10, 1);
|