Loading

MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!
skitcher

OpenSCAD Dodecahedron (pentagonal and rhombic)

by skitcher Jul 18, 2018
Download All Files

Please Login to Comment

Hello.

Maybe you have solve already, but the way a made it was simple, whit the parameters in such a way that it will fit in an other file.
The proportions are an scale factor of the aurean number. See if you like this.

// Dodecaedro
DodecaPoints = [
[ -2.61803, -2.61803, -2.61803 ], //0
[ 2.61803, -2.61803, -2.61803 ], //1
[ 2.61803, 2.61803, -2.61803 ], //2
[ -2.61803, 2.61803, -2.61803 ], //3
[ -2.61803, -2.61803, 2.61803 ], //4
[ 2.61803, -2.61803, 2.61803 ], //5
[ 2.61803, 2.61803, 2.61803 ], //6
[ -2.61803, 2.61803, 2.61803 ], //7

[ 4.23605, 0,  1.61803],
[-4.23605, 0,  1.61803],
[-4.23605, 0, -1.61803],
[ 4.23605, 0, -1.61803],

[ 1.61803, 4.23605, 0],
[ 1.61803,-4.23605, 0],
[-1.61803,-4.23605, 0],
[-1.61803, 4.23605, 0],

[ 0, 1.61803, 4.23605],
[ 0, 1.61803,-4.23605],
[ 0,-1.61803,-4.23605],
[ 0,-1.61803, 4.23605],
];

DodecaFaces = [
[0,14,13,1,18],
[0,10,9,4,14],
[0,18,17,3,10],
[2,12,6,8,11],
[2, 11,1,18,17],
[2,17,3,15,12],
[5,8,6,16,19],
[5,19,4,14,13],
[5,13,1,11,8],
[7,16,6,12,15],
[7,15,3,10,9],
[7,9,4,19,16],

];

polyhedron( DodecaPoints, DodecaFaces );

I think you're missing six points. The +/- in the "cross-edges" formulae should generate four versions for each of the three formulae.

Try this:

phi=(1 + sqrt(5)) / 2;
h=-phi;
$fn=20;
s=1;

hull()
{

    translate([0, (1 + h), (1 - h*h)]) sphere(0.1);
    translate([0, -(1 + h), (1 - h*h)]) sphere(0.1);
    translate([0, (1 + h), -(1 - h*h)]) sphere(0.1);
    translate([0, -(1 + h), -(1 - h*h)]) sphere(0.1);

    translate([(1 + h), (1 - h*h), 0]) sphere(0.1);
    translate([-(1 + h), (1 - h*h), 0]) sphere(0.1);
    translate([(1 + h), -(1 - h*h), 0]) sphere(0.1);
    translate([-(1 + h), -(1 - h*h), 0]) sphere(0.1);

    translate([(1 - h*h), 0, (1 + h)]) sphere(0.1);
    translate([(1 - h*h), 0, -(1 + h)]) sphere(0.1);
    translate([-(1 - h*h), 0, (1 + h)]) sphere(0.1);
    translate([-(1 - h*h), 0, -(1 + h)]) sphere(0.1);

    translate([s,s,s]) sphere(0.1);
    translate([-s,s,-s]) sphere(0.1);
    translate([s,s,-s]) sphere(0.1);
    translate([-s,-s,s]) sphere(0.1);
    translate([s,-s,-s]) sphere(0.1);
    translate([-s,s,s]) sphere(0.1);
    translate([s,-s,s]) sphere(0.1);
    translate([-s,-s,-s]) sphere(0.1);     

}

I figured that out already. Thanks anyways. :)