OpensCad is a software used to draw 3D objects using codes, I practiced 
OpensCad and was able to
        draw a 3D Roller Bearing. I will explain below my steps that led to the final 3D view.
          1. Drawing two sequares that are equal in dimensions.
          *press 
preview after each step to see the result or 
F5
           
          2. Moving the two squares from the center using the command 
translate.
          *specify the coordinates in [x,y,z] directions
          

          3. Draw a circle with the requiered radius.
          *you will notice that the circle has edges and not smooth
          

          4. Use 
fn command in the first line to have a smoother circle, and change its position to
          be in the center point of the two squares.
          *example: $fn=50, notice than using an number that is greater than 50 will make the circle even smoother.
          

          5. Use 
difference command to make the shape of the bearing races. 
Difference command works
          by subtracting the second object from the first one.
          *use 
union command to deal with the two squares as one object, so that 
difference command will be used once.
          

          6. Use rotate and extrude comand to generate the 3D outer and inner races.
          

          7. Draw a sphere with the required radius to generate the rolling elements of the bearing.
          

          8. Use loop and 
rotate command to repeat the sphere.
          

          *The 3D file of this design can be downloaded from here.