# US 10,373,371 B2 · Generating slicing data from a tree data structure

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,373,371 B2
- Document ID: US10373371B2
- Status: Granted
- Kind: B2
- Application number: 15/523,331
- Filed: 2015-01-30
- Published: 2017-08-31
- Granted: 2019-08-06
- Earliest claimed: 2015-01-30
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P .
- Inventors: Jun Zeng; Pu Huang; Sebastia Cortes; Scott A. White; Gary J. Dispoto
- Web page: https://patentgrep.com/patent/US10373371B2

## CPC

- G06T 17/005: {Tree description, e.g. octree, quadtree}
- B29C 64/386: Data acquisition or data processing for additive manufacturing
- B33Y 30/00: Apparatus for additive manufacturing; Details thereof or accessories therefor
- B33Y 50/00: Data acquisition or data processing for additive manufacturing
- G06F 30/00: Computer-aided design [CAD]
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2219/008: Cut plane or projection plane definition
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- B29C: SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING (making preforms B29B11/00; making laminated products by combining previously unconnected layers which become one product whose layers will remain together B32B37/00 - B32B41/00)
- B33Y: ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An example technique for generating slice data from the tree data structure representation of a three dimensional (3-D) object can include obtaining a shape specification of the 3-D object and obtaining a material specification of the 3-D object. The example technique for generating slice data from the tree data structure representation of a 3-D object can also include merging the shape specification and the material specification to create a tree data structure representation of the 3-D object. The example technique for generating slice data from the tree data structure representation of a 3-D object can also include generating slice data from the tree data structure.

## Claims

### Claim 1

A method to generate slice data from a tree data structure comprising:
obtaining a shape specification of a 3-D object;
obtaining a material specification of the 3-D object;
merging the shape specification and the material specification to create the tree data structure representation of the 3-D object, wherein the merging includes directionally dependent scaling of the shape specification and the material specification using scaling vectors;
generating slice data from the tree data structure; and
separating the slice data into a plurality of bitmaps per material type to provide to a printer to drive a printing of the 3-D object.

### Claim 2 (depends on 1)

The method of claim 1, wherein the material specification is independent of the shape specification.

### Claim 3 (depends on 1)

The method of claim 1, wherein the material specification is a 3-D distribution of materials.

### Claim 4 (depends on 3)

The method of claim 3, wherein the material specification describes a plurality of properties of a material that is associated with the 3-D object.

### Claim 5 (depends on 4)

The method of claim 4, wherein the plurality of properties of the material includes a type of material that is associated with the 3-D object.

### Claim 6 (depends on 1)

The method of claim 1, wherein merging the shape specification and the material specification includes creating a grid of voxels from the shape specification.

### Claim 7 (depends on 6)

The method of claim 6, wherein merging the shape specification and the material specification includes:
mapping material property values from the material specification to the grid of voxels; and
assigning the material property values to the grid of voxels.

### Claim 8

A non-transitory machine-readable medium storing instructions to generate slice data from a tree data structure, the instructions executable by a machine to cause the machine to:
obtain at least one shape specification of a 3-D object;
obtain at least one material specification of the 3-D object;
merge the at least one shape specification and the at least one material specification to create an octree representation of the 3-D object, wherein the merging includes directionally dependent scaling of the at least one shape specification and the at least one material specification using scaling vectors;
merge neighboring homogenous nodes from the octree to clip the octree;
generate slice data from the octree; and
separate the slice data into a plurality of bitmaps per material type to provide to a 3D printer.

### Claim 9 (depends on 8)

The medium of claim 8, wherein the at least one material specification does not conform to the at least one shape specification.

### Claim 10 (depends on 8)

The medium of claim 8, wherein the instructions executable to merge the at least one shape specification and the at least one material specification include instructions to merge a shape specification from the at least one shape specification with a plurality of material specifications from the at least one material specification.

### Claim 11 (depends on 8)

The medium of claim 8, wherein the instructions executable to merge the at least one shape specification and the at least one material specification include instructions to merge a material specification from the at least one material specification with a plurality of shape specifications from the at least one shape specification.

### Claim 12 (depends on 8)

The medium of claim 8, wherein the instructions executable to merge the at least one shape specification and the at least one material specification include instructions to:
scale the at least one shape specification to a resolution associated with the at least one material specification; and
fix six degrees of freedom from the at least one shape specification to the at least one material specification.

### Claim 13

A system to generate slice data from a tree data structure, comprising:
a specification engine to:
obtain a plurality of shape specifications of a 3-D object;
obtain a plurality of material specifications of the 3-D object;
a merge engine to merge the plurality of shape specifications and the plurality of material specifications to create an octree representation of the 3-D object, wherein the merging includes directionally dependent scaling of the plurality of the shape specifications and the plurality of the material specifications using scaling vectors;
a scale engine to scale the octree to a resolution associated with a 3-D printer;
a slice engine to provide slice data from the octree to a separate engine; and
the separate engine to separate the slice data into a plurality of bitmaps per material type and to provide the separated plurality of bitmaps to the 3-D printer.

### Claim 14 (depends on 13)

The system of claim 13, wherein the scale engine:
divides cells in the octree to provide a higher resolution than undivided cells; and
merges cells in a bottom layer of the octree to provide a lower resolution.

### Claim 15 (depends on 13)

The system of claim 13, wherein the scale engine scales the octree using an already existing octree without recreating the octree from the plurality of shape specifications and the plurality of material specifications.
