Printing Things: Visions and Essentials for 3D Printing