IP Library Granted Patent US 10,748,311
Granted Patent B1
US 10,748,311 · App. 16/277,752 · Granted Aug 18, 2020

Generating technical drawings from building information models

Inventors: Winson Chu (Alameda, CA); Peter Wu (Oakland, CA); Christopher Myers (Oakland, CA)
Assignee: Procore Technologies, Inc.
G06T11/206G06F30/13G06T17/20G06T2210/04
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 10,748,311
App. No.
16/277,752
Granted
Aug 18, 2020
Kind
B1
Abstract

The present disclosure is directed to a software tool that facilitates the presentation of a three-dimensional view of a construction project as well as the generation of various types of two-dimensional technical drawings based on this three-dimensional view. In one implementation, the software tool causes a computing device to engage in the following operations. The computing device may receive an indication of a desired clip height of a three-dimensional view at which to generate a two-dimensional technical drawing; identify a subset of meshes that intersect with a two-dimensional plane at the desired clip height; determine respective portions of each mesh that intersect the two-dimensional plane at the desired clip height; compile a dataset that defines the two-dimensional drawing; and render the two-dimensional drawing using the compiled dataset.

Claims (62)

1. A computing system comprising:

at least one processor;

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor to cause the computing system to:

render a three-dimensional view of a construction project using a three-dimensional model file that defines a set of meshes;

receive an indication of an area of interest from which to generate a two-dimensional drawing of the construction project, wherein the area of interest is associated with the rendered three-dimensional view of the construction project;

identify, from among the set of meshes defined by the three-dimensional model file, a subset of meshes that intersect with a two-dimensional plane positioned within the area of interest;

for each respective mesh in the identified subset of meshes, generate a respective dataset that defines a particular portion of the respective mesh that intersects with the two-dimensional plane positioned within the area of interest;

based at least on the respective dataset for each respective mesh in the identified subset of meshes, generate a compiled dataset that defines the two-dimensional drawing of the construction project at the area of interest; and

render the two-dimensional drawing of the construction project using the compiled dataset.

2. The computing system of claim 1 , wherein the three-dimensional model file comprises a building information model (BIM) file.

3. The computing system of claim 1 , wherein each respective mesh in the identified subset of meshes comprises a plurality of triangles, and wherein the respective dataset for each respective mesh in the identified subset of meshes comprises data defining a plurality of line segments that each represent an intersection between a respective triangle of the respective mesh and the two-dimensional plane positioned within the area of interest.

4. The computing system of claim 1 , wherein the three-dimensional model file defines a respective bounding box for each mesh defined in the three-dimensional model file, wherein each given bounding box encompasses a respective mesh on all sides, wherein the subset of meshes that intersect with the two-dimensional plane positioned within the area of interest comprises a second subset of meshes, and wherein the computing system further comprises program instructions that are executable by the at least one processor to cause the computing system to:

prior to identifying the second subset of meshes that intersect with the two-dimensional plane, identify a set of bounding boxes that intersect with the two-dimensional plane;

identify, from among the set of meshes defined by the three-dimensional model file, a first subset of meshes that are encompassed within the identified set of bounding boxes; and

identify, from among the first subset of meshes that are encompassed within the identified set of bounding boxes, the second subset of meshes that intersect with the two-dimensional plane positioned within the area of interest.

5. The computing system of claim 1 , wherein:

the program instructions executable to cause the computing system to render the three-dimensional view of the construction project comprise program instructions that are executable by the at least one processor to cause the computing system to render the two-dimensional plane positioned within the area of interest.

6. The computing system of claim 5 , wherein the computing system further comprises program instructions that are executable by the at least one processor to cause the computing system to:

receive a user input requesting that the area of interest be adjusted;

in response to receiving the user input requesting that the area of interest be adjusted, modify the rendered two-dimensional plane, wherein the modifying of the rendered two-dimensional plane involves one of (a) changing a size of the rendered two-dimensional plane, (b) repositioning the rendered two-dimensional plane along one or more axes of the rendered three-dimensional drawing, or (c) rotating the rendered two-dimensional plane about an axis.

7. The computing device of claim 1 , wherein the computing system further comprises program instructions that are executable by the at least one processor to cause the computing system to:

determine dimensioning information associated with particular portions of one or more respective meshes that intersect with the two-dimensional plane positioned within the area of interest; and

based on the determined dimensioning information, supplementing the rendered two-dimensional drawing with the determined dimensioning information.

8. A method comprising:

rendering a three-dimensional view of a construction project using a three-dimensional model file that defines a set of meshes;

receiving an indication of an area of interest from which to generate a two-dimensional drawing of the construction project, wherein the area of interest is associated with the rendered three-dimensional view of the construction project;

identifying, from among the set of meshes defined by the three-dimensional model file, a subset of meshes that intersect with a two-dimensional plane positioned within the area of interest;

for each respective mesh in the identified subset of meshes, generating a respective dataset that defines a particular portion of the respective mesh that intersects with the two-dimensional plane positioned within the area of interest;

based at least on the respective dataset for each respective mesh in the identified subset of meshes, generating a compiled dataset that defines the two-dimensional drawing of the construction project at the area of interest; and

rendering the two-dimensional drawing of the construction project using the compiled dataset.

9. The method of claim 8 , wherein the three-dimensional model file comprises a building information model (BIM) file.

10. The method of claim 8 , wherein each respective mesh in the identified subset of meshes comprises a plurality of triangles, and wherein the respective dataset for each respective mesh in the identified subset of meshes comprises data defining a plurality of line segments that each represent an intersection between a respective triangle of the respective mesh and the two-dimensional plane positioned within the area of interest.

11. The method of claim 8 , wherein rendering the three-dimensional view of the construction project comprises:

rendering the two-dimensional plane positioned within the area of interest.

12. The method of claim 11 , further comprising:

receiving a user input requesting that the area of interest be adjusted;

in response to receiving the user input requesting that the area of interest be adjusted, modifying the rendered two-dimensional plane, wherein the modifying of the rendered two-dimensional plane involves one of (a) changing a size of the rendered two-dimensional plane, (b) repositioning the rendered two-dimensional plane along one or more axes of the rendered three-dimensional drawing, or (c) rotating the rendered two-dimensional plane about an axis.

13. The method of claim 8 , further comprising:

determining dimensioning information associated with particular portions of one or more respective meshes that intersect with the two-dimensional plane positioned within the area of interest; and

based on the determined dimensioning information, supplementing the rendered two-dimensional drawing with the determined dimensioning information.

14. A non-transitory computer-readable storage medium having program instructions stored thereon that are executable to cause a computing system to:

render a three-dimensional view of a construction project using a three-dimensional model file that defines a set of meshes;

receive an indication of an area of interest from which to generate a two-dimensional drawing of the construction project, wherein the area of interest is associated with the rendered three-dimensional view of the construction project;

identify, from among the set of meshes defined by the three-dimensional model file, a subset of meshes that intersect with a two-dimensional plane positioned within the area of interest;

for each respective mesh in the identified subset of meshes, generate a respective dataset that defines a particular portion of the respective mesh that intersects with the two-dimensional plane positioned within the area of interest;

based at least on the respective dataset for each respective mesh in the identified subset of meshes, generate a compiled dataset that defines the two-dimensional drawing of the construction project at the area of interest; and

render the two-dimensional drawing of the construction project using the compiled dataset.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the three-dimensional model file comprises a building information model (BIM) file.

16. The non-transitory computer-readable storage medium of claim 14 , wherein each respective mesh in the identified subset of meshes comprises a plurality of triangles, and wherein the respective dataset for each respective mesh in the identified subset of meshes comprises data defining a plurality of line segments that each represent an intersection between a respective triangle of the respective mesh and the two-dimensional plane positioned within the area of interest.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the three-dimensional model file defines a respective bounding box for each mesh defined in the three-dimensional model file, wherein each given bounding box encompasses a respective mesh on all sides, wherein the subset of meshes that intersect with the two-dimensional plane positioned within the area of interest comprises a second subset of meshes, and wherein the program instructions are further executable to cause the computing system to:

prior to identifying the second subset of meshes that intersect with the two-dimensional plane, identify a set of bounding boxes that intersect with the two-dimensional plane;

identify, from among the set of meshes defined by the three-dimensional model file, a first subset of meshes that are encompassed within the identified set of bounding boxes; and

identify, from among the first subset of meshes that are encompassed within the identified set of bounding boxes, the second subset of meshes that intersect with the two-dimensional plane positioned within the area of interest.

18. The non-transitory computer-readable storage medium of claim 14 , wherein:

the program instructions executable to cause the computing system to render the three-dimensional view of the construction project comprise program instructions that are executable to cause the computing system to render the two-dimensional plane positioned within the area of interest.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the program instructions are further executable to cause the computing system to:

receive a user input requesting that the area of interest be adjusted;

in response to receiving the user input requesting that the area of interest be adjusted, modify the rendered two-dimensional plane, wherein the modifying of the rendered two-dimensional plane involves one of (a) changing a size of the rendered two-dimensional plane, (b) repositioning the rendered two-dimensional plane along one or more axes of the rendered three-dimensional drawing, or (c) rotating the rendered two-dimensional plane about an axis.

20. The non-transitory computer-readable storage medium of claim 14 , wherein the program instructions are further executable to cause the computing system to:

determine dimensioning information associated with particular portions of one or more respective meshes that intersect with the two-dimensional plane positioned within the area of interest; and

based on the determined dimensioning information, supplementing the rendered two-dimensional drawing with the determined dimensioning information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2019
From: CHU, WINSON; WU, PETER; MYERS, CHRISTOPHER
To: PROCORE TECHNOLOGIES, INC.
Reel/Frame 048359/0680 →
Continuity (1)
Continuation 16277406 · Feb 15, 2019
Cited By (1)
US 12,190,021