3D part design with OpenSCAD # 108: making a customizable slotted disk.

1 min read
By Bob
3D part design with OpenSCAD # 108: making a customizable slotted disk.

Being able to make slots that are evenly spaced around a disk is pretty useful for making machines and timing a rotating object. Here is some simple code to make a custom slotted disk.

//

/*[Slots]*/
slot_number=24;//[1:1:36]
slot_depth=1;//[.1:.01:19]
slot_width=2;// [0:.01:100]
Angle=360;//[1:1:360]

/*[Ring]*/
outer_diameter=55;//[1:.01:200]
inner_diameter=16;//[1:.01:200]
ring_height=2;//[1:.01:20]

module slots(){
for(i=[0:Angle/10])
 rotate([0,0,(360/slot_number)*i]) 
hull(){
 linear_extrude(ring_height)
 square(1,center=true);
 translate([outer_diameter/2,0,0])
 resize([0,slot_width,0])
 linear_extrude(ring_height)
 square(1);
}}

module ring(){
linear_extrude(ring_height,convexity=11){
difference(){
 circle(outer_diameter/2,$fn=100);
 circle(inner_diameter/2,$fn=100);
}}}

difference(){
 ring();
 translate([0,0,slot_depth])
 slots();
}

And here are a few different results from adjusting the variables:

With a few simple modifications it would be easy to make things like a ribber for a sock machine or countless other useful objects.