# US 10,769,850 B1 · Systems and methods for efficient updating of an analysis mesh

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

- Number: US 10,769,850 B1
- Document ID: US10769850B1
- Status: Granted
- Kind: B1
- Application number: 15/893,890
- Filed: 2018-02-12
- Granted: 2020-09-08
- Earliest claimed: 2017-02-13
- Assignees: Ansys, Inc.
- Applicants: Ansys, Inc.
- Inventors: Frank DeSimone; Vivek J. Joshi; Joseph Borella; John Svitek; Mukesh Bauskar; James West; Jitendra Kulkarni
- Web page: https://patentgrep.com/patent/US10769850B1

## CPC

- G06T 17/205: {Re-meshing}
- G06F 30/23: using finite element methods [FEM] or finite difference methods [FDM]
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Computer-implemented systems and methods for updating a polygonal mesh representation of a model are provided. A model comprises a set of topologies, and a meshing state is maintained for each topology of the set of topologies. The meshing state indicates, for a given topology, whether a polygonal mesh exists and is valid. A change made to the model is determined, where the change comprises a modification to a geometry of the model or a modification to mesh settings of a polygonal mesh representation of the model. One or more topologies of the set of topologies that are affected by the change are determined, and the meshing state for the affected one or more topologies is updated. Based on the one or more updated meshing states, a set of meshing operations needed to bring the polygonal mesh representation of the model up-to-date is determined.

## Claims

### Claim 1

A computer-implemented method for updating a polygonal mesh representation of a model, the method comprising:
displaying a model via a graphical user interface (GUI) of a computer-aided design modeling system, the model comprising a three dimensional (3D) boundary representation model comprising a set of topologies;
maintaining a meshing state for each topology of the set of topologies, the meshing state indicating, for a given topology, whether a polygonal mesh exists and is valid;
determining a change made to the model via the GUI, the change comprising a modification to a geometry of the model or a modification to mesh settings of a polygonal mesh representation of the model;
determining one or more topologies of the set of topologies that are affected by the change and updating the meshing state for the affected one or more topologies;
determining, based on the one or more updated meshing states, a set of meshing operations needed to bring the polygonal mesh representation of the model up-to-date; and
performing the set of meshing operations to update the polygonal mesh representation of the model.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
displaying the polygonal mesh representation of the model via the GUI; and
after performing the set of meshing operations, updating the display of the polygonal mesh representation in real-time or near real-time such that the display is updated at substantially the same time as the change is made.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the performing of the set of meshing operations comprises:
remeshing a subregion of the polygonal mesh representation, as specified by the set of meshing operations, without remeshing an entirety of the polygonal mesh representation.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the remeshed subregion corresponds to the one or more topologies of the model affected by the change.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising:
displaying the polygonal mesh representation of the model via the GUI; and
after performing the set of meshing operations, updating the display of the polygonal mesh representation only in the remeshed subregion.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the determining of the set of meshing operations comprises:
determining whether the polygonal mesh representation of the model exists;
based on a determination that the polygonal mesh representation does not exist, generating a new polygonal mesh representation of the model;
based on a determination that the polygonal mesh representation exists, determining whether an entirety of the polygonal mesh representation should be remeshed;
based on a determination that the entirety of the polygonal mesh representation should be remeshed, remeshing the entirety of the polygonal mesh representation; and
based on a determination that the entirety of the polygonal mesh representation should not be remeshed, remeshing a subregion of the polygonal mesh representation without remeshing the entirety of the polygonal mesh representation.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the remeshing of the subregion comprises:
determining whether the model comprises a shell or a solid;
based on a determination that the model comprises a solid, (i) extracting interior volume elements within a bounded subregion of the solid, and (ii) generating exterior faces of the extracted elements based on the one or more affected topologies;
based on a determination that the model comprises a shell, (i) extracting sheet elements surrounding the one or more affected topologies and creating a subregion, and (ii) extending the created subregion into adjacent faces by one element;
clearing the subregion of all mesh elements; and
remeshing the subregion.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising:
using physical data associated with a physical object to generate the model, the model comprising a virtual 3D object for modeling the physical object; and
performing a computer-based analysis of the updated polygonal mesh representation, wherein the physical object is built or modified based on the computer-based analysis.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the set of topologies comprises vertices, edges, faces, and bodies in a computer-aided design model and connections between the vertices, edges, faces, and bodies.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the 3D boundary representation model includes surfaces that are organized topologically in boundary loops.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein the 3D boundary representation model includes a set of topologies comprising vertices, edges, faces, and bodies in a computer-aided design model and connections between the vertices, edges, faces, and bodies.

### Claim 12

A system for updating a polygonal mesh representation of a model, the system comprising:
a processing system; and
computer-readable memory in communication with the processing system encoded with instructions for commanding the processing system to execute steps comprising:
displaying a model via a graphical user interface (GUI) of a computer-aided design modeling system, the model comprising a three dimensional (3D) boundary representation model comprising a set of topologies;
maintaining a meshing state for each topology of the set of topologies, the meshing state indicating, for a given topology, whether a polygonal mesh exists and is valid;
determining a change made to the model via the GUI, the change comprising a modification to a geometry of the model or a modification to mesh settings of a polygonal mesh representation of the model;
determining one or more topologies of the set of topologies that are affected by the change and updating the meshing state for the affected one or more topologies;
determining, based on the one or more updated meshing states, a set of meshing operations needed to bring the polygonal mesh representation of the model up-to-date;
performing the set of meshing operations to update the polygonal mesh representation of the model.

### Claim 13 (depends on 12)

The system of claim 12, wherein the steps further comprise:
displaying the polygonal mesh representation of the model via the GUI; and
after performing the set of meshing operations, updating the display of the polygonal mesh representation in real-time or near real-time such that the display is updated at substantially the same time as the change is made.

### Claim 14 (depends on 12)

The system of claim 12, wherein the performing of the set of meshing operations comprises:
remeshing a subregion of the polygonal mesh representation, as specified by the set of meshing operations, without remeshing an entirety of the polygonal mesh representation.

### Claim 15 (depends on 14)

The system of claim 14, wherein the remeshed subregion corresponds to the one or more topologies of the model affected by the change.

### Claim 16 (depends on 15)

The system of claim 15, wherein the steps further comprise:
displaying the polygonal mesh representation of the model via the GUI; and
after performing the set of meshing operations, updating the display of the polygonal mesh representation only in the remeshed subregion.

### Claim 17 (depends on 12)

The system of claim 12, wherein the determining of the set of meshing operations comprises:
determining whether the polygonal mesh representation of the model exists;
based on a determination that the polygonal mesh representation does not exist, generating a new polygonal mesh representation of the model;
based on a determination that the polygonal mesh representation exists, determining whether an entirety of the polygonal mesh representation should be remeshed;
based on a determination that the entirety of the polygonal mesh representation should be remeshed, remeshing the entirety of the polygonal mesh representation; and
based on a determination that the entirety of the polygonal mesh representation should not be remeshed, remeshing a subregion of the polygonal mesh representation without remeshing the entirety of the polygonal mesh representation.

### Claim 18 (depends on 17)

The system of claim 17, wherein the remeshing of the subregion comprises:
determining whether the model comprises a shell or a solid;
based on a determination that the model comprises a solid, (i) extracting interior volume elements within a bounded subregion of the solid, and (ii) generating exterior faces of the extracted elements based on the one or more affected topologies;
based on a determination that the model comprises a shell, (i) extracting sheet elements surrounding the one or more affected topologies and creating a subregion, and (ii) extending the created subregion into adjacent faces by one element;
clearing the subregion of all mesh elements; and
remeshing the subregion.

### Claim 19 (depends on 12)

The system of claim 12, wherein the steps further comprise:
using physical data associated with a physical object to generate the model, the model comprising a virtual 3D object for modeling the physical object; and
performing a computer-based analysis of the updated polygonal mesh representation, wherein the physical object is built or modified based on the computer-based analysis.

### Claim 20

A non-transitory computer-readable storage medium for updating a polygonal mesh representation of a model, the computer-readable storage medium comprising computer executable instructions which, when executed, cause a processing system to execute steps comprising:
displaying a model via a graphical user interface (GUI) of a computer-aided design modeling system, the model comprising a three dimensional (3D) boundary representation model comprising a set of topologies;
maintaining a meshing state for each topology of the set of topologies, the meshing state indicating, for a given topology, whether a polygonal mesh exists and is valid;
determining a change made to the model via the GUI, the change comprising a modification to a geometry of the model or a modification to mesh settings of a polygonal mesh representation of the model;
determining one or more topologies of the set of topologies that are affected by the change and updating the meshing state for the affected one or more topologies;
determining, based on the one or more updated meshing states, a set of meshing operations needed to bring the polygonal mesh representation of the model up-to-date; and
performing the set of meshing operations to update the polygonal mesh representation of the model.
