ImplicitCAD: Programmatic CAD Built with 3D Printing in Mind