Systems, methods and file format for 3D printing of microstructures
Systems, methods, and new file formats are provided for printing 3D microstructures. In some implementations, a new file format is provided that defines 3D objects by a wireframe model expressed as a collection of wires. Because wires and their parameters are defined within the new file format, objects may be processed more efficiently and quickly to support 3D rendering operations. Such methods may be used to print new articles, such as eyelashes, bushes, swabs and other novel items.
1. A computer program product embodied in a non-transitory computer-readable medium for controlling 3D printing, the computer program product comprising computer-readable code for representing a data structure of a 3D object, that when interpreted by a computer system, causes the computer system to control a 3D printing operation of the 3D object in response in part to the data structure;
wherein the data structure comprising:
a first data block encoding node information, the node information identifying a plurality of 3D coordinates defining a plurality of nodes within a 3D wireframe object;
a second data block encoding wire information, the wire information identifying at least one wire object, the wire information including a plurality of indices corresponding to respective nodes of the plurality of nodes defined in the first data block to represent two or more nodes of the at least one wire object, the wire information encoded in the data structure further identifies one or more attributes including at least a respective diameter associated with each of the two or more nodes of the at least one wire object that form a central spine object comprising a plurality of lines that collectively identify the at least one wire object within the 3D wireframe object; and
shell information encoded in the data structure, the shell information identifying a surface to which the at least one wire object attaches.
2. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a populate function that defines a repetitive duplication of the at least one wire object to multiple points on the surface.
3. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a blended function that is adapted to blend at least two geometries.
4. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises mesh information describing a legacy mesh geometry.
5. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a branch function that describes one or more child objects attached to the at least one wire object.
6. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a parameter that controls at least one of a thickness, shape and/or twist of the at least one wire object.
7. The non-transitory computer-readable medium according to claim 1 , wherein the data structure that encodes the 3D object, when received and interpreted by a computer system, causes the computer system to render a representation of the 3D object.
8. The non-transitory computer-readable medium according to claim 1 , wherein the data structure, when received and interpreted by a computer system, causes the computer system to generate a 3D swab or applicator.
9. The non-transitory computer-readable medium according to claim 1 , wherein the data structure is configured to cause a computer system to generate a blended design of at least two designs.
10. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a volumetric mapping function.
11. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises information identifying an array of vertices of the 3D wireframe object.
12. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises information identifying vertices that define a central polyline spine of the at least one wire object.
13. The non-transitory computer-readable medium according to claim 12 , wherein the data structure further comprises a diameter of the at least one wire object at each of the vertices.
14. The non-transitory computer-readable medium according to claim 12 , wherein the data structure further comprises rotation information of the at least one wire object along its vertices.
15. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises information identifying a normal direction of a start face at a start point of the at least one wire object.
16. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a parameter that controls a thickness of the at least one wire object.
17. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a parameter that controls a shape and/or twist of the at least one wire object.
18. The non-transitory computer-readable medium according to claim 1 , wherein the data structure further comprises a parameter that controls a twist of the at least one wire object.
19. The non-transitory computer-readable medium according to claim 1 , wherein the one or more attributes associated with each of the two or more nodes of the plurality of nodes further comprise a respective twist angle.