Bill
I've used OpenScad. It does what it says on the box. But with a steep learning
curve - unless you are familiar with programmical modelling - it's all a matter
of creating a primitive shape, scaling it, rotating it, moving it and then
adding or subtracting from what you have created before. The programming
language is java-like and rather cumbersome. I include a little picture of an
early prototype of the 3D-printered interior shell of a dodecahedral sundial.
(The dial faces will be laser engraved on thin plywood and stuck onto the
shell). Also the OpenScad code to produce this shape.
Give it a try!
Kevin
Height = 100 ;// millimeters
Arm_Thickness = 5 ;
Ply_Thickness = 2.6;
Wall_Thickness_Below_Ply = 3;
Look_Inside = 1; // ENTER 1 TO CUT THE MODEL IN HALF
// *****************************************************************************
// D E F I N E T H E D O D E C A H E D R O N A N D P E N T A G O N
// *****************************************************************************
module dodecahedron(height) {scale([height,height,height])
{intersection()
{cube([2,2,1], center = true);
intersection_for(i=[0:4])
{rotate([0,0,72*i]) rotate([2 * atan((1 +
sqrt(5))/2.),0,0])cube([2,2,1], center = true); }}}}
module pentagon(x_rad,thickn)
{difference() // Carve 3 sides off a Cylinder
{cylinder(r=x_rad,h=thickn+.001);
for ( i = [0 : 4] ) {rotate([0,0,72.*i ]) translate([x_rad,0,0])
cube([x_rad,1.5*x_rad,1.5*x_rad], center = true); }}}
// *****************************************************************************
// C A L C U L A T E V A R I O U S P A R A M E T E R S
// *****************************************************************************
Gold_Rat = (1 + sqrt(5))/2.; // Golden Ratio
Dihedral = 2 * atan(Gold_Rat); // Dihedral; Angle
Pentagon_Size = Height/Gold_Rat - Arm_Thickness;
Inner_Dimension = Height - 2 * (Ply_Thickness + Wall_Thickness_Below_Ply);
// *****************************************************************************
// B U I L D T H E M O D E L
// *****************************************************************************
difference() {
// Make Dodecahedron hollow
difference(){dodecahedron(Height); dodecahedron(Inner_Dimension);}
// Remove Pentagons fron Top & Bottom Faces
rotate([0, 0,18]) translate([0,0,Inner_Dimension])
pentagon(Pentagon_Size,Ply_Thickness); // Top Face
rotate([0,180,18]) translate([0,0,Inner_Dimension])
pentagon(Pentagon_Size,Ply_Thickness); // Bottom Face
// Remove Pentagons fron Upper Side Faces
for ( i = [0 : 4] ) {rotate([0,180-Dihedral,90 + i*72 ])
rotate([0,0,36]) translate([0,0,Height/2 - Ply_Thickness])
pentagon(Pentagon_Size,Ply_Thickness);}
// Remove Pentagons fron Lower Side Faces
for ( i = [0 : 4] ) {rotate([0, Dihedral,90+36 + i*72 ])
rotate([0,0,0 ]) translate([0,0,Height/2 - Ply_Thickness])
pentagon(Pentagon_Size,Ply_Thickness);}
// Cut Model in half if desired
if (Look_Inside)
{translate([-Height,-Height,-0]) cube(2*Height);} }
> On 6 Nov 2015, at 14:15, Bill Gottesman <[email protected]> wrote:
>
> Very cool. Has anyone had a chance to try the free 3D software OpenScad? By
> the way, I am skeptical that the sundial can handle declinations near the
> solstices.
> -Bill
>
> On Fri, Nov 6, 2015 at 7:39 AM, Darek Oczki <[email protected]
> <mailto:[email protected]>> wrote:
> Hello everyone
>
> Have you seen this 3D digital sundial?
> http://3dprint.com/103289/open-source-3d-print-sundial/
> <http://3dprint.com/103289/open-source-3d-print-sundial/>
>
> --
> Best regards
> Darek Oczki
> 52N 21E
> Warsaw, Poland
> GNOMONIKA.pl
> Sundials in Poland
> http://gnomonika.pl <http://gnomonika.pl/>
> ---------------------------------------------------
> https://lists.uni-koeln.de/mailman/listinfo/sundial
> <https://lists.uni-koeln.de/mailman/listinfo/sundial>
>
>
> ---------------------------------------------------
> https://lists.uni-koeln.de/mailman/listinfo/sundial
>
---------------------------------------------------
https://lists.uni-koeln.de/mailman/listinfo/sundial