Functional Design for 3D Printing: Designing 3D printed things for everyday use - an engineering handbook