This is a customizible ball joint for use on linear shafts. The joint will allow for rotation of the object around a shaft, but will also allow the object to pivot. There are three components to the design: ball_joint_holder is the end piece that has the hole for a 10mm shaft; ball_joint_center is the piece with the four hemispheres that becomes the center pivot; ball_joint_c_socket is the optional center socket that can be used to increase the range of motion. The only part that needs supports to print is the optionsl ball_joint_c_socket. The most simple configuration is two ends with one pivot, which allows for ~45 degrees of pivot. With each additional center socket and pivot point that are added, the range of motion increases by an additional ~45 degrees. The ends should be printed with the circular rod recess on the bed, and the center pivots should be printed with the flat side of the center square on the bed. This orientation does not require supports.