SYSTEMS AND METHODS FOR 3D SCRIPTING LANGUAGE FOR MANIPULATION OF EXISTING 3D MODEL DATA
As three-dimensional (3D) printing and additive manufacturing becomes a way for individuals and companies to distribute physical goods, there is a growing need for creators of physical goods to enable customers to customize 3D printed objects while protecting core electronic assets in the form of the files used to define and print the objects. Server-side rendering of 3D object images provides an opportunity to protect 3D object files while offering performance advantages. A scripting language may be central to delivering a seamless user experience interacting with 3D object models on client devices. Object creators and vendors may rely on the scripting language to create user interfaces for selling customizable objects. And once the user interface is developed, it may provide the basis for users accessing, viewing, manipulating, selecting materials, rendering, pricing, and printing a range of 3D objects.
1 . A computer implemented method comprising acts of:
displaying, to a user interacting with the display of a client computer, a presentation interface including a display interface configured to display an image relating to a computer representation of a three-dimensional object and a control interface configured to accept inputs capable of modifying parameters associated with the three-dimensional object, wherein the computer representation of the three-dimensional object comprises at least one script and a set of parameters;
accepting from a user a request for the image relating to a computer representation of a three-dimensional object, wherein the request includes an object identifier and at least one or more of the group comprising: parameter values, attributes, uniform resource identifiers, cache busting markers, material identifiers, and three-dimensional ray values;
transmitting the request to a server;
receiving the image from the server; and
displaying the image to the user.
2 . The method of claim 1 , wherein the computer representation of a three-dimensional object comprises an electronic file, the electronic file being different from the image.
3 . The method of claim 2 , wherein the image comprises a rasterized two-dimensional file.
4 . The method of claim 2 , wherein the image comprises a static three-dimensional file.
5 . The method of claim 2 further comprising acts of:
accepting from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
requesting, from the server, responsive to the user instructions, an updated image relating to the computer representation of the three-dimensional object, wherein the updated image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receiving, from the server, the updated image; and
displaying to the user the image within the presentation interface.
6 . The method of claim 2 further comprising acts of:
accepting from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
requesting, from the server, responsive to the user instructions, a cached image relating to the computer representation of the three-dimensional object, wherein the cached image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receiving, from the server, the cached image; and
displaying to the user the image within the presentation interface.
7 . The method of claim 2 further comprising acts of:
accepting from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
requesting, from the server, responsive to the user instructions, a cached image relating to the computer representation of the three-dimensional object, wherein the cached image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receiving, from the server, a message indicating that the cached image could not be found;
requesting, from the server, responsive to the user instructions, an updated image relating to the computer representation of the three-dimensional object, wherein the updated image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receiving, from the server, the updated image; and
displaying to the user the image within the presentation interface.
8 . The method of claim 5 further comprising acts of:
receiving from the user a request to render the computer representation of the three-dimensional object in a specific material;
requesting from the server an image representing the rendering of the three-dimensional object in the material;
receiving the image from the server; and
displaying the image to the user.
9 . The method of claim 8 further comprising acts of:
receiving from the user a request to download a file containing an electronic representation of the three-dimensional object;
requesting the file from the server;
receiving the file from the server; and
presenting the file to the user.
10 . The method of claim 8 further comprising acts of:
receiving from the server a price for printing the three-dimensional object in the material; and
displaying the price to the user.
11 . The method of claim 8 further comprising acts of:
receiving a request from the user to print the three-dimensional object with a printer;
transmitting the request to a server;
receiving a confirmation of the print request; and
displaying the confirmation to the user.
12 . The method of claim 1 further comprising acts of:
obtaining an identification of the user;
obtaining an identification of the computer representation of the three-dimensional object; and
generating a scene identification responsive to the user identification and the identification of the computer representation of the three-dimensional object.
13 . A computer system configured to:
display, to a user interacting with the display of a client computer, a presentation interface including a display interface configured to display an image relating to a computer representation of a three-dimensional object and a control interface configured to accept inputs capable of modifying parameters associated with the three-dimensional object, wherein the computer representation of the three-dimensional object comprises at least one script and a set of parameters;
accept from a user a request for the image relating to a computer representation of a three-dimensional object, wherein the request includes an object identifier and at least one or more of the group comprising: parameter values, attributes, uniform resource identifiers, cache busting markers, material identifiers, and three-dimensional ray values;
transmit the request to a server;
receive the image from the server; and
display the image to the user.
14 . The system of claim 13 , wherein the computer representation of a three-dimensional object comprises an electronic file, the electronic file being different from the image.
15 . The system of claim 14 , wherein the image comprises a rasterized two-dimensional file.
16 . The system of claim 14 , wherein the image comprises a static three-dimensional file.
17 . The system of claim 14 further configured to:
accept from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
request, from the server, responsive to the user instructions, an updated image relating to the computer representation of the three-dimensional object, wherein the updated image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receive, from the server, the updated image; and
display to the user the image within the presentation interface.
18 . The system of claim 14 further configured to:
accept from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
request, from the server, responsive to the user instructions, a cached image relating to the computer representation of the three-dimensional object, wherein the cached image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receive, from the server, the cached image; and
display to the user the image within the presentation interface.
19 . The system of claim 14 further configured to:
accept from the user interacting with the control interface, instructions to modify one or more parameters associated with the computer representation of the three-dimensional object;
request, from the server, responsive to the user instructions, a cached image relating to the computer representation of the three-dimensional object, wherein the cached image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receive, from the server, a message indicating that the cached image could not be found;
request, from the server, responsive to the user instructions, an updated image relating to the computer representation of the three-dimensional object, wherein the updated image reflects the modified computer representation of the three-dimensional object responsive to the modified one or more parameters;
receive, from the server, the updated image; and
display to the user the image within the presentation interface.
20 . The system of claim 17 further configured to:
receive from the user a request to render the computer representation of the three-dimensional object in a specific material;
request from the server an image representing the rendering of the three-dimensional object in the material;
receive the image from the server; and
display the image to the user.
21 . The system of claim 20 further configured to:
receive from the user a request to download a file containing an electronic representation of the three-dimensional object;
request the file from the server;
receive the file from the server; and
present the file to the user.
22 . The system of claim 20 further configured to:
receive from the server a price for printing the three-dimensional object in the material; and
display the price to the user.
23 . The system of claim 20 further configured to:
receive a request from the user to print the three-dimensional object with a printer;
transmit the request to a server;
receive a confirmation of the print request; and
display the confirmation to the user.
24 . The system of claim 13 further configured to:
obtain an identification of the user;
obtain an identification of the computer representation of the three-dimensional object; and
generate a scene identification responsive to the user identification and the identification of the computer representation of the three-dimensional object.