IP Library Granted Patent US 12670682
Granted Patent B2
US 12670682 · App. 18/895,167 · Granted Jun 30, 2026

Chamfer tool for volumetric sculpting

Inventor: Zhiqin Chen (Seattle, WA)
Assignee: Adobe Inc.
G06T19/20G06T15/08G06T2200/24G06T2210/21G06T2219/2021
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 12670682
App. No.
18/895,167
Granted
Jun 30, 2026
Kind
B2
Abstract

In implementations of techniques and systems for chamfer tools in volumetric sculpting software, a processing device receives an indication of a brushed region of a three-dimensional (3D) object to be chamfered and a chamfer size. A machine-learning model determines surface voxels in the brushed region representing an edge or corner voxel. The machine-learning model also determines parameters for the edge or corner voxel that define a chamfer plane and a chamfer coefficient. The chamfer plane is then moved in a direction normal to the chamfer plane by a distance based on the chamfer size and the chamfer coefficient. To generate a chamfer, the processing device performs an addition or subtraction operation on the 3D object to the moved chamfer plane for the edge or corner voxel.

Claims (74)

1 . A method comprising:

receiving, by a processing device, an indication of a region of a three-dimensional (3D) object to be chamfered and a chamfer size, the region including multiple voxels in a voxel grid;

determining, by a machine-learning model, one or more surface voxels in the region that represent an edge voxel or a corner voxel of the 3D object;

determining, by the machine-learning model, parameters for the edge voxel or the corner voxel of the one or more surface voxels that define a chamfer plane and a chamfer coefficient;

moving, by the processing device and based on the chamfer size and the chamfer coefficient, the chamfer plane for the edge voxel or the corner voxel in a direction normal to the chamfer plane; and

performing, by the processing device, an addition or subtraction operation on the 3D object to the chamfer plane for the edge voxel or the corner voxel to generate a chamfer.

2 . The method of claim 1 , wherein:

the machine-learning model is a multilayer perceptron;

for the surface voxel, an input to the multilayer perceptron is an input vector that includes signed distance values for neighbor voxels of the surface voxel; and

for the surface voxel, an output from the multilayer perceptron is an output vector that indicates whether the surface voxel is the edge voxel or the corner voxel.

3 . The method of claim 2 , wherein the input vector is a 64-dimensional vector that includes the signed distance values for the neighbor voxels of the surface voxel in a four-by-four-by-four grid surrounding the surface voxel.

4 . The method of claim 3 , wherein the output vector is a nine-dimensional vector that includes:

a convex flag value that indicates whether the surface voxel is a convex edge or a convex corner;

a concave flag value that indicates whether the surface voxel is a concave edge or a concave corner;

a corner flag value that indicates whether the surface voxel is the convex corner or the concave corner;

a joint flag value that indicates whether the surface voxel includes at least one convex edge and at least one concave edge;

for each edge voxel or each corner voxel, the parameters that define the chamfer plane, the parameters including four numerical values; and

for each edge voxel or each corner voxel, a chamfer coefficient that determines the distance to move the chamfer plane for creating the chamfer.

5 . The method of claim 4 , wherein the chamfer plane is moved a chamfer distance equal to the chamfer size multiplied by the chamfer coefficient.

6 . The method of claim 5 , wherein the method further comprises:

identifying one or more chamfer planes in the region;

determining a main chamfer plane of the one or more chamfer planes as the chamfer plane corresponding to a main voxel, the main voxel being the edge voxel or the corner voxel nearest a center of the region; and

moving the one or more chamfer planes the chamfer distance along the direction normal to the one or more chamfer planes, the one or more chamfer planes moving away from a surface of the 3D object if the corresponding edge voxel or corner voxel is the concave edge or the concave corner, or into the surface of the 3D object if the corresponding edge voxel or the corner voxel is the convex edge or the convex corner.

7 . The method of claim 6 , wherein the method further comprises:

in response to the main voxel being the concave edge:

determining an intersection of a half-space of the main chamfer plane by half-spaces of other chamfer planes that create convex edges with the main chamfer plane; and

performing a union operation between the intersected half-space of the main chamfer plane and the surface voxels of the 3D object within the region; or

in response to the main voxel being the convex edge:

determining the intersection of the half-space of the main chamfer plane by the half-spaces of other chamfer planes that create concave edges with the main chamfer plane; and

performing a subtraction operation between the intersected half-space of the main chamfer plane and the surface voxels of the 3D object within the region.

8 . The method of claim 7 , wherein the intersection, the addition operation, or the subtraction operation are performed on the signed distance values of the corresponding surface voxels.

9 . The method of claim 1 , wherein the indication of the region to be chamfered is input by a user using a brush tool.

10 . The method of claim 1 , wherein:

the chamfer is applied to a single edge, each concave edge, each convex edge, or each edge in the region; and

the method further comprises rendering, by the processing device, the 3D object with the chamfer at the chamfer plane.

11 . A computing device comprising:

a processing device; and

a computer-readable medium storing instructions that, in response to execution by the processing device, cause the processing device to:

receive an indication of a brushed region of a three-dimensional (3D) object to be chamfered and a chamfer size;

determine, by a machine-learning model, parameters for an edge voxel or a corner voxel on a surface of the 3D object in the brushed region, the parameters defining a chamfer plane and a chamfer coefficient;

move, based on the chamfer size and the chamfer coefficient, the chamfer plane for the edge voxel or the corner voxel in a direction normal to the chamfer plane; and

perform an addition or subtraction operation on the 3D object to the chamfer plane for the edge voxel or the corner voxel to generate a chamfer.

12 . The computing device of claim 11 , wherein:

the machine-learning model is a multilayer perceptron;

for the edge voxel or the corner voxel, an input to the multilayer perceptron is an input vector that includes signed distance values for neighbor voxels of the edge voxel or the corner voxel; and

for the edge voxel or the corner voxel, an output from the multilayer perceptron is an output vector that includes the parameters.

13 . The computing device of claim 12 , wherein the input vector is a 64-dimensional vector that includes the signed distance values for the neighbor voxels of the edge voxel or the corner voxel in a four-by-four-by-four grid.

14 . The computing device of claim 13 , wherein the output vector is a nine-dimensional vector that includes:

a convex flag value that indicates whether the edge voxel or the corner voxel is a convex edge or a convex corner;

a concave flag value that indicates whether the edge voxel or the corner voxel is a concave edge or a concave corner;

a corner flag value that indicates whether the edge voxel or the corner voxel is the convex corner or the concave corner;

a joint flag value that indicates whether the edge voxel or the corner voxel includes at least one convex edge and at least one concave edge;

four numerical values for the parameters that define the chamfer plane; and

a chamfer coefficient that determines the distance to move the chamfer plane for creating the chamfer.

15 . The computing device of claim 14 , wherein the chamfer plane is moved a chamfer distance equal to the chamfer size multiplied by the chamfer coefficient.

16 . The computing device of claim 15 , wherein the computer-readable medium stores further instructions that, in response to execution by the processing device, cause the processing device to:

identify one or more chamfer planes in the brushed region;

determine a main chamfer plane of the one or more chamfer planes as the chamfer plane corresponding to a main voxel, the main voxel being the edge voxel or the corner voxel nearest a center of the brushed region; and

move the one or more chamfer planes the chamfer distance along the direction normal to the one or more chamfer planes, the one or more chamfer planes moving away from the surface of the 3D object if the corresponding edge voxel or corner voxel is the concave edge or the concave corner, or into the surface of the 3D object if the corresponding edge voxel or the corner voxel is the convex edge or the convex corner.

17 . The computing device of claim 16 , wherein the computer-readable medium stores further instructions that, in response to execution by the processing device, cause the processing device to:

in response to the main voxel being the concave edge:

determine an intersection of a half-space of the main chamfer plane by half-spaces of other chamfer planes that create convex edges with the main chamfer plane; and

perform a union operation between the intersected half-space of the main chamfer plane and surface voxels of the 3D object within the brushed region; or

in response to the main voxel being the convex edge:

determine the intersection of the half-space of the main chamfer plane by the half-spaces of other chamfer planes that create concave edges with the main chamfer plane; and

perform a subtraction operation between the intersected half-space of the main chamfer plane and the surface voxels of the 3D object within the brushed region.

18 . The computing device of claim 17 , wherein the intersection, the addition operation, or the subtraction operation are performed on the signed distance values of the corresponding surface voxels.

19 . The computing device of claim 11 , wherein the computer-readable medium comprises modeling software based on volumetric sculpting with signed distance values for each voxel in a voxel grid.

20 . A system comprising:

means for receiving an indication of a region of a three-dimensional (3D) object to be chamfered and a chamfer size, the region including multiple voxels in a voxel grid;

means for determining, by a machine-learning model, one or more surface voxels in the region that represent an edge voxel or a corner voxel of the 3D object;

means for determining, by the machine-learning model, parameters for the edge voxel or the corner voxel of the one or more surface voxels that define a chamfer plane and a chamfer coefficient;

means for moving, based on the chamfer size and the chamfer coefficient, the chamfer plane for the edge voxel or the corner voxel in a direction normal to the chamfer plane; and

means for performing an addition or subtraction operation on the 3D object to the chamfer plane for the edge voxel or the corner voxel to generate a chamfer.