IP Library Granted Patent US 10,061,870
Granted Patent B2
US 10,061,870 · App. 14/217,854 · Granted Aug 28, 2018

Automated metrology and model correction for three dimensional (3D) printability

Inventors: Saigopal Nelaturi (Palo Alto, CA); Walter Kim (San Francisco, CA); Arvind Rangarajan (Santa Clara, CA); Tolga Kurtoglu (San Jose, CA)
Assignee: Palo Alto Research Center Incorporated
G06F17/50G06F17/5086G06T19/00B33Y50/00G06F2217/12G06T2219/008Y02P90/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,061,870
App. No.
14/217,854
Granted
Aug 28, 2018
Kind
B2
Abstract

A system and a method automate metrology, measurement, and model correction of a three dimensional (3D) model for 3D printability. Slices of the 3D model are received or generated. The slices represent 2D solids of the 3D model to be printed in corresponding print layers. Medial axis transforms of the slices are calculated. The medial axis transforms represent the slices in terms of corresponding medial axes. A local feature size at any point along a boundary of the slices is determined as the shortest distance from the point to a corresponding medial axis.

Claims (67)

1. A system to improve output operation of a 3D printer including a system for automated metrology, measurement, and model correction of a three dimensional (3D) model to ensure 3D printability and manufacturability of the 3D model as a physical object, said system comprising:

at least one processor configured to:

simulate an actual 3D printing process of the 3D model to generate a layered simulated 3D model describing the 3D model as it is to be printed, wherein operations to simulate the actual 3D printing process of the 3D model includes global model correction and local model correction being available;

receive or generate slices of the 3D model, the slices representing two dimensional (2D) solids of the 3D model to be printed in corresponding print layers;

calculate medial axis transforms of the slices, the medial axis transforms representing the slices in terms of corresponding medial axes, wherein a medial axis transform is a representation of a shape in terms of a lower dimensional medial axis that represents a focus of centers of maximal inscribed discs that are completely contained inside the shape, a medial axis topologically equivalent to the shape, and a local feature size at a point “x” on a boundary of the shape is thus the radius of the disc that is tangent to the shape at “x”;

determine the local feature size at any point along the boundary of the slices as the shortest distance from the point to a corresponding medial axis, wherein the local feature size defined in terms of the medial axis transform is used to automatically identify regions that require a differential addition of material to ensure manufacturability at regions including at least one of walls, bridges, protrusions, and holes, and wherein topological consistency between parts of the 3D model before and after manufacture is maintained;

generate a visual rendering of the layered simulated 3D model;

display the visual rendering of the layered 3D model on a display device; and

control a 3D printer to physically print the 3D model according to the layered simulated 3D model.

2. The system according to claim 1 , wherein the at least one processor is further configured to:

generate each of the slices by intersecting a 2D plane parallel to a build orientation of the 3D model at a height of the corresponding print layer, subsequent to or concurrent therewith, the slices are regularized, wherein a regularized slice is a topological closure of an interior of the slice, and the regularization of the slices are performed through application of Boolean operations to automatically merge disjoint but overlapping components in the slices, the merging giving a set of regularized planar solids for the slices, wherein each solid is bounded by a polygon and a defined interior.

3. The system according to claim 1 , wherein the at least one processor is further configured to:

compare the local feature size to a threshold feature size to determine a deviation; and

display the deviation to a user by a display device.

4. The system according to claim 3 , wherein the threshold feature size is one of a minimum printable feature size, a minimum recommended feature size for a print material selected by a user, and a feature size specified by the user.

5. The system according to claim 1 , wherein the at least one processor is further configured to:

simulate printing of the slices to identify corresponding printability maps, each printability map partitioning a slice into at least two disjoint sets of regions, the at least two disjoint sets including a first set of regions formed of features sized smaller than a threshold feature size and a second set of regions formed of features sized larger than the threshold feature, wherein the printability maps are used for visualizing the 3D model, and for the automated metrology and the model correction of the 3D model, wherein regions in the 3D model that require modification for additive manufacturing are identified in each of the printability maps, these regions corresponding to at least one of weakly printable regions, and unprintable regions, the identified regions then being automatically modified to ensure printability.

6. The system according to claim 5 , wherein the threshold feature size is one of a minimum printable feature size, a minimum recommended feature size for a print material selected by a user, and a feature size specified by the user.

7. The system according to claim 5 , wherein the at least one processor is further configured to:

quantify deviations between designed and manufactured geometries by determining the difference between the threshold feature size and a local feature size at any point along a boundary of the first set that overlaps with a boundary of the slice, the local feature size being the shortest distance from the point to a corresponding medial axis of the slice.

8. The system according to claim 5 , wherein the at least one processor is further configured to:

automatically or manually determine corrections to the 3D model; and

display the determined corrections to a user by a display device.

9. The system according to claim 5 , wherein the at least one processor is further configured to:

identify a largest local feature size of the second set for each of the slices;

determine a padding value for each slice of the 3D model or for the entire 3D model from the largest local feature sizes of the slices; and

thicken each of the slices by the corresponding padding value.

10. The system according to claim 1 , wherein the at least one processor includes a plurality of processors, and wherein the plurality of processors are configured to simultaneously calculate medial axis transforms of a plurality of the slices in parallel.

11. A method to improve output operation of a 3D printer including a method for automated metrology, measurement, and model correction of a three dimensional (3D) model to ensure 3D printability and manufacturability of the 3D model as a physical object, said method comprising:

simulating an actual 3D printing process of the 3D model to generate a layered simulated 3D model describing the 3D model as it is to be printed, wherein operations to simulate the actual 3D printing process of the 3D model includes global model correction and local model correction being available;

receiving or generating by at least one processor slices of the 3D model, the slices representing two dimensional (2D) solids of the 3D model to be printed in corresponding print layers;

calculating by the at least one processor medial axis transforms of the slices, the medial axis transforms representing the slices in terms of corresponding medial axes, wherein a medial axis transform is a representation of a shape in terms of a lower dimensional medial axis that represents a focus of centers of maximal inscribed discs that are completely contained inside the shape, a medial axis topologically equivalent to the shape, and a local feature size at a point “x” on a boundary of the shape is thus the radius of the disc that is tangent to the shape at “x”;

determining by the at least one processor the local feature size at any point along the boundary of the slices as the shortest distance from the point to a corresponding medial axis, wherein the local feature size defined in terms of the medial axis transform is used to automatically identify regions that require a differential addition of material to ensure manufacturability at regions including at least one of walls, bridges, protrusions, and holes, and wherein topological consistency between parts of the 3D model before and after manufacture is maintained;

generating a visual rendering of the layered simulated 3D model;

displaying the visual rendering of the layered 3D model on a display device; and

controlling a 3D printer to physically print the 3D model according to the layered simulated 3D model.

12. The method according to claim 11 , further including:

generating one of the slices by intersecting a 2D plane parallel to a build orientation of the 3D model at a height of the corresponding print layer, subsequent to or concurrent therewith, the slices are regularized, wherein a regularized slice is a topological closure of an interior of the slice, and the regularization of the slices are performed through application of Boolean operations to automatically merge disjoint but overlapping components in the slices, the merging giving a set of regularized planar solids for the slices, wherein each solid is bounded by a polygon and a defined interior.

13. The method according to claim 11 , further including:

comparing the local feature size to a threshold feature size to determine a deviation, the threshold feature size being one of a minimum printable feature size, a minimum recommended feature size for a print material selected by a user, and a feature size specified by the user; and

displaying the deviation to a user by a display device.

14. The method according to claim 11 , further including:

simulating printing of the slices to identify corresponding printability maps, each printability map partitioning a slice into at least two disjoint sets of regions, the at least two disjoint sets including a first set of regions formed of features sized smaller than a threshold feature size and a second set of regions formed of features sized larger than the threshold feature, wherein the printability maps are used for visualizing the 3D model, and for the automated metrology and model correction of the 3D model, wherein regions in the 3D model that require modification for additive manufacturing are identified in each of the printability maps, these regions corresponding to at least one of weakly printable regions, and unprintable regions, the identified regions then being automatically modified to ensure printability.

15. The method according to claim 14 , wherein the threshold feature size is one of a minimum printable feature size, a minimum recommended feature size for a print material selected by a user, and a feature size specified by the user.

16. The method according to claim 14 , further including:

quantifying deviations between designed and manufactured geometries by determining the difference between the threshold feature size and a local feature size at any point along a boundary of the first set that overlaps with a boundary of the slice, the local feature size being the shortest distance from the point to a corresponding medial axis of the slice.

17. The method according to claim 14 , further including:

automatically or manually determine corrections to the 3D model; and

display the determined correction to a user by a display device.

18. The method according to claim 14 , further including:

identifying a largest local feature size of the second set for each of the slices;

determining a padding value for each slice of the 3D model or for the entire 3D model from the largest local feature sizes of the slices; and

thickening each of the slices by a corresponding padding value.

19. A system to improve output operation of a 3D printer including a system for automated metrology, measurement, and model correction of a three dimensional (3D) model to ensure 3D printability and manufacturability of the 3D model as a physical object, said system comprising:

at least one processor configured to:

simulate an actual 3D printing process of the 3D model to generate a layered simulated 3D model describing the 3D model as it is to be printed, wherein operations to simulate the actual 3D printing process of the 3D model includes global model correction and local model correction being available;

receive or generate slices of the 3D model, the slices representing two dimensional (2D) solids of the 3D model to be printed in corresponding print layers;

calculate medial axis transforms of the slices, the medial axis transforms representing the slices in terms of corresponding medial axes, wherein a medial axis transform is a representation of a shape in terms of a lower dimensional medial axis that represents a focus of centers of maximal inscribed discs that are completely contained inside the shape, a medial axis topologically equivalent to the shape, and local feature size at a point “x” on a boundary of the shape is thus the radius of the disc that is tangent to the shape at “x”;

identify segments of the medial axes where thickening the slices does not change topology and continuity of the slices;

thicken the slices up to a threshold feature size along the identified segments,

user selection of a print material to be used to represent the received or generated slices of the 3D model and parameters of a 3D printing process to be used for a simulation of printing of the 3D model, the parameters including a process type, and one of a printing nozzle and laser beam diameter,

generate a visual rendering of the layered simulated 3D model;

display the visual rendering of the layered 3D model on a display device;

a 3D printer configured to receive data from the at least one processor and to print a 3D physical object in accordance with the data received from the at least one processor; and

control a 3D printer to physically print the 3D model according to the layered simulated 3D model.

20. The system of claim 1 wherein (i) the global model correction includes a step to determine a least upper bound for each of the printability maps, the least upper bounds for the printability maps being a measure of a largest local feature size of the identified regions of the printability maps that are smaller than the minimum printable or recommended feature size, the least upper bound for the printability maps determined as a maximum local feature size of the identified regions of the printability maps, and the determined least upper bounds of the printability maps being used to determine padding values for each slice of the 3D model or the entire 3D model, (ii) the local model correction includes a step which prunes the medial axis of each slice by removing segments that contact the slice boundary, the pruned medial axes being used to locally thicken corresponding slices to the minimum printable or recommended feature size, wherein local thickening includes determining a corrected slice for each slice of the corresponding pruned medial axis and a structuring element representing the desired thickness, the structuring element suitably sized to model the minimum printable or recommended feature size.

21. The system of claim 20 wherein in the local model correction the slices are not uniformly thickened causing changes in topology and continuity at points common to the boundary of the slice before and after correction, wherein changes in topology occur by a change in connectivity or a change in the number of holes, wherein changes in continuity occur by qualitative changes in the form of the 3D model, and changes in continuity or topology after local model correction act as an indication of a need for re-design of the simulated 3D object.

Assignments (9)
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2014
From: NELATURI, SAIGOPAL; KIM, WALTER; RANGARAJAN, ARVIND; KURTOGLU, TOLGA
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 032463/0123 →
Continuity (1)
Related Publication 20150269282A1 · Sep 24, 2015
Cited By (5)
US 12,223,230 US 12,285,916 US 12,499,494 US 12,523,982 US 12,585,243