Openscad can be found here https://openscad.org/
Openscad source
sliderWithMax =40; // [80]
difference() {
union() {
linear_extrude(height=1.4)
difference() {
hull() {
circle(d=6,$fn = 100);
translate([sliderWithMax-2,0]) circle(d=4,$fn = 100);
}
translate([4,0]) for (i=[0:sliderWithMax/2-3]) translate([i*2,0]) circle(d=1,$fn = 100);
}
cylinder(d=6.7, h=3.8, $fn=100);
}
translate([0,0,-1]) cylinder(d=2.5, h=3.8+2, $fn=100);
translate([0,0,-1]) cylinder(d=4.7, h=1+1, $fn=100);
translate([0,0,3.8-2+1]) cylinder(d=4.7, h=2+1);
}
