# US 11,422,531 B2 · System and methods for 3D model evaluation

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

- Number: US 11,422,531 B2
- Document ID: US11422531B2
- Status: Granted
- Kind: B2
- Application number: 16/611,790
- Filed: 2018-05-08
- Published: 2020-11-26
- Granted: 2022-08-23
- Earliest claimed: 2017-05-08
- Assignees: Physna Inc.
- Applicants: Physna Inc.
- Inventors: Glenn Warner; Paul Powers
- Web page: https://patentgrep.com/patent/US11422531B2

## CPC

- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G05B 19/4099: Surface or curve machining, making three-dimensional [3D] objects, e.g. desktop manufacturing
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06V 10/75: Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V 20/653: {by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces}
- G05B 2219/49023: 3-D printing, layer of powder, add drops of binder in layer, new powder
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A method, in each of three orthogonal orientations, obtains dimensional layers of triangular mesh data of the 3D object from a slicer program. Perimeter length values for each layer of each of the three orthogonal orientations are obtained and compared to stored perimeter length value for a reference object to determine a degree of matching. Measurement data is facilitated by processing by CNC/3D print software. Smaller objects within the 3D object are also analyzed. For a more robust approach, each triangle in the triangular mesh data is analyzed by totaling the perimeter of surrounding triangles to assign a value. Matching with the reference object is made based on the assigned total perimeter values. The 3D object can be scaled in one, two or three orthogonal dimensions to match the reference object.

## Claims

### Claim 1

A method of comparing two or more three-dimensional (3D) object models comprising:
receiving triangular mesh data describing two or more three-dimensional (3D) object models;
assigning one of the two or more three-dimensional (3D) object models as a reference object;
evaluating at least one 3D triangle from each received triangular mesh data of the two or more three-dimensional (3D) object models as a reference triangle, and for each reference triangle:
a). identifying three adjacent triangles that share a side with the reference triangle;
b). calculating a total perimeter value for length of the perimeters of the three adjacent triangles; and
c). assigning the total perimeter value to the reference triangle;
comparing the total perimeter values assigned to one or more 3D object models to the total perimeter values assigned to the reference object; and
determining whether a match exists between one or more three-dimensional (3D) object models object and the reference object based upon an amount of matching of obtained total perimeter values.

### Claim 2 (depends on 1)

The method of claim 1, further comprising scaling the 3D object to the reference object in a selected number of one, two or three orthogonal directions to obtain a three-dimensional match.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining a first number of 3D triangles in the 3D object;
determining a second number of 3D triangles in the reference object; and
scaling the 3D object in response to a percentage difference between the first and second numbers being above a threshold.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the three-dimensional mesh data comprises a stereolithography (STL) computer aided design software code.

### Claim 5 (depends on 1)

The method of claim 1, wherein the three-dimensional (3D) object is a communication tower, the method further comprising:
at a first time, scanning the communication tower to obtain first triangular mesh data;
at a second time, scanning the communication tower to obtain second triangular mesh data; and
determining whether the match exists between the 3D object based on the second triangular mesh data and the reference object based on the first triangular mesh data based upon the amount of matching of the obtained total perimeter values.

### Claim 6 (depends on 5)

The method of claim 5, further comprising determining an amount of deviation between the 3D objects of both the first and second triangular mesh data as part of an antenna inspection.

### Claim 7

A method for comparing two or more three-dimensional (3D) objects comprising:
receiving triangular mesh data describing the two or more three-dimensional (3D) objects;
evaluating at least one 3D triangle from each of the received triangular mesh data of the two or more three-dimensional 3D objects as a reference triangle, and for each reference triangle:
identifying three adjacent triangles that share a side with the reference triangle;
calculating a total perimeter value for a length of the perimeters of the three adjacent triangles; and
assigning the total perimeter value to the reference triangle;
comparing the total perimeter values assigned to the 3D object to total perimeter values assigned to a reference three-dimensional (3D) object; and
determining whether a match exists between the two or more three-dimensional (3D) objects based upon an amount of matching of obtained total perimeter values.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
for each 3D triangle of the received triangular mesh data of the 3D object evaluated as a reference triangle, identifying three adjacent triangles that share a side with the reference triangle and any other triangles sharing a vertex with the reference triangle:
calculating a total perimeter value for the length of the perimeters of the three adjacent triangles and any other triangles sharing a vertex; and
assigning the total perimeter value to the reference triangle;
comparing the total perimeter values assigned to the 3D object to total perimeter values assigned to the reference object; and
determining whether a match exists between the 3D object and the reference object based upon an amount of matching of the obtained total perimeter values.

### Claim 9 (depends on 7)

The method of claim 7, further comprising scaling the 3D object to the reference object in a selected number of one, two or three orthogonal directions to obtain a three-dimensional match.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
determining a first number of 3D triangles in the 3D object;
determining a second number of 3D triangles in the reference object;
scaling the 3D object in response to a percentage difference between the first and second numbers being above a threshold.

### Claim 11 (depends on 7)

The method of claim 7, wherein:
the three-dimensional mesh data comprises a stereolithography (STL) computer aided design software code.
