Loading

Rotating Bearing

by Hank106, published

Rotating Bearing by Hank106 Nov 21, 2012
1 Share
Download This Thing! Customize Order This Printed Tools & Utilities

Thing Info

6607Views 1073Downloads Found in 3D Printing Tests
Report Thing

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

Thing Info

6607Views 1073Downloads Found in 3D Printing Tests
Report Thing

Makes

Liked By

View All

License

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

All Apps

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

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

 //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