Loading

Rotating Bearing

by Hank106, published

Rotating Bearing by Hank106 Nov 21, 2012
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Contents

License

Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Makes

Thing Statistics

6865Views 1189Downloads Found in 3D Printing Tests

Summary

A rotating bearing designed with OpenSCAD

Instructions

Revised .stl file to correct issue noted by BSchuler. The revised OpenSCAD code is below:

//Bearing Dimensions
//Basic Inputs
t=8; //thickness of bearing
OR=30; //Outer Radius of outer bearing race
IR=18; //Inner Radius of inner bearing race
PCT=.8; //Percent of t or d used to determine ball size

//Derived Inputs
d=OR-IR; //difference between Outer & Inner Radius of races
echo("bearing thickness=",t);
echo("Outer-Inner Bearing Radius=",d);
BR=(PCT/2)min(t,d); //Ball bearing radius
echo("BR=",BR);
BC=(OR+IR)/2; //Radius of ball bearing circle
GP=BR/3; //Half of Gap between inner and outer race, set at 1/3 ball radius
M=1.01; //Multiplier to make space between races larger than ball bearing
N=round(((2
BCPI)/(2BR))+.5)-1; //Number of balls in bearing
echo("N=",N);

$fn=50; //Increase to 100 or greater to improve smoothness of bearings & races but this significantly increases time to render

//difference forms races of bearing
difference(){
//disk forming OD of bearing
cylinder(t,OR,OR,center=true);
//remove ring to form Id of outer race and Od of inner race
rotate_extrude(convexity=20)translate([BC,0,0])circle(MBR,center=true);
//remove disk to form ID of inner race
cylinder(t,IR,IR,center=true);
//opening between inner and outer race
translate([0,0,0])difference(){
cylinder(t+2,BC+GP,BC+GP,center=true);
cylinder(t+2,BC-GP,BC-GP,center=true);}}
//adds ball bearings within race
for (i=[1:N])rotate(i
360/N*[0,0,1])translate([BC,0,0])sphere(BR,center=true);

More from 3D Printing Tests

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

 //Bearing Dimensions
//Basic Inputs
t=8; //thickness of bearing
OR=30; //Outer Radius of outer bearing race
IR=18; //Inner Radius of inner bearing race
PCT=.9; //Percent of t or d used to determine ball size

//Derived Inputs
d=OR-IR; //difference between Outer & Inner Radius of races
echo("bearing thickness=",t);
echo("Outer-Inner Bearing Radius=",d);
BR=(PCT/2)min(t,d); //Ball bearing radius
echo("BR=",BR);
BC=(OR+IR)/2;  //Radius of ball bearing circle
GP=BR/3;  //Half of Gap between inner and outer race, set at 1/3 ball radius
M=1.000; //Multiplier to make space between races larger than ball bearing
N=round(((2
BCPI)/(2BR))+.5)-1;  //Number of balls in bearing
echo("N=",N);

$fn=50;
//union adds ball bearings to race (disable if balls to be separate entitites)
//union(){
//difference forms races of bearing
difference(){
//disk forming OD of bearing
cylinder(t,OR,OR,center=true);
//remove ring to form Id of outer race and Od of inner race
rotate_extrude(convexity=20)translate([BC,0,0])circle(MBR,center=true);
//remove disk to form ID of inner race
cylinder(t,IR,IR,center=true);
//opening between inner and outer race
translate([0,0,-1])difference(){
cylinder(t+2,BC+GP,BC+GP,center=true);
cylinder(t+2,BC-GP,BC-GP,center=true);}}
//adds ball bearings within race
for (i=[1:N])rotate(i
360/N*[0,0,1])translate([BC,0,0])sphere(BR,center=true,$fn=50[ -0.35, 0.67, 0.11 ][ 188.50, 0.00, 27.80 ]);
//}

I took four shots at this with varying shells and fill values but was unsuccessful at getting the bearings to release. I would suggest scaling the spheres down a bit.

Top