3D part design with OpenSCAD #126 : experimenting with fresnel lens design.

1 min read
By Bob
3D part design with OpenSCAD #126 : experimenting with fresnel lens design.

A while back I made a module for concentric rings and it reminded me of a fresnel lens, so I added a few customizations to it so I could experiment with fresnel lens design.

Here is the code:

//
outside_shape=60;//[3:1:100]
height=10; //[.1:.01:100]
diameter=18; //[1:.01:200]
center_height=10; //[.1:.01:100]
Center_diameter=40; //[.1:.01:400]
ring_number =10; //[1:1:20]
ring_spacing =-.21; //[-.90:.01:4]
scale_x = 1; // [-10:.01:10]
scale_y = 1; // [-10:.01:10]
scale_z = 1; // [-10:.01:10]

module rings(){
for(i=[2:ring_spacing+1:ring_number])
scale([scale_x,scale_y,scale_z])
render()
difference(){
cylinder(height,diameter/2*i+12,diameter/2*i,center=false,$fn=outside_shape);
cylinder(height+12,diameter/2*i,diameter/2*i,center=false,$fn=outside_shape);
}
for(i=[2:ring_spacing+1:ring_number])
linear_extrude(3)
circle(diameter/2*i,$fn=outside_shape);
}

module center(){
intersection(){
cylinder(10,20,20,$fn=100);
translate([0,0,20])
sphere(20,$fn=outside_shape);
}}

mirror([0,0,1])
translate([0,0,-center_height-1])
resize([Center_diameter,Center_diameter,center_height])
center();
rings();

If nothing else it will make some cool coasters:

To make an actual fresnel lens more experimentation will need to be done.