IP Library › Granted Patent US 10,824,134
Granted Patent B2
US 10,824,134 · App. 15/796,113 · Granted Nov 3, 2020

Automated layout of part instances on build plate

Inventors: Jonathan Schwartz (New York City, NY); Max Friefeld (New York City, NY); Oliver Ortlieb (New York City, NY)
Assignee: Voodoo Manufacturing, Inc.
G05B19/4099B29C64/393B33Y50/02G05B19/4063B29C64/386B33Y50/00G05B19/41865G05B2219/35134G05B2219/35161G05B2219/35214G05B2219/49004G05B2219/49005G05B2219/49007Y02P90/18Y02P90/20Y02P90/265
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,824,134
App. No.
15/796,113
Granted
Nov 3, 2020
Kind
B2
Abstract

A factory server receives part requests from customer devices and controls one or more manufacturing tools, such as 3D printers, to fabricate the requested parts. The factory server implements several features to streamline the process of fabricating parts using the manufacturing tools. For instance, the factory server can facilitate the design of a part by extracting features from the part request and identifying model files having those features. The factory server can also select an orientation in which to fabricate the part and determine print settings to use when fabricating the part. In addition, the factory server can implement a process to fabricate a three-dimensional part with a two-dimensional image applied to one or more of its external surfaces. Furthermore, the factory server can also generate a layout of multiple part instances on a build plate of a 3D printer so that multiple part instances can be fabricated at once.

Claims (50)

1. A method comprising:

obtaining one or more model files of parts to be fabricated by a three-dimensional (3D) printer and a number of instances of each part to fabricate;

for each instance of each part to be fabricated, creating a two-dimensional (2D) footprint of the part instance, each 2D footprint representing a region on a build plate of the 3D printer encompassing the corresponding part instance;

adding a buffer zone to each 2D footprint by:

identifying a centroid of the 2D footprint; and

scaling the 2D footprint by a fixed percentage around the centroid;

generating a layout of part instances on the build plate by arranging a plurality of the 2D footprints on the build plate;

generating manufacturing instructions for the layout of part instances; and

controlling the 3D printer according to the manufacturing instructions to fabricate the layout of part instances.

2. The method of claim 1 , further comprising defining a printable area of the build plate, the printable area covering a first portion of the build plate and not covering a second portion of the build plate, the second portion of the build plate having edges corresponding to edges of the build plate.

3. The method of claim 2 , wherein the plurality of the 2D footprints are arranged within the printable area of the build plate.

4. The method of claim 1 , further comprising determining, for at least one of the parts to be fabricated, an orientation of the part on the build plate.

5. The method of claim 1 , wherein generating manufacturing instructions for the layout of the part instances comprises:

after generating the layout of part instances, generating a combined model file representing the layout of part instances; and

generating manufacturing instructions for the combined model file.

6. The method of claim 1 , wherein generating manufacturing instructions for the layout of the part instances comprises:

generating separate manufacturing instructions for each of the model files; and

after generating the layout of part instances on the build plate, joining one or more of the separate manufacturing instructions to form manufacturing instructions for the layout of the part instances.

7. The method of claim 1 , wherein each 2D footprint is a projection of the part instance onto the build plate.

8. The method of claim 1 , wherein arranging the plurality of the 2D footprints on the build plate comprises performing a bin packing algorithm on the plurality of the 2D footprints to maximize a number of 2D footprints within the build plate.

9. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon, the instructions when executed by a processor causing the processor to perform operations comprising:

obtaining one or more model files of parts to be fabricated by a three-dimensional (3D) printer and a number of instances of each part to fabricate;

for each instance of each part to be fabricated, creating a two-dimensional (2D) footprint of the part instance, each 2D footprint representing a region on a build plate of the 3D printer encompassing the corresponding part instance;

adding a buffer zone to each 2D footprint by:

identifying a centroid of the 2D footprint; and

scaling the 2D footprint by a fixed percentage around the centroid;

generating a layout of part instances on the build plate by arranging a plurality of the 2D footprints on the build plate;

generating manufacturing instructions for the layout of part instances; and

controlling the 3D printer according to the manufacturing instructions to fabricate the layout of part instances.

10. The non-transitory computer-readable storage medium of claim 9 , the operations further comprising defining a printable area of the build plate, the printable area covering a first portion of the build plate and not covering a second portion of the build plate, the second portion of the build plate having edges corresponding to edges of the build plate.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the plurality of the 2D footprints are arranged within the printable area of the build plate.

12. The non-transitory computer-readable storage medium of claim 9 , the operations further comprising determining, for at least one of the parts to be fabricated, an orientation of the part on the build plate.

13. A computing system comprising:

a processor; and

a non-transitory computer-readable storage medium having computer-executable instructions stored thereon, the instructions when executed by the processor causing the processor to perform operations comprising:

obtaining one or more model files of parts to be fabricated by a three-dimensional (3D) printer and a number of instances of each part to fabricate;

for each instance of each part to be fabricated, creating a two-dimensional (2D) footprint of the part instance, each 2D footprint representing a region on a build plate of the 3D printer encompassing the corresponding part instance;

adding a buffer zone to each 2D footprint by:

identifying a centroid of the 2D footprint; and

scaling the 2D footprint by a fixed percentage around the centroid;

generating a layout of part instances on the build plate by arranging a plurality of the 2D footprints on the build plate;

generating manufacturing instructions for the layout of part instances; and

controlling the 3D printer according to the manufacturing instructions to fabricate the layout of part instances.

14. The system of claim 13 , the operations further comprising defining a printable area of the build plate, the printable area covering a first portion of the build plate and not covering a second portion of the build plate, the second portion of the build plate having edges corresponding to edges of the build plate.

15. The system of claim 13 , the operations further comprising determining an orientation for each part.

16. The system of claim 13 , wherein determining an orientation for each part comprises selecting an orientation of the part perpendicular to a largest exterior flat surface of the part.

17. The system of claim 13 , wherein, for each instance of each part to be fabricated, creating a two-dimensional (2D) footprint of the part instance comprises computing a projection of the part instance onto a plane of the build plate.

18. The system of claim 13 , wherein arranging the plurality of the 2D footprints on the build plate comprises performing a sprite packing algorithm on the plurality of the 2D footprints to maximize a number of 2D footprints within the build plate.

19. The system of claim 13 , the operations further comprising defining a non-printable area along edges of the build plate, wherein the non-printable area has a width along each edge of the build plate that is a fixed percentage of a build plate dimension in a direction perpendicular to the edge.

20. The system of claim 13 , the operations further comprising defining a non-printable area along edges of the build plate, wherein the non-printable area has a fixed width on all edges of the build plate.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2020
From: VOODOO MANUFACTURING, INC
To: DESPREZ LLC
Reel/Frame 054410/0381 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2017
From: SCHWARTZ, JONATHAN; FRIEFELD, MAX; ORTLIEB, OLIVER
To: VOODOO MANUFACTURING, INC.
Reel/Frame 044035/0071 →
Continuity (2)
Provisional Application 62413692 · Oct 27, 2016
Related Publication 20180120817A1 · May 3, 2018
Cited By (1)
US 12,430,747