A computer-implemented method comprising: receiving, by a server and from a designer device, data defining a shape of a particular object; receiving, by the server and from the designer device, digital rights for printing the particular object, comprising receiving digital rights defining that the particular object can be printed by a user a particular number of times; receiving, by the server and from a consumer device, a request for objects that are stored by the server, the objects including a particular object; providing, by the server and to the consumer device, information describing the objects that are stored by the server; receiving, by the server and from the consumer device, a request for digital rights for printing the objects (130, 350) that are stored by the server; providing, by the server and to the consumer device, a description of the digital rights for printing the objects (132, 360) that are stored by the server; receiving, by the server and from the consumer device, a request to print the particular object by a particular printer (134, 370); determining, by the server, whether the digital rights for printing the particular object permit the request to print the particular object by the particular printer to be fulfilled (136, 380), comprising determining, by the server and based on a print count of the particular object for the user, that the user has printed the particular object less than the particular number of times defined by the digital rights for printing the particular object; in response to determining that the digital rights for printing the particular object permit the request to print the particular object by the particular printer to be fulfilled, generating, from data defining a shape of the particular object, printer instructions (140, 390) for printing the object; providing the printer instructions to a printer controller that controls the particular printer (142, 392) receiving, by the server and from the printer controller, an acknowledgment that the particular object was successfully printed by the particular printer; and in response to receiving, by the server and from the printer controller, the acknowledgment that the particular object was successfully printed by the particular printer, incrementing, by the server, the print count of the particular object for the user. receiving, by a server and from a designer device, data defining a shape of a particular object; receiving, by the server and from the designer device, digital rights for printing the particular object, comprising receiving digital rights defining that the particular object can be printed by a user a particular number of times; receiving, by the server and from a consumer device, a request for objects that are stored by the server, the objects including a particular object; providing, by the server and to the consumer device, information describing the objects that are stored by the server; receiving, by the server and from the consumer device, a request for digital rights for printing the objects (130, 350) that are stored by the server; providing, by the server and to the consumer device, a description of the digital rights for printing the objects (132, 360) that are stored by the server; receiving, by the server and from the consumer device, a request to print the particular object by a particular printer (134, 370); determining, by the server, whether the digital rights for printing the particular object permit the request to print the particular object by the particular printer to be fulfilled (136, 380), comprising determining, by the server and based on a print count of the particular object for the user, that the user has printed the particular object less than the particular number of times defined by the digital rights for printing the particular object; in response to determining that the digital rights for printing the particular object permit the request to print the particular object by the particular printer to be fulfilled, generating, from data defining a shape of the particular object, printer instructions (140, 390) for printing the object; providing the printer instructions to a printer controller that controls the particular printer (142, 392) receiving, by the server and from the printer controller, an acknowledgment that the particular object was successfully printed by the particular printer; and in response to receiving, by the server and from the printer controller, the acknowledgment that the particular object was successfully printed by the particular printer, incrementing, by the server, the print count of the particular object for the user.