Turret Bearing design
Posted: Tue Aug 22, 2017 2:07 pm
For any forum members with access to a 3D printer here is the code for the turret bearing
Have fun!
Alwyn
These Openscad definitions are for the three parts of a turret bearing.
The bearing winds up as 7mms high and 140 mms diameter. It uses 3mm balls which are readily available on ebay.
These scads are free to use, after printing make sure that all components are sanded to remove printing
detritus, and I also added a small amount of light grease.
To assemble without removing hair or turning the air blue, put some grease in the upper ball race and
turn it upside down on the bench, put the ball cage in position, place the balls into the holes and the
grease should hold them in place,
then GENTLY fit the lower ball race over the lip of the upper race which will then click into position
holding eveything together.
Just copy the code below into a file and rename it xxxxxx.scad to create a file accessible by openscad.
module bearing_race_upper () {
difference () {
rotate ([0,0,0]) translate ([0,0,1.5])cylinder(h = 4, r = 67, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 9, r = 63, , $fn=80);
difference () {
rotate ([0,0,0]) translate ([0,0,1.4])cylinder(h = 4, r = 67.5, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 61, r2 = 68, , $fn=80);
}
rotate_extrude (angle=360, convexity = 10, $fn=100) translate ([66,2.75,1.7]) circle (r=1.6, $fn=100);
}
difference () {
union () {
rotate ([0,0,0]) translate ([0,0,-1])cylinder(h = 5.6, r = 64, $fn=90);
rotate ([0,0,0]) translate ([0,0,-1.75])cylinder(h = 1, r = 64.5, , $fn=90);
}
rotate ([0,0,0]) translate ([0,0,-1.8])cylinder(h = 10, r = 63, , $fn=90);
}
}
module bearing_race_lower () {
difference () {
union (){
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 5, r = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 1.5, r = 70.5, , $fn=80);
}
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 63.5, r2 = 70.5, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 8, r = 64, , $fn=80);
rotate_extrude (angle=360, convexity = 10, $fn=100) translate ([66,2.75,1.7]) circle (r=1.6, $fn=100);
}
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4.5, r = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.1])cylinder(h = 6, r = 68, , $fn=80);
}
}
module bearing_ball_cage () {
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 68.75, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 62.75, r2 = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,3.6])cylinder(h = 2, r= 69.5, $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 8, r= 64.25, $fn=80);
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 70, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 75, , $fn=90);
}
difference () {
rotate ([0,0,0]) translate ([0,0,-0.1])cylinder(h = 4, r = 69.3, $fn=90);
rotate ([0,0,0]) translate ([0,0,-0.3])cylinder(h = 4.5, r1= 63.75, r2 = 69, , $fn=90);
}
rotate ([0,0,0])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,10])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,20])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,30])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,40])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,50])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,60])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,70])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,80])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,90])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,100])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,110])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,120])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,130])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,140])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,150])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,160])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,170])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,180])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,190])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,200])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,210])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,220])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,230])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,240])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,250])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,260])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,270])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,280])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,290])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,300])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,310])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,320])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,330])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,340])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,350])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
}
}
bearing_race_upper ();
//bearing_race_lower () ;
//bearing_ball_cage () ;
Have fun!
Alwyn
These Openscad definitions are for the three parts of a turret bearing.
The bearing winds up as 7mms high and 140 mms diameter. It uses 3mm balls which are readily available on ebay.
These scads are free to use, after printing make sure that all components are sanded to remove printing
detritus, and I also added a small amount of light grease.
To assemble without removing hair or turning the air blue, put some grease in the upper ball race and
turn it upside down on the bench, put the ball cage in position, place the balls into the holes and the
grease should hold them in place,
then GENTLY fit the lower ball race over the lip of the upper race which will then click into position
holding eveything together.
Just copy the code below into a file and rename it xxxxxx.scad to create a file accessible by openscad.
module bearing_race_upper () {
difference () {
rotate ([0,0,0]) translate ([0,0,1.5])cylinder(h = 4, r = 67, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 9, r = 63, , $fn=80);
difference () {
rotate ([0,0,0]) translate ([0,0,1.4])cylinder(h = 4, r = 67.5, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 61, r2 = 68, , $fn=80);
}
rotate_extrude (angle=360, convexity = 10, $fn=100) translate ([66,2.75,1.7]) circle (r=1.6, $fn=100);
}
difference () {
union () {
rotate ([0,0,0]) translate ([0,0,-1])cylinder(h = 5.6, r = 64, $fn=90);
rotate ([0,0,0]) translate ([0,0,-1.75])cylinder(h = 1, r = 64.5, , $fn=90);
}
rotate ([0,0,0]) translate ([0,0,-1.8])cylinder(h = 10, r = 63, , $fn=90);
}
}
module bearing_race_lower () {
difference () {
union (){
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 5, r = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 1.5, r = 70.5, , $fn=80);
}
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 63.5, r2 = 70.5, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 8, r = 64, , $fn=80);
rotate_extrude (angle=360, convexity = 10, $fn=100) translate ([66,2.75,1.7]) circle (r=1.6, $fn=100);
}
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4.5, r = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.1])cylinder(h = 6, r = 68, , $fn=80);
}
}
module bearing_ball_cage () {
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 68.75, , $fn=80);
rotate ([0,0,0]) translate ([0,0,-0.5])cylinder(h = 6, r1= 62.75, r2 = 69, , $fn=80);
rotate ([0,0,0]) translate ([0,0,3.6])cylinder(h = 2, r= 69.5, $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 8, r= 64.25, $fn=80);
difference () {
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 70, , $fn=80);
rotate ([0,0,0]) translate ([0,0,0])cylinder(h = 4, r = 75, , $fn=90);
}
difference () {
rotate ([0,0,0]) translate ([0,0,-0.1])cylinder(h = 4, r = 69.3, $fn=90);
rotate ([0,0,0]) translate ([0,0,-0.3])cylinder(h = 4.5, r1= 63.75, r2 = 69, , $fn=90);
}
rotate ([0,0,0])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,10])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,20])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,30])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,40])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,50])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,60])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,70])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,80])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,90])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,100])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,110])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,120])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,130])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,140])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,150])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,160])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,170])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,180])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,190])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,200])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,210])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,220])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,230])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,240])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,250])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,260])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,270])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,280])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,290])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,300])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,310])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,320])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,330])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,340])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
rotate ([0,0,350])translate ([66,2.75,1.7]) sphere (r=1.58, $fn=90);
}
}
bearing_race_upper ();
//bearing_race_lower () ;
//bearing_ball_cage () ;