1. A method for generating and manufacturing a product co-designed by a first user and a second user, the product represented by a 3D CAD Model, the method comprising: receiving, by at least one computing device, from the first user using a first user device, at least one computer file containing at least one 3D CAD Model, the at least one 3D CAD Model representing a base design for a product, uploaded to the at least one computing device; causing, by the at least one computing device, a constraint definition interface and a representation of the at least one 3D CAD Model representing the base design for the product to be displayed on the first user device; enabling the first user using the first user device to designate geometric modifiers, input parameters and variables defining each designated geometric modifier, each geometric modifier corresponding to functions executable to alter geometric features of the base design for the product; receiving, by the at least one computing device, from the first user, a selection of a type of geometric modifier available in the interface and a corresponding set of variables defining at least one executable function for altering at least one geometric feature of the at least one 3D CAD Model; linking and storing the defined features as constraints for corresponding 3D CAD Models in the system for recall; receiving, by the at least one computing device, from a second user using a second user device, a selection of a product, the product represented by the at least one 3D CAD Model having previously designated constraint features defined in the system; retrieving and causing to be displayed, on the second user device, a constraint application interface comprising tools, represented graphically, based on the previously defined constraints retrieved from the system, a representation of the base 3D CAD Model; enabling the second user using the second user device, to input selections of and input values for predefined constraints, executable to alter the geometry of the base 3D CAD Model representing the product; receiving, by the at least one computing device, from the second user using the second user device, selections and values corresponding to constraint options and variables executable as geometric modifiers; executing the geometric modifiers, based on second user input, generating a modified version of the 3D CAD Model based on the second user input, and updating the displayed 3D CAD Models on the second user device; receiving, by the at least one computing device, from the second user using the second user device, order confirmation instructions for the current state of the modified 3D CAD Model, compiling the current state of the modified 3D CAD Model into a finalized 3D CAD Model, coupling the modified 3D CAD Model with the order confirmation information and sending the 3D CAD Model to an order aggregating data storage device; receiving, at an order aggregating device, associated with the at least one computing device, the finalized 3D CAD Model and order confirmation instructions, storing the order confirmation information as meta-data relating the order requirements; instructing, by the at least one computing device, the 3D printer to print the at least one 3D CAD Model representing the product in the order aggregation device; and transmitting, by the at least one computing device, the data of the tray file to the at least one respective 3D printer arranged to receive the data to do so.