# US 12,216,971 B2 · Dynamic adjustment of cross-sectional views

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

- Number: US 12,216,971 B2
- Document ID: US12216971B2
- Status: Granted
- Kind: B2
- Application number: 18/587,918
- Filed: 2024-02-26
- Published: 2024-09-12
- Granted: 2025-02-04
- Earliest claimed: 2019-10-07
- Assignees: Procore Technologies, Inc.
- Applicants: Procore Technologies, Inc.
- Inventors: David McCool; Christopher Myers; Christopher Bindloss
- Web page: https://patentgrep.com/patent/US12216971B2

## CPC

- G06F 30/23: using finite element methods [FEM] or finite difference methods [FDM]
- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06F 3/04845: for image manipulation, e.g. dragging, rotation, expansion or change of colour
- G06F 30/12: characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
- G06F 30/13: Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
- G06T 15/00: Three-dimensional [3D] image rendering
- G06T 17/10: Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
- G06T 17/205: {Re-meshing}
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06F 2113/14: Pipes
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2219/008: Cut plane or projection plane definition
- G06T 2219/012: Dimensioning, tolerancing
- G06T 2219/2004: Aligning objects, relative positioning of parts
- G06T 2219/2008: Assembling, disassembling
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

An example computing system is configured to (i) receive a request to generate a cross-sectional view of a three-dimensional drawing file, where the cross-sectional view is based on a location of a cross-section line within the three-dimensional drawing file and includes an intersection of two meshes within the three-dimensional drawing file; (ii) generate the cross-sectional view of the three-dimensional drawing file; (iii) add, to the generated cross-sectional view, dimensioning information involving at least one of the two meshes; (iv) generate one or more controls for adjusting a location of the cross-section line within the three-dimensional drawing file; and (v) based on an input indicating a selection of the one or more controls, adjust the location of the cross-section line within the three-dimensional drawing file, update the cross-sectional view based on the adjusted location of the cross-section line, and update the dimensioning information to correspond to the updated cross-sectional view.

## Claims

### Claim 1

A computing device comprising:
at least one processor;
at least one non-transitory computer-readable medium; and
program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
display a representation of a three-dimensional (3D) drawing file;
receive first user input indicating a location of a cross-section indicator within the representation of the 3D drawing file;
display a two-dimensional (2D) cross-sectional view of the 3D drawing file based on the location of the cross-section indicator within the representation of the 3D drawing file, the 2D cross-sectional view including (i) an intersection of at least two meshes and (ii) dimensioning information involving at least one of the two meshes;
receive second user input indicating one or more adjustments to the location of the cross-section indicator within the representation of the 3D drawing file; and
based on each adjustment indicated by the second user input, (i) dynamically update the 2D cross-sectional view being displayed and (ii) dynamically update dimensioning information corresponding to the 2D cross-sectional view being displayed.

### Claim 2 (depends on 1)

The computing device of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
display one or more controls for adjusting the location of the cross-section indicator, wherein the first and second user inputs are received via the one or more controls.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the second user input comprises a set of user inputs each indicating an adjustment to the location of the cross-section indicator within the representation of the 3D drawing file.

### Claim 4 (depends on 1)

The computing device of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
update the 2D cross-sectional view to include at least one gridline based on coordinate information for the 3D drawing file, wherein the dimensioning information involving at least one of the two meshes also involves the at least one gridline.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the dimensioning information includes a first measurement involving an outer edge of a first mesh, the computing device further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
receive third user input indicating a first selection of the first mesh;
based on the third user input, dynamically update the first measurement involving the outer edge of the first mesh with a second measurement involving a centerline of the first mesh;
after receiving the third user input, receive a fourth user input indicating a second selection of the first mesh; and
based on the fourth user input, dynamically update the second measurement involving the centerline of the first mesh with the first measurement involving the outer edge of the first mesh.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the 2D cross-sectional view comprises an elevation view of the 3D drawing file, the computing device further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
display a 2D top-down view of the 3D drawing file corresponding to the 2D cross-sectional view, the 2D top-down view including a representation of the location of the cross-section indicator; and
based on the second user input indicating one or more adjustments to the location of the cross-section indicator, dynamically update the 2D top-down view.

### Claim 7 (depends on 1)

The computing device of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
before displaying the 2D cross-sectional view:
determine at least one boundary for the 2D cross-sectional view; and
generate the 2D cross-sectional view based on at least one determined boundary.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein the program instructions that are executable by the at least one processor such that the computing device is configured to determine the at least one boundary for the 2D cross-sectional view comprise program instructions that are executable by the at least one processor such that the computing device is configured to:
identify at least one gridline that is based on coordinate information for the 3D drawing file; and
determine at least one respective boundary for the 2D cross-sectional view that coincides with the at least one gridline.

### Claim 9 (depends on 1)

The computing device of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
based on the second user input indicating the one or more adjustments to the location of the cross-section indicator, dynamically update a shape of at least one of the two meshes.

### Claim 10 (depends on 1)

The computing device of claim 1, further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
receive third user input indicating one or more adjustments to the 2D cross-sectional view; and
based on each adjustment indicated by the third user input, (i) dynamically update the 2D) cross-sectional view being displayed, (ii) dynamically update dimensioning information corresponding to the 2D cross-sectional view being displayed, and (iii) dynamically update a representation of the location of the cross-section indicator within the representation of the 3D drawing file.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the third user input comprises one or more adjustments to a zoom level of the 2D cross-sectional view.

### Claim 12

A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing device to:
display a representation of a three-dimensional (3D) drawing file;
receive first user input indicating a location of a cross-section indicator within the representation of the 3D drawing file;
display a two-dimensional (2D) cross-sectional view of the 3D drawing file based on the location of the cross-section indicator within the representation of the 3D drawing file, the 2D cross-sectional view including (i) an intersection of at least two meshes and (ii) dimensioning information involving at least one of the two meshes;
receive second user input indicating one or more adjustments to the location of the cross-section indicator within the representation of the 3D drawing file; and
based on each adjustment indicated by the second user input, (i) dynamically update the 2D cross-sectional view being displayed and (ii) dynamically update dimensioning information corresponding to the 2D cross-sectional view being displayed.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
display one or more controls for adjusting the location of the cross-section indicator, wherein the first and second user inputs are received via the one or more controls.

### Claim 14 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the second user input comprises a set of user inputs each indicating an adjustment to the location of the cross-section indicator within the representation of the 3D drawing file.

### Claim 15 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
update the 2D cross-sectional view to include at least one gridline based on coordinate information for the 3D drawing file, wherein the dimensioning information involving at least one of the two meshes also involves the at least one gridline.

### Claim 16 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the dimensioning information includes a first measurement involving an outer edge of a first mesh, and wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
receive third user input indicating a first selection of the first mesh;
based on the third user input, dynamically update the first measurement involving the outer edge of the first mesh with a second measurement involving a centerline of the first mesh;
after receiving the third user input, receive a fourth user input indicating a second selection of the first mesh; and
based on the fourth user input, dynamically update the second measurement involving the centerline of the first mesh with the first measurement involving the outer edge of the first mesh.

### Claim 17 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the 2D cross-sectional view comprises an elevation view of the 3D drawing file, and wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
display a 2D top-down view of the 3D drawing file corresponding to the 2D cross-sectional view, the 2D top-down view including a representation of the location of the cross-section indicator; and
based on the second user input indicating one or more adjustments to the location of the cross-section indicator, dynamically update the 2D top-down view.

### Claim 18 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the computing device to:
based on the second user input indicating the one or more adjustments to the location of the cross-section indicator, dynamically update a shape of at least one of the two meshes.

### Claim 19

A method carried out by a computing device, the method comprising:
displaying a representation of a three-dimensional (3D) drawing file;
receiving first user input indicating a location of a cross-section indicator within the representation of the 3D drawing file;
displaying a two-dimensional (2D) cross-sectional view of the 3D drawing file based on the location of the cross-section indicator within the representation of the 3D drawing file, the 2D cross-sectional view including (i) an intersection of at least two meshes and (ii) dimensioning information involving at least one of the two meshes;
receiving second user input indicating one or more adjustments to the location of the cross-section indicator within the representation of the 3D drawing file; and
based on each adjustment indicated by the second user input, (i) dynamically updating the 2D cross-sectional view being displayed and (ii) dynamically updating dimensioning information corresponding to the 2D cross-sectional view being displayed.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
displaying one or more controls for adjusting the location of the cross-section indicator, wherein the first and second user inputs are received via the one or more controls.
