IP Library › Granted Patent US 9,946,816
Granted Patent B2
US 9,946,816 · App. 14/217,811 · Granted Apr 17, 2018

System for visualizing a three dimensional (3D) model as printed from a 3D printer

Inventors: Walter Kim (San Francisco, CA); Tolga Kurtoglu (San Jose, CA); Saigopal Nelaturi (Palo Alto, CA); Arvind Rangarajan (Santa Clara, CA)
Assignee: Palo Alto Research Center Incorporated
G06F17/5009G06T17/00G06T19/00G06T2219/008
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 9,946,816
App. No.
14/217,811
Granted
Apr 17, 2018
Kind
B2
Abstract

A system and a method visualize three dimensional (3D) printability of a 3D model. A 3D printing process of the 3D model is simulated to generate a layered 3D model describing the 3D model as printed. A visual rendering of the layered 3D model is generated, and the visual rendering of the layered 3D model is displayed on a display device.

Claims (60)

1. A system for visualizing three dimensional (3D) printability of a 3D model, 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 for the simulation, (i) selection of a printing material to be used in the actual 3D printing process and for the simulation, (ii) selection of (a) a type of 3D printing process to be used in the actual 3D printing process, (b) a thickness of layers for the actual 3D printing process, and (c) a smallest printable feature defined by one of a nozzle and a laser beam to be used in the actual 3D printing process;

generate a visual rendering of the layered simulated 3D model including highlighting of regions of the layered simulated 3D model differing from the 3D model, wherein the 3D model is an originally received model; and

display the visual rendering of the layered simulated 3D model on a display device, wherein the layered 3D model is generated with unprintable regions and displayed with color coding to allow a user to identify defects in the original 3D model;

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:

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;

simulate printing of the slices to identify corresponding printable slices; and

combine the printable slices into the layered simulated 3D model.

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

generate one of the slices by intersecting a 2D plane with a normal parallel to a build orientation of the 3D model at a height of the corresponding print layer.

4. The system according to claim 2 , wherein the simulation simulates printing of one of the slices to identify a corresponding printable slice by translating the smallest printable feature within a boundary of the slice or along a user-defined tool path, wherein the smallest printable feature is modeled with a circular disc, allowing computations to be directly formulated on polygons that define the boundary of the slice.

5. The system according to claim 2 , wherein the simulation simulates printing of one of the slices to identify a corresponding printable slice by calculating a morphological opening of the slice by a structuring element representing the smallest printable feature.

6. The system according to claim 2 , wherein the combining includes:

extruding the printable slices in a print direction by a distance equal to layer thickness of 3D printing process; and

placing the extruded printable slices in the layered simulated 3D model at heights of the corresponding print layers.

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

generate a displacement map, as part of the simulation of the actual 3D printing process, mapped to a surface of the layered simulated 3D model from a shape of a segment of 3D printed material generated according to the 3D printing process, wherein the displacement map is given by an image, data in the image determining displacement geometry at a stage of rendering pixels, and the data being used to calculate normals per-pixel to compute lighting effects and to calculate displacement to determine which part of the geometry will be visible to a camera for each pixel that is rendered, wherein noise is incorporated into an image defining the displacement map, an amount of the noise incorporated being determined to reflect roughness inherent in surfaces of an object produced by the actual 3D printing process; and

generate the visual rendering with the displacement map.

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

select a material shader for a print material selected by a user; and

generate the visual rendering with the material shader.

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

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;

simulate printing of the slices to identify corresponding printability maps, the printability maps partitioning the slices into at least two sets of disjoint regions, the at least two sets of regions including a set of regions formed of features smaller than a minimum printable feature and a set of regions formed of features larger than the minimum printable feature;

combine the printability maps into the layered simulated 3D model; and

generate a visual rendering of the layered simulated 3D model in which the at least two sets of regions are displayed differently.

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 simulate printing of multiple layers of the 3D model in parallel to generate the layered simulated 3D model.

11. A method for visualizing three dimensional (3D) printability of a 3D model, said method comprising:

simulating by at least one processor an actual 3D printing process of the 3D model to generate a layered simulation 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, for the simulation, (i) selection of a printing material to be used in the actual 3D printing process and, for the simulation, (ii) selection of (a) a type of actual 3D printing process to be used in the actual 3D printing process, (b) a thickness of layers of the actual printing process in the actual 3D printing process, and (c) a smallest printable feature defined by one of a nozzle and a laser beam to be used in the actual 3D printing process for the simulation;

generating by the at least one processor a visual rendering of the layered simulated 3D model including highlighting of regions of the layered simulated 3D model differing from the 3D model, wherein the 3D model is an originally received model; and

displaying by the at least one processor the visual rendering of the layered 3D model on a display device, wherein the layered 3D model is generated with unprintable regions and displayed with color coding to allow a user to identify defects in the original 3D model;

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

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

simulating printing of the slices to identify corresponding printable slices; and

combining the printable slices into the layered simulated 3D model.

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

generating one of the slices by intersecting a 2D plane with a normal parallel to a build orientation of the 3D model at a height of the corresponding print layer.

14. The method according to claim 12 , wherein the simulation simulates printing of one of the slices to identify a corresponding printable slice by translating the smallest printable feature within a boundary of the slice or along a user-defined tool path and wherein the smallest printable feature is modeled with a circular disc, allowing computations to be directly formulated on polygons that define the boundary of the slice.

15. The method according to claim 12 , wherein the simulation simulates printing of one of the slices to identify a corresponding printable slice by calculating a morphological opening of the slice by a structuring element representing the smallest printable feature.

16. The method according to claim 12 , wherein the combining includes:

extruding the printable slices in a print direction by a distances equal to layer thickness of 3D printing process; and

placing the extruded printable slices in the layered simulated 3D model at heights of the corresponding print layers.

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

generating a displacement map mapped to a surface of the layered 3D model from a shape of a segment of 3D printed material generated according to the 3D printing process, wherein noise is incorporated into an image defining the displacement map, an amount of the noise incorporated being determined to reflect roughness inherent in surfaces of an object produced by the actual 3D printing process; and

generating the visual rendering with the displacement map.

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

selecting a material shader for a print material selected by a user; and

generating the visual rendering with the material shader.

19. A system for visualizing three dimensional (3D) printability of a 3D model, 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 for the simulation, (i) selection of a printing material to be used in the actual 3D printing process and for the simulation, (ii) selection of (a) a type of 3D printing process to be used in the actual 3D printing process, (b) a thickness of layers for the actual 3D printing process, and (c) a smallest printable feature model defined by one of a nozzle and a laser beam to be used in the actual 3D printing process;

select a material shader for a print material selected by a user;

generate a displacement map as part of the simulation of the 3D printing process mapped to a surface of the layered 3D model from a shape of a segment of 3D printed material generated according to the 3D printing process, wherein the displacement map is given by a greyscale image, data in the greyscale image determining displacement geometry at a stage of rendering pixels, and the data being used to calculate normals per-pixel to compute lighting effects and to calculate displacement to determine which part of the geometry will be visible to a camera for each pixel that is rendered;

generate a visual rendering of the layered 3D model with the displacement map and the material shader including highlighting of regions of the layered 3D model differing from the 3D model, wherein the 3D model is an originally received model; and

display the visual rendering of the layered 3D model on a display device, wherein the layered 3D model is generated with unprintable regions and displayed with color coding to allow a user to identify defects in the original 3D model;

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

20. The system according to claim 7 , wherein the image which gives the displacement map is a greyscale image.

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: KIM, WALTER; KURTOGLU, TOLGA; NELATURI, SAIGOPAL; RANGARAJAN, ARVIND
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 032463/0428 →
Continuity (1)
Related Publication 20150269289A1 · Sep 24, 2015