IP Library › Granted Patent US 10,891,786
Granted Patent B2
US 10,891,786 · App. 16/331,373 · Granted Jan 12, 2021

Generating data for a three-dimensional (3D) printable object, including a truss structure

Inventors: Jun Zeng (Palo Alto, CA); Ana Del Angel (Guadalajara, MX); Scott White (Sant Cugat del Valles, ES)
Assignee: Hewlett-Packard Development Company, L.P.
G06T17/005G05B19/408G05B19/4097G06F30/00G06T17/20G05B2219/49007G06F2119/18
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,891,786
App. No.
16/331,373
Granted
Jan 12, 2021
Kind
B2
Abstract

A computer program product for generating data for a three-dimensional (3D) printable object includes a computer readable storage medium. The computer readable storage medium includes computer usable program code embodied therewith. The computer usable program code, when executed by a processing device converts mesh data into a volumetric voxel data set. The voxel data set is organized as an N-ary tree defining at least a portion of the 3D printable object. The computer usable program code converts the N-ary tree of the voxel data set into print instructions defining a truss structure, and prints the 3D object including the truss structure.

Claims (57)

1. A computer program product for generating data for a three-dimensional (3D) printable object, the computer program product comprising:

a non-transitory computer readable storage medium comprising computer usable program code embodied therewith, the computer usable program code to, when executed by a processing device:

convert mesh data into a volumetric voxel data set, the voxel data set being organized as an N-ary tree defining at least a portion of the 3D printable object;

convert the N-ary tree of the voxel data set into print instructions defining a truss structure as volumetric infill within voxels of the 3D printable object; and

print the 3D object including the truss structure.

2. The computer program product of claim 1 , further comprising computer usable program code to, when executed by the processing device, assign a scalar value to each voxel.

3. The computer program product of claim 2 , further comprising computer usable program code to, when executed by the processing device, assign a volumetric property to each voxel, the volumetric property defining a type of energy potential.

4. The computer program product of claim 3 , further comprising computer usable program code to, when executed by the processing device:

identify within the N-ary tree data differences in the volumetric property between the voxels within the voxel data set;

if the two neighboring voxels have a volumetric property greater than a first threshold:

divide the relatively larger of the two neighboring voxels into N-number of three-dimensional divisions;

interpolate the volumetric property of the N-number of three-dimensional divisions; and

mark the relatively larger voxel as a non-leaf node in the N-ary tree;

if a first voxel has a maximum difference in volumetric property lower than a second threshold relative to the first voxel's siblings:

remove the first voxel and its siblings from the N-ary tree;

mark the parent node of the first voxel and its siblings as a leaf node; and

assign a subsequent volumetric property value to the parent node based on an average of the volumetric properties of the first voxel and its siblings.

5. The computer program product of claim 4 , further comprising computer usable program code to, when executed by the processing device, for a number of iterations:

assign a material property to each voxel in the N-ary tree data based on each of the voxels' respective scalar values, each of the scalar values corresponding to a size of the voxels, respectively;

perform a finite element analysis based on the material property and scalar values of each voxel; and

generate a new material property based on a computed strain energy gradient; and

map the new material property to the scalar value; and

based on the scalar value, adjust the size of the voxels through merging or subdividing operations.

6. The computer program product of claim 1 , further comprising computer usable program code to, when executed by the processing device:

generate a shell structure to enclose the 3D object, the shell structure being defined by removing voxel data from the volumetric voxel data set that has a distance value larger than a defined shell thickness; and

print the shell structure.

7. The computer program product of claim 1 , wherein the mesh data defines a scanned image of an object.

8. The computer program product of claim 1 , wherein conversion of the mesh file into the volumetric voxel set is performed in parallel for a plurality of groups of N-ary tree data by a graphic processing unit (GPU).

9. A system for generating data for a three-dimensional (3D) printable object comprising:

a 3D printing device;

a data storage device to store computer usable program code; and

a processing device to execute the computer usable program code, the computer usable program code to, when executed by the processing device:

convert mesh data representing the 3D printable object into a volumetric voxel data set, the voxel data set being organized as an octree defining the 3D printable object to be formed;

convert the octree of the voxel data set into print instructions defining a truss structure within the 3D printable object to be formed; and

print the 3D object including the truss structure.

10. The system of claim 9 , wherein the 3D printing device comprises a powder-based 3D printing device.

11. The system of claim 9 , further comprising a 3D scanning device, wherein the 3D scanning device produces the mesh data, the mesh data defining a scanned image of an object.

12. The system of claim 9 , wherein conversion of the mesh file into the volumetric voxel set is performed in parallel for a plurality of groups of octree data by a graphic processing unit (GPU).

13. The system of claim 9 , wherein the truss structure is volumetric infill within voxels of the 3D printable object.

14. The system of claim 9 , wherein voxels of the voxel data set are of different sizes, with larger voxels being internal to the 3D printable object and smaller voxels being at a surface of the 3D printable object.

15. The system of claim 14 , wherein the truss structure is volumetric infill within at least some of the larger voxels internal to the 3D printable object.

16. The system of claim 9 , wherein the truss structure is composed of a number of cylindrical struts of a constant diameter.

17. The system of claim 9 , wherein the truss structure is formed within the boundary of a voxel.

18. A three-dimensional (3D) printing device comprising:

a data storage device to store computer usable program code; and

a processing device to execute the computer usable program code, the computer usable program code to, when executed by the processing device:

convert mesh data obtained from a 3D scanning device into a volumetric voxel data set, the voxel data set being organized as an octree defining at least a portion of the 3D printable object;

assign a scalar value to each voxel;

assign a volumetric property to each voxel, the volumetric property defining a gradient of a type of energy potential;

convert the octree of the voxel data set into print instructions defining a truss structure within each voxel;

adjust a scalar value of a number of the voxels based on the volumetric properties assigned to the voxels;

perform a finite element analysis based on a material property assigned to each voxel and scalar values of each voxel; and

print the 3D object including the truss structure.

19. The 3D printing device of claim 18 , further comprising computer usable program code to, when executed by the processing device:

generate a shell structure to enclose the 3D object, the shell structure being defined by removing voxel data from the volumetric voxel data set that has a distance value larger than a defined shell thickness; and

print the shell structure.

20. The 3D printing device of claim 18 , wherein converting the octree of the voxel data set into print instructions defining the truss structure within each voxel comprises defining portions of the truss structure based on a smallest feature that the 3D printing device can produce.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: ZENG, JUN; DEL ANGEL, ANA PATRICIA; WHITE, SCOTT A.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 051293/0348 →
Continuity (1)
Related Publication 20190362543A1 · Nov 28, 2019
Cited By (2)
US 12,228,188 US 12,518,074