Technical Modeling with OpenSCAD: Create Models for 3D Printing, CNC Milling, Process Communication and Documentation