[go: up one dir, main page]

AU2020221451B2 - Generating technical drawings from building information models - Google Patents

Generating technical drawings from building information models Download PDF

Info

Publication number
AU2020221451B2
AU2020221451B2 AU2020221451A AU2020221451A AU2020221451B2 AU 2020221451 B2 AU2020221451 B2 AU 2020221451B2 AU 2020221451 A AU2020221451 A AU 2020221451A AU 2020221451 A AU2020221451 A AU 2020221451A AU 2020221451 B2 AU2020221451 B2 AU 2020221451B2
Authority
AU
Australia
Prior art keywords
dimensional
meshes
mesh
height
rendered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
AU2020221451A
Other versions
AU2020221451A1 (en
Inventor
Chris Bindloss
Winson Chu
Christopher Myers
Peter Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Procore Technologies Inc
Original Assignee
Procore Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/277,679 external-priority patent/US10699478B1/en
Priority claimed from US16/594,877 external-priority patent/US11182513B2/en
Application filed by Procore Technologies Inc filed Critical Procore Technologies Inc
Publication of AU2020221451A1 publication Critical patent/AU2020221451A1/en
Application granted granted Critical
Publication of AU2020221451B2 publication Critical patent/AU2020221451B2/en
Priority to AU2025248726A priority Critical patent/AU2025248726A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/14Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

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.

Description

GENERATING TECHNICAL GENERATING TECHNICAL DRAWINGS DRAWINGS FROM FROM BUILDING BUILDING INFORMATION INFORMATION 19 Jun 2025 2020221451 19 Jun 2025
MODELS MODELS CROSS-REFERENCE CROSS-REFERENCE TO TORELATED RELATEDAPPLICATIONS APPLICATIONS
[001] Thisapplication
[001] This applicationclaims claimspriority priorityto: to: (1) (1) U.S. non-provisionalapplication U.S. non-provisional application No. No.16/277,406, 16/277,406, filed filed on on February February 15, 15, 2019 2019 and and titled titled“Generating "Generating Technical Technical Drawings From Drawings From Building Building Information Information
Models”;(2) Models"; (2)U.S. U.S.non-provisional non-provisionalapplication applicationNo. No. 16/277,679, 16/277,679, filed filed on on February February 15, 15, 20192019 and and 2020221451
titled “Generating titled "GeneratingTechnical TechnicalDrawings Drawings From Building Information From Building Information Models”; (3) U.S. Models"; (3) U.S. non- non- provisional application provisional application No. No.16/277,752, 16/277,752, filed filed on on February February 15, and 15, 2019 2019 and "Generating titled titled “Generating Technical Drawings Technical Drawings From From Building Building Information Information Models”; Models"; and and (4) U.S. (4) U.S. non-provisional non-provisional
application application No. 16/594,877,filed No. 16/594,877, filed on October7, on October 7, 2019 2019and andtitled titled “Generating TechnicalDrawings "Generating Technical Drawings FromBuilding From BuildingInformation Information Models,” Models," the the contents contents of of each each of of which which areare incorporated incorporated by by reference reference
herein in their entirety. herein in their entirety.
BACKGROUND BACKGROUND
[002] Construction
[002] Construction projectsareareoften projects oftencomplex complex endeavors endeavors involving involving the coordination the coordination of many of many
professionals across professionals across several several discrete discretephases. phases. Typically, Typically, aaconstruction constructionproject projectcommences withaa commences with
design phase,where design phase, where architects architects design design the overall the overall shape shape and andoflayout layout of a construction a construction project, such project, such
as a building. as a Next, building. Next, engineers engineers engage engage in a planning in a planning phase phase where where they theyarchitects' take the take the architects’ designs designs and produceengineering and produce engineeringdrawings drawings andand plans plans for for the the construction construction of the of the project. project. At this At this stage, stage,
engineers mayalso engineers may also design design various various portions portions of project's of the the project’s infrastructure, infrastructure, such such as HVAC, as HVAC,
plumbing, electrical, etc., and produce plans reflecting these designs as well. After, or perhaps in plumbing, electrical, etc., and produce plans reflecting these designs as well. After, or perhaps in
conjunction with, the conjunction with, the planning phase, contractors planning phase, contractors may engageininaalogistics may engage logistics phase phase to to review review these these
plans and begin to allocate various resources to the project, including determining what materials plans and begin to allocate various resources to the project, including determining what materials
to purchase, scheduling delivery, and developing a plan for carrying out the actual construction of to purchase, scheduling delivery, and developing a plan for carrying out the actual construction of
the project. Finally, during the construction phase, construction professionals begin to construct the project. Finally, during the construction phase, construction professionals begin to construct
the project based on the finalized plans. the project based on the finalized plans.
[002a]
[002a] A A reference reference herein herein to a to a patent patent document document or any or any other other matter matter as identified identified prior art,asisprior not art, is not
to be to be taken taken as as an an admission that the admission that the document or other document or other matter matter was wasknown knownor or thatthe that theinformation information it it contains waspart contains was partofofthethecommon common general general knowledge knowledge as at the as at thedate priority priority date of any of any of the of the claims. claims.
OVERVIEW OVERVIEW
[003]
[003] As As a general a general matter, matter, one phase one phase of a construction of a construction project the project involves involves thereview, creation, creation, and review, and
sometimesrevision, sometimes revision,ofofplans plansofofthe theconstruction constructionproject. project.InInmost most cases, cases, these these plans plans comprise comprise
visual representations of the construction project that visually communicate information about the visual representations of the construction project that visually communicate information about the
construction project,such construction project, such as as howhow to assemble to assemble or construct or construct the project. the project. Such Such visual visual representations representations
tend to tend to take take one of at one of at least leasttwo two different differentforms. forms. One formmay One form maybe be a two-dimensional a two-dimensional technical technical drawing, such drawing, suchasas an an architectural architectural drawing or aa construction drawing or construction blueprint, blueprint, in in which two-dimensional which two-dimensional 19 Jun 2025 2020221451 19 Jun 2025 line line segments of the segments of the drawing drawingrepresent representcertain certain physical physical elements elementsofofthe the construction construction project project like like walls and walls and ducts. ducts. In In this this respect, respect, aa two-dimensional technical drawing two-dimensional technical drawingcould couldbebeembodied embodied either either in in paper form paper form or or in in a computerized a computerized form, form, such assuch as anfile an image image file (e.g., (e.g.,JPEG, a PDF, a PDF, JPEG, etc.). etc.).
[004] Two-dimensional
[004] Two-dimensional technical technical drawings drawings have have advantages. advantages. For instance, For instance, they arethey areset often often set out in aauniversally-recognized out in universally-recognized format format that ifmost, that most, if not not all, all, construction construction professionals professionals can read can read and understand. and understand.Further, Further,they theyare aredesigned designed to to be be relativelycompact, relatively compact, withwith one one drawing drawing being being 2020221451
arranged to fit on a single piece of paper or in a computerized file format that requires minimal arranged to fit on a single piece of paper or in a computerized file format that requires minimal
processing power processing powerandand computer computer storage storage (e.g., (e.g., a PDF a PDF viewer, viewer, JPEG viewer, JPEG viewer, etc.).two-Yet, etc.). Yet, two- dimensionaldrawings dimensional drawingshave have disadvantages disadvantages as as well. well. ForFor instance, instance, it itoften oftentakes takesmultiple multipledrawings drawings in in order to visually order to visuallycommunicate communicate an overview an overview of anconstruction of an entire entire construction project. project. This is due This is due to the to the
fact that two-dimensional fact that two-dimensionaldrawings drawings tend tend not not to to efficiently efficiently present present information information about the about the
construction project from a third (e.g., vertical) dimension. Typically, a construction project may construction project from a third (e.g., vertical) dimension. Typically, a construction project may
have at have at least least one one two-dimensional technicaldrawing two-dimensional technical drawingper perfloor floorofofthe the construction construction project. project. Thus, Thus, for a construction for a constructionproject project spanning, spanning, say, say, ten floors, ten floors, the construction the construction project project will will have have ten at least at least ten two-dimensionaltechnical two-dimensional technicaldrawings, drawings,and andperhaps perhaps more more to to fullyvisually fully visuallycommunicate communicatethethe various various
aspects ofthe aspects of theconstruction construction project. project.
[005]
[005] ToTo advance advance over over two-dimensional two-dimensional technical technical drawings, drawings, computerized, computerized, three-dimensional three-dimensional
technologywas technology wasdeveloped developedas as another another form form in in which which information information about about a construction a construction project project cancan
be visually be visually communicated. communicated. In In thisrespect, this respect, aa three-dimensional three-dimensionalmodel modelofofthe theconstruction constructionproject project wouldbebeembodied would embodiedin in a computerized a computerized form, form, suchsuch as ainbuilding as in a building information information model model (BIM) (BIM) file, file,
with three-dimensional with three-dimensionalmeshes meshes visually visually representing representing thethe physical physical elements elements of the of the construction construction
project (e.g., walls, ducts, etc.). Specialized software is configured to access a BIM file and, based project (e.g., walls, ducts, etc.). Specialized software is configured to access a BIM file and, based
on this BIM on this file, render BIM file, a three-dimensional render a viewofofthe three-dimensional view theconstruction constructionproject projectfrom fromone oneorormore more perspectives. This perspectives. This provided providedsome some advantages advantages over over two-dimensional two-dimensional technical technical drawings, drawings, namely namely
that a construction professional could often get a full overview of the entire construction project that a construction professional could often get a full overview of the entire construction project
based on based on aa single single three-dimensional viewand three-dimensional view andthus thusmay may nothave not have toto shufflethrough shuffle throughmultiple multipletwo- two- dimensionaldrawings dimensional drawingsin in order order to to conceptualize conceptualize whatwhat the construction the construction project project lookslooks like. like. In In addition, the addition, the specialized specializedsoftware software allowed allowed a a construction construction professional professional to to navigate navigate throughout throughout the the
three-dimensionalview three-dimensional viewand andfocus focus on on elements elements of interest of interest in in theconstruction the construction project,such project, suchasasa a particular wall or duct. particular wall or duct.
[006] However,
[006] However, existing existing technology technology for presenting for presenting visual visual representations representations of construction of construction
projects has several limitations. For example, one such limitation is that existing software tools projects has several limitations. For example, one such limitation is that existing software tools
for for rendering rendering three-dimensional viewsofofconstruction three-dimensional views constructionprojects projects do do not not provide provide all all the the information information
about a construction project that may be available on certain two-dimensional technical drawings. about a construction project that may be available on certain two-dimensional technical drawings.
2
For instance, For instance, dimensioning dimensioninginformation information forfor certainphysical certain physicalelements elements of of a construction a construction project project 19 Jun 2025 2020221451 19 Jun 2025
may not be presented on a three-dimensional view of a construction project as doing so may clutter may not be presented on a three-dimensional view of a construction project as doing so may clutter
or or obscure the three-dimensional obscure the three-dimensionalpresentation. presentation. Such Such information information is is more more aptly aptly displayed displayed on an on an
appropriate appropriate two-dimensional drawing. two-dimensional drawing.
[007] Another
[007] Another limitationisisthat limitation that existing existing software software tools tools for forrendering renderingthree-dimensional three-dimensional views views of of
construction projects construction projects do donot nothave have thethe capability capability to generate to generate two-dimensional two-dimensional drawings drawings that that correspondtotothe correspond thethree-dimensional three-dimensional view. view. This This is problematic is problematic because, because, as mentioned, as mentioned, two- two- 2020221451
dimensional drawingsmay dimensional drawings may display display certaininformation, certain information,such such asas dimensioning dimensioning information, information, that that is is
not (and perhaps cannot be) presented in the three-dimensional view of the construction project. not (and perhaps cannot be) presented in the three-dimensional view of the construction project.
[008] Another
[008] Another limitation limitation with with existing existing technology technology for presenting for presenting visual visual representations representations of of construction projects is that, while some software tools exist that can render a three-dimensional construction projects is that, while some software tools exist that can render a three-dimensional
view of the construction project from various perspectives, these software tools tend not to provide view of the construction project from various perspectives, these software tools tend not to provide
any overviewofofthe any overview theentire entireconstruction constructionproject projectthat that is is functional. For instance, functional. For instance, some somesoftware software tools for tools for rendering rendering three-dimensional three-dimensional views of construction views of construction projects projects may also have may also have the the capability capability to present a static, two-dimensional drawing of the project as an inset to the rendering of a three- to present a static, two-dimensional drawing of the project as an inset to the rendering of a three-
dimensional view (usually positioned, for instance, in the top left or top right corner of the screen). dimensional view (usually positioned, for instance, in the top left or top right corner of the screen).
However, such However, such an inset an inset tends tends notasbe not be as functional functional as desired. as desired. For instance, For instance, in some in some cases, the cases, inset the inset
does notdisplay does not displayenough enough information information about about the the construction construction project project or or provide does not does notanyprovide ability any ability
to use the inset to navigate about the three-dimensional model. to use the inset to navigate about the three-dimensional model.
[009] Yetanother
[009] Yet another limitationwith limitation with existingtechnology existing technology forfor presenting presenting visual visual representations representations of of
construction projects construction projects is is that, that,ininsome some cases, cases, neither neither aa two-dimensional technical drawing two-dimensional technical drawingnor nora a three-dimensionalview three-dimensional viewreadily readilyprovides providesdesired desiredinformation informationabout aboutthetheconstruction constructionproject. project.For For instance, consider a scenario where construction plans call for a collection of multiple pipes to run instance, consider a scenario where construction plans call for a collection of multiple pipes to run
parallel to a floor, but, perhaps as an oversight, no individual technical drawing nor any view of a parallel to a floor, but, perhaps as an oversight, no individual technical drawing nor any view of a
three-dimensionalmodel three-dimensional modelindicates indicatesthe thespecific specific distance distance between eachof between each of these these pipes. pipes. In In scenarios scenarios
like like these, these,the theconstruction constructionprofessional professionalwould would typically typically derive derive this thisinformation information based based on his or on his or
her own her calculation, accounting own calculation, accountingfor, for, among amongother otherthings, things,the theknown known dimension dimension ofindividual of an an individual pipe, the total number of pipes in the collection, how far the first pipe is from the near wall, and pipe, the total number of pipes in the collection, how far the first pipe is from the near wall, and
how far the last pipe is from the far wall. how far the last pipe is from the far wall.
[0010] Toameliorate
[0010] To amelioratethese theseproblems problems (among (among others) others) with with existing existing technology technology for presenting for presenting
visual representations visual representations of of construction constructionprojects, projects,disclosed disclosedherein hereinis issoftware software technology technology that that
enables enables aa computing computingsystem system to to generate generate a two-dimensional a two-dimensional technical technical drawing drawing at a custom at a custom clip clip
height based height based on onaa view viewofofaathree-dimensional three-dimensionalmodel, model, which which may may then then be presented be presented to a to a user user of of the computer the system(e.g., computer system (e.g., aa construction construction professional). professional). For For instance, instance, in inone oneimplementation, implementation, the the
disclosed disclosed software software technology technology may cause aa computing may cause computingdevice devicetotoengage engageininthe thefollowing following operations: (1)receive operations: (1) receivean an indication indication of aof a desired desired clip clip height height of a three-dimensional of a three-dimensional view at which view at which 19 Jun 2025 2020221451 19 Jun 2025 to generate to a two-dimensional generate a two-dimensionaltechnical technicaldrawing; drawing; (2)(2) identifya asubset identify subsetofofmeshes meshes that that intersect intersect with a two-dimensional plane at the desired clip height; (3) determine respective portions of each with a two-dimensional plane at the desired clip height; (3) determine respective portions of each mesh that intersect the two-dimensional plane at the desired clip height; (4) compile a dataset that mesh that intersect the two-dimensional plane at the desired clip height; (4) compile a dataset that defines the two-dimensional defines the two-dimensionaldrawing; drawing; and and (5) (5) render render the two-dimensional the two-dimensional drawingdrawing using the using the compileddataset. compiled dataset. However, However,it it should should be be understood understood thatthat thethe disclosed disclosed software software technology technology for for generating aa two-dimensional generating two-dimensionaltechnical technicaldrawing drawing based based on on a three-dimensional a three-dimensional model model may may cause cause 2020221451 aa computing systemtotoperform computing system performvarious variousother otheroperations operationsasaswell. well.
[0011]
[0011] To further ameliorate To further ameliorate the the aforementioned problems (among aforementioned problems (amongothers) others)with withexisting existing technology for presenting visual representations of construction projects, also disclosed herein is technology for presenting visual representations of construction projects, also disclosed herein is
software technologythat software technology that enables enables aa computing computingsystem systemtoto usea athree-dimensional use three-dimensionalmodel model as as a basis a basis
for for generating generating aa two-dimensional two-dimensional drawing drawing thatthat may may serve serve as a functional as a functional inset inset to theto the three- three-
dimensionalview, dimensional view,which which may may then then be presented be presented to aofuser to a user the of the computing computing system system (e.g., a (e.g., a construction professional). construction professional). ForFor instance, instance, in implementation, in one one implementation, the disclosed the disclosed software software technologymay technology maycause cause a computing a computing device device to engage to engage in the in the following following operations: operations: (1) generate (1) generate a a top-downtwo-dimensional top-down two-dimensional drawing drawing of the of the three-dimensional three-dimensional model model at aatdefault a default clipheight clip heightby, by,for for instance, instance, engaging in aa similar engaging in similar process process to to that thatmentioned above; (2) mentioned above; (2) retrieve retrieve from data storage from data storage a a
technical drawing technical file and drawing file anduse usea apattern patternmatching matching technique technique in in order order to to match match portions portions of of the the generated top-downtwo-dimensional generated top-down two-dimensional technical technical drawing drawing with with portions portions of retrieved of the the retrieved technical technical
drawing file; and drawing file; and (3) (3) overlay overlay the the top-down two-dimensionaldrawing top-down two-dimensional drawing onto onto thethe retrieved retrieved technical technical
drawing fileininaccordance drawing file accordancewithwith the pattern the pattern matching matching technique technique to create to thereby thereby create a functional a functional inset. inset. However, However, ititshould should be be understood understood that that the disclosed the disclosed software software technology technology for generating for generating a a functional two-dimensional functional technicaldrawing two-dimensional technical drawingmay may cause cause a computing a computing system system to perform to perform various various
other operations other operations as as well. well.
[0012] Tostill
[0012] To still further further ameliorate the aforementioned ameliorate the aforementioned problems problems (among (among others) others) with existing with existing
technology for presenting visual representations of construction projects, also disclosed herein is technology for presenting visual representations of construction projects, also disclosed herein is
software technology software technologythat that enables enables aa computing computingsystem systemtoto usea athree-dimensional use three-dimensionalmodel model as as a basis a basis
for for generating generating aa two-dimensional drawingthat two-dimensional drawing thatincludes includesadditional additionaldimensioning dimensioninginformation information that that
maynot may notbebeotherwise otherwiseavailable, available,which whichmay may then then be be presented presented to to a user a user of of thecomputing the computing system system
(e.g., (e.g.,a aconstruction constructionprofessional). professional). For For instance, instance, in inone one implementation, the disclosed implementation, the disclosed software software technologymay technology maycause cause a computing a computing device device to engage to engage in following in the the following operations: operations: (1) receive (1) receive an an indication indication ofofanan area area of of interest interest in in a three-dimensional a three-dimensional model model that that includes includes at least at least one mesh; one (2) mesh; (2)
identify identify from from among themeshes among the meshesininthe thethree-dimensional three-dimensionalmodel model themeshes the meshes that that intersectwith intersect withthe the area of interest; area of interest; (3) (3)determine determine portions portions of each of each meshintersects mesh that that intersects with thewith area the area of line; of interest interest line; and (4) and (4) based based on on the the determined portions, generate determined portions, generate aa two-dimensional drawingincluding two-dimensional drawing includinga adisplay display
4 of of dimension information.In In dimension information. another another implementation, implementation, the disclosed the disclosed software software technology technology may may 19 Jun 2025 2020221451 19 Jun 2025 cause cause aa computing computing device device to engage to engage in following in the the following operations: operations: (1) receive (1) receive a user input a user input identifying at identifying at least leastone one first firstmesh meshand and at atleast leastone onesecond second mesh; (2) determine mesh; (2) portions of determine portions of each each identified identified mesh that intersect mesh that intersectwith with aatwo-dimensional plane; and two-dimensional plane; and (3) (3) generate generate aa two-dimensional two-dimensional drawing includinga adisplay drawing including display of of relevant relevant dimensioning dimensioning information information based based on the on the determined determined portions. However, portions. However,itit should shouldbe beunderstood understoodthat thatthe the disclosed disclosed software software technology technologyfor forgenerating generating aa two-dimensional drawing two-dimensional drawing having having additional additional dimensioning dimensioning information information may cause may cause a computing a computing 2020221451 system to perform system to performvarious variousother other operations operations as as well. well.
[0013]
[0013] AsAs setset forth forth in in more more detail detail below, below, the disclosed the disclosed softwaresoftware technology technology for visual for presenting presenting visual representations of representations of construction construction projects projects may maycause causethe thecomputing computing system system to engage to engage in various in various
other operations other operations as as well. well.
[0013a] According
[0013a] According to atofirst a first aspect aspect of the of the present present invention, invention, there there is provided is provided a computing a computing
system comprising:at atleast system comprising: leastoneone processor; processor; a non-transitory a non-transitory computer-readable computer-readable medium; medium; and and programinstructions program instructions stored stored on on the the non-transitory non-transitory computer-readable medium computer-readable medium thatthat areare executable executable
by the by the at at least leastone one processor processor to tocause cause the the computing systemto: computing system to: render render aa three-dimensional three-dimensionalview view of of a a construction project construction project using using a three-dimensional a three-dimensional model model file file that that defines defines a set of ameshes; set of meshes; receive receive an an indication indication of of aa clip clipheight heightatat which whichtoto generate generatea two-dimensional a two-dimensional drawing of the drawing of the construction construction
project, wherein project, the clip wherein the clip height height is is associated with the associated with the rendered renderedthree-dimensional three-dimensional view view of of thethe
construction project; identify, construction project; identify,from from among theset among the setofofmeshes meshes defined defined by by thethe three-dimensional three-dimensional
modelfile, model file, aa subset subset of of meshes that intersect meshes that intersect with with aa two-dimensional planepositioned two-dimensional plane positionedatat the the clip clip height; for each respective mesh in the identified subset of meshes, generate a respective dataset height; for each respective mesh in the identified subset of meshes, generate a respective dataset
that defines that defines aa particular particularportion portionof ofthe therespective respectivemesh mesh that thatintersects intersectswith withthe thetwo-dimensional two-dimensional
plane positioned at the clip height; based at least on the respective dataset for each respective mesh plane positioned at the clip height; based at least on the respective dataset for each respective mesh
in in the the identified identifiedsubset subsetofofmeshes, meshes, generate generate aa compiled dataset that compiled dataset that defines defines the the two-dimensional two-dimensional
drawing ofthe drawing of theconstruction constructionproject projectatat the the clip clip height, height, wherein whereinthe thegenerated generatedcompiled compiled dataset dataset
comprises (i) data comprises (i) data defining defining aa plurality plurality of of line line segments that represent segments that represent portions portionsofofmeshes meshes that that
intersect withthe intersect with thetwo-dimensional two-dimensional plane plane and and (ii) (ii) association association data indicating, data indicating, for each respective for each respective
line line segment segment of of thethe plurality plurality of of line line segments, segments, an association an association betweenbetween the respective the respective line segment line segment
and and aa respective respective mesh representedbybythe mesh represented theline line segment; segment;and andrender renderthe thetwo-dimensional two-dimensional drawing drawing
of the construction of the construction project project using usingthe thecompiled compiled dataset; dataset; while while rendering rendering the the two-dimensional two-dimensional
drawing drawing ofof the the construction construction project, project, receive receive a input a user user input selecting selecting an element an element of the rendered of the rendered two- two- dimensionaldrawing; dimensional drawing;andand in in response response to receiving to receiving the the user user input input selecting selecting the the element element of of the the rendered two-dimensional rendered two-dimensional drawing, drawing, (i)(i) based based on on thethe association association data,identify data, identifyatatleast least one one mesh mesh from theset from the setofofmeshes meshes that that is is associated associated withwith the the selected selected element element of the of the rendered rendered two-dimensional two-dimensional
drawing and drawing and (ii)render (ii) render an an updated updated three-dimensional three-dimensional view view of the of the construction construction project thatproject orients that orients aa perspective perspective of of the the updated three-dimensionalview updated three-dimensional viewsuch such thatatatleast that least one onemesh mesh represented represented by by 19 Jun 2025 2020221451 19 Jun 2025 the selected element is brought into view. the selected element is brought into view.
[0013b] According
[0013b] According to atosecond a second aspect aspect ofpresent of the the present invention, invention, there there is provided is provided a method a method
comprising: renderinga three-dimensional comprising: rendering a three-dimensional view view of a construction of a construction projecta three- project using using a three- dimensionalmodel dimensional model filethat file thatdefines definesaaset set of of meshes; meshes;receiving receivingananindication indicationofofa aclip clipheight heightatat whichtoto generate which generate aa two-dimensional two-dimensionaldrawing drawing of of thethe constructionproject, construction project,wherein whereinthe theclip clipheight height is associated is associated with with the the rendered three-dimensionalview rendered three-dimensional viewofofthetheconstruction constructionproject; project;identifying, identifying, 2020221451
from among from among thethe setofofmeshes set meshes defined defined by by the the three-dimensional three-dimensional model model file,file, a subset a subset of meshes of meshes
that intersect with a two-dimensional plane positioned at the clip height; for each respective mesh that intersect with a two-dimensional plane positioned at the clip height; for each respective mesh
in in the identifiedsubset the identified subsetofofmeshes, meshes, generating generating a respective a respective datasetdataset that defines that defines a particular a particular portion portion
of of the respectivemesh the respective mesh that that intersects intersects withwith the the two-dimensional two-dimensional plane positioned plane positioned at the clipatheight, the clip height, whereinthe wherein the generated generatedcompiled compiled datasetcomprises dataset comprises (i)(i) datadefining data defining a pluralityofofline a plurality linesegments segments that represent portions of meshes that intersect with the two-dimensional plane and (ii) association that represent portions of meshes that intersect with the two-dimensional plane and (ii) association
data indicating,for data indicating, foreach each respective respective lineline segment segment of the of the plurality plurality of line of line segments, segments, an association an association
betweenthe between therespective respective line line segment andaa respective segment and respective mesh representedbybythe mesh represented the line line segment; based segment; based
at at least least on on the the respective respective dataset dataset for for each respective mesh each respective meshininthe theidentified identified subset subsetofofmeshes, meshes, generating generating a a compiled compiled dataset dataset thatthat defines defines the two-dimensional the two-dimensional drawing drawing of of the construction the construction project project at at the the clip clipheight; height;and and rendering rendering the the two-dimensional drawingofofthetheconstruction two-dimensional drawing constructionproject projectusing using the compiled the dataset; while compiled dataset; whilerendering renderingthe thetwo-dimensional two-dimensional drawing drawing of the of the construction construction project, project,
receiving aa user receiving user input input selecting selecting an anelement elementofofthetherendered rendered two-dimensional two-dimensional drawing; drawing; and inand in response toto receiving response receivingthe theuser userinput inputselecting selecting thethe element element of rendered of the the rendered two-dimensional two-dimensional
drawing, (i) drawing, (i) based on the based on the association association data, data, identifying identifying at atleast leastone onemesh mesh from the set from the set of of meshes meshes
that is that is associated associated with with the the selected selected element of the element of the rendered renderedtwo-dimensional two-dimensional drawing drawing and and (ii) (ii) rendering an updated three-dimensional view of the construction project that orients a perspective rendering an updated three-dimensional view of the construction project that orients a perspective
of the of the updated three-dimensionalview updated three-dimensional view such such that that at at leastone least onemesh mesh represented represented by the by the selected selected
element is brought element is into view. brought into view.
[0014] In one
[0014] In one embodiment, embodiment, disclosed disclosed hereinisisaacomputer-implemented herein computer-implemented method method that that involves involves (a) (a)
rendering aa three-dimensional rendering viewofofaa construction three-dimensional view construction project project using using aa three-dimensional three-dimensional model file model file
that defines a set of meshes; (b) receiving an indication of a clip height at which to generate a two- that defines a set of meshes; (b) receiving an indication of a clip height at which to generate a two-
dimensionaldrawing dimensional drawingof ofthetheconstruction construction project,wherein project, wherein thethe clipheight clip heightisisassociated associatedwith withthethe rendered three-dimensional rendered three-dimensionalview viewofofthe theconstruction constructionproject; project;(c) (c) identifying, identifying, from from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensional model model file,a asubset file, subsetofofmeshes meshes that that intersectwith intersect witha a two-dimensional plane positioned at the clip height; (d) for each respective mesh in the identified two-dimensional plane positioned at the clip height; (d) for each respective mesh in the identified
subset ofmeshes, subset of meshes, generating generating a respective a respective dataset dataset that defines that defines a particular a particular portion portion of the respective of the respective
mesh that intersects with the two-dimensional plane positioned at the clip height; (e) based at least mesh that intersects with the two-dimensional plane positioned at the clip height; (e) based at least on therespective on the respectivedataset dataset forfor each each respective respective mesh mesh in the in the identified identified subset subset of of generating meshes, meshes, generating a a 19 Jun 2025 2020221451 19 Jun 2025 compileddataset compiled dataset that that defines defines the the two-dimensional drawing two-dimensional drawing ofof theconstruction the constructionproject projectatat the the clip clip height; and height; and (f) (f)rendering renderingthethetwo-dimensional two-dimensional drawing drawing ofconstruction of the the construction project project using using the the compileddataset. compiled dataset.
[0015] In another
[0015] In embodiment,disclosed another embodiment, disclosedherein hereinisisaa computer-implemented computer-implemented method method that that involves involves
(a) (a) retrieving retrieving aa first first two-dimensional drawing two-dimensional drawing representative representative of a portion of a portion of a construction of a construction project, project,
(b) (b) obtaining obtaining aa second second two-dimensional drawing two-dimensional drawing representative representative ofof theportion the portionofofthe theconstruction construction 2020221451
project, (c) project, (c)engaging engaging in in aapattern patternmatching matching operation operation based based on on the the first firsttwo-dimensional two-dimensional drawing drawing
and the and the second two-dimensional second two-dimensional drawing drawing to to thereby thereby align align thefirst the first two-dimensional two-dimensionaldrawing drawing with with
the second the secondtwo-dimensional two-dimensional drawing, drawing, (d) generating (d) generating a combined a combined drawing drawing by overlaying by overlaying the the second two-dimensional second two-dimensional drawing drawing on the on the first first two-dimensional two-dimensional drawing drawing in accordance in accordance with the with the
alignmentresulting alignment resulting from fromengaging engaging in the in the pattern pattern matching matching technique, technique, andrendering and (e) (e) rendering the the generated combineddrawing. generated combined drawing.
[0016] In another
[0016] In embodiment,disclosed another embodiment, disclosedherein hereinisisaa computer-implemented computer-implemented method method that that involves involves
(a) (a) rendering rendering aa three-dimensional three-dimensional view of aa construction view of construction project project using using aa three-dimensional three-dimensional model model
file that defines a set of meshes, (b) receiving an indication of an area of interest from which to file that defines a set of meshes, (b) receiving an indication of an area of interest from which to
generate generate aa two-dimensional two-dimensionaldrawing drawing of of thethe construction construction project, project, wherein wherein the the area area of interest of interest is is
associated with the rendered three-dimensional view of the construction project, (c) identifying, associated with the rendered three-dimensional view of the construction project, (c) identifying,
from among from among thethe setofofmeshes set meshes defined defined by by the the three-dimensional three-dimensional model model file, file, a subset a subset of meshes of meshes
that intersect that intersectwith with aa two-dimensional planepositioned two-dimensional plane positionedwithin withinthethearea areaofofinterest, interest, (d) (d) for for each each respective mesh respective meshininthe theidentified identified subset subset of of meshes, meshes,generate generatea arespective respectivedataset datasetthat thatdefines definesaa particular portion of the respective mesh that intersects with the two-dimensional plane positioned particular portion of the respective mesh that intersects with the two-dimensional plane positioned
within the area of interest, (e) based at least on the respective dataset for each respective mesh in within the area of interest, (e) based at least on the respective dataset for each respective mesh in
the identified the identified subset subset of of meshes, meshes, generating generating aa compiled compileddataset datasetthat that defines defines the the two-dimensional two-dimensional drawing drawing of of thethe construction construction project project at theatarea the of area of interest, interest, and and (f) (f) rendering rendering the two-dimensional the two-dimensional
drawing drawing ofof the the construction construction project project usingusing the compiled the compiled dataset. dataset.
[0017] In another
[0017] In embodiment,disclosed another embodiment, disclosedherein hereinisisaa computer-implemented computer-implemented method method that that involves involves
(a) rendering (a) rendering aa three-dimensional three-dimensional view of aa construction view of construction project project using using aa three-dimensional three-dimensional model model
file that defines a set of meshes, (b) receiving an input identifying a first mesh and a second mesh, file that defines a set of meshes, (b) receiving an input identifying a first mesh and a second mesh,
(c) (c) determining determining (i)(i) a firstportion a first portion of of the the first first mesh mesh that that intersects intersects with awith a two-dimensional two-dimensional plane, plane, and (ii) and (ii) aasecond second portion portion of of the thesecond second mesh that intersects mesh that intersects with with the the two-dimensional plane, and two-dimensional plane, and (d) based atat least (d) based least ononthe thedetermined determined first first portion portion andand the the second second portion, portion, generate generate a two- a two-
dimensionaldrawing dimensional drawingthat thatincludes includesaarepresentation representation of of the the determined first portion determined first portion and and the the second second
portion. portion.
6a 6a
[0018] In another
[0018] In another embodiment, disclosedherein embodiment, disclosed hereinisisaa computing computingsystem system thatcomprises that comprisesatatleast least one one 19 Jun 2025 2020221451 19 Jun 2025
processor, aa non-transitory processor, non-transitory computer-readable computer-readablemedium, medium, and and program program instructions instructions stored stored on on the the non-transitory computer-readable non-transitory computer-readablemedium medium thatthat are are executable executable by at by the theleast at least one one processor processor to to cause thecomputing cause the computing system system to carry to carry out out the the operations operations disclosed disclosed herein, including herein, including but not limited but not limited
to the to the operations operations of ofeach each the theforegoing foregoing methods. methods.
[0019] In yet
[0019] In yet another anotherembodiment, embodiment, disclosed disclosed hereinherein is a non-transitory is a non-transitory computer-readable computer-readable
medium comprising medium comprising program program instructions instructions that that areareexecutable executabletotocause causea acomputing computing system system to to carry carry 2020221451
out the operations out the operations disclosed disclosed herein, herein, including including but butnot notlimited limitedtotothe theoperations operationsofofeach eachofofthethe foregoing methods. foregoing methods.
[0020] One
[0020] One of of ordinary ordinary skillskill in art in the the will art will appreciate appreciate these these as wellas aswell as numerous numerous other other aspects in aspects in
reading thefollowing reading the following disclosure. disclosure.
6b 6b
WO wo 2020/167562 PCT/US2020/016853
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 depicts an example network configuration in which example embodiments may be
implemented.
[0022] FIG. 2 depicts an example computing platform that may be configured carry out one or
more of the functions of the present disclosure.
[0023] FIG. 3 depicts an example two-dimensional technical drawing.
[0024] FIG. 4 depicts an example three-dimensional BIM view, in accordance with one
embodiment of the present disclosure.
[0025] FIG. 5 is a flow diagram depicting example operations for generating a two-dimensional
technical drawing at a custom clip height, according to one embodiment of the present disclosure.
[0026]
[0026] FIG. FIG.6A6Adepicts an an depicts example output example of a computing output device,device, of a computing in accordance with in accordance with one one
embodiment of the present disclosure.
[0027] FIG. 6B depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0028] FIG. 7 depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0029] FIG. 8A is a flow diagram depicting example operations for generating a functional inset,
according to one embodiment of the present disclosure.
[0030] FIG. 8B is a flow diagram depicting example operations for engaging in a pattern matching
technique, according to one embodiment of the present disclosure.
[0031] FIG. 9A depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0032] FIG. 9B depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0033] FIG. 10 depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0034] FIG. 11 is a flow diagram depicting example operations for generating a two-dimensional
dimension view, according to one embodiment of the present disclosure.
[0035] FIG. 12A depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0036] FIG. 12B depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0037] FIG. 13A depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
PCT/US2020/016853
[0038] FIG. 13B depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0039] FIG. 14 is a flow diagram depicting example operations for generating a two-dimensional
dimension view, according to one embodiment of the present disclosure.
[0040] FIG. 15A depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0041] FIG. 15B depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
[0042] FIG. 15C depicts an example output of a computing device, in accordance with one
embodiment of the present disclosure.
WO wo 2020/167562 PCT/US2020/016853
DETAILED DESCRIPTION
[0043] The following disclosure makes reference to the accompanying figures and several
example embodiments. One of ordinary skill in the art should understand that such references are
for the purpose of explanation only and are therefore not meant to be limiting. Part or all of the
disclosed systems, devices, and methods may be rearranged, combined, added to, and/or removed
in a variety of manners, each of which is contemplated herein.
I. EXAMPLE SYSTEM CONFIGURATION
[0044] The present disclosure is generally directed to software technology for managing
construction projects, and in particular to a software tool that renders a three-dimensional view of
a construction project and generates additional two-dimensional views based on the three-
dimensional view. As one possible implementation, this software technology may include both
front-end software running on client stations that are accessible to individuals associated with
construction projects (e.g., contractors, project managers, architects, engineers, designers, etc.)
and back-end software running on a back-end platform (sometimes referred to as a "cloud"
platform) that interacts with and/or drives the front-end software, and which may be operated
(either directly or indirectly) by the provider of the front-end client software. As another possible
implementation, this software technology may include front-end client software that runs on client
stations without interaction with a back-end platform. The software technology disclosed herein
may take other forms as well.
[0045] In general, such front-end client software may enable one or more individuals responsible
for for aa construction construction project project to perform to perform various various tasks related tasks related to the management to the management of the construction of the construction
project, which may take various forms. According to some implementations, these tasks may
include: rendering three-dimensional views of the construction project, navigating through the
various three-dimensional views of the construction project in order to observe the construction
project from various perspectives, and using the software to generate two-dimensional drawings,
as some non-limiting examples. Further, such front-end client software may take various forms,
examples of which may include a native application (e.g., a mobile application) and/or a web
application running on a client station, among other possibilities.
[0046] Turning now to the figures, FIG. 1 depicts an example network configuration 100 in which
example embodiments of the present disclosure may be implemented. As shown in FIG. 1,
network configuration 100 includes a back-end platform 102 that may be communicatively
coupled to one or more client stations, depicted here, for the sake of discussion, as client stations
112. 112.
WO wo 2020/167562 PCT/US2020/016853
[0047] Broadly speaking, back-end platform 102 may comprise one or more computing systems
that have been provisioned with software for carrying out one or more of the functions disclosed
herein, including but not limited to rendering three-dimensional views of models of a construction
project, and/or transmitting data and/or instructions that cause one or more client stations 112 to
output information related to a construction project, including the rendered views of the three-
dimensional model of the construction project. The one or more computing systems of back-end
platform 102 may take various forms and be arranged in various manners.
[0048] For instance, as one possibility, back-end platform 102 may comprise computing
infrastructure of a public, private, and/or hybrid cloud (e.g., computing and/or storage clusters)
that has been provisioned with software for carrying out one or more of the functions disclosed
herein. In this respect, the entity that owns and operates back-end platform 102 may either supply
its own cloud infrastructure or may obtain the cloud infrastructure from a third-party provider of
"on demand" computing resources, such include Amazon Web Services (AWS) or the like. As
another possibility, back-end platform 102 may comprise one or more dedicated servers that have
been provisioned with software for carrying out one or more of the functions disclosed herein.
Other implementations of back-end platform 102 are possible as well well.
[0049] In turn, client stations 112 may each be any computing device that is capable of running
the front-end software disclosed herein. In this respect, client stations 112 may each include
hardware components such as a processor, data storage, a user interface, and a network interface,
among others, as well as software components that facilitate the client station's ability to run the
front-end software disclosed herein (e.g., operating system software, web browser software, etc.).
As representative examples, client stations 112 may each take the form of a desktop computer, a
laptop, a netbook, a tablet, a smartphone, and/or a personal digital assistant (PDA), among other
possibilities.
[0050] As further depicted in FIG. 1, back-end platform 102 is configured to interact with client
stations 112 over respective communication paths 110. In this respect, each communication path
110 between back-end platform 102 and one of client stations 112 may generally comprise one or
more communication networks and/or communications links, which may take any of various
forms. For instance, each respective communication path 110 with back-end platform 102 may
include any one or more of point-to-point links, Personal Area Networks (PANs), Local-Area
Networks (LANs), Wide-Area Networks (WANs) such as the Internet or cellular networks, cloud
networks, and/or operational technology (OT) networks, among other possibilities. Further, thethe
communication networks and/or links that make up each respective communication path 110 with
back-end platform 102 may be wireless, wired, or some combination thereof, and may carry data
according to any of various different communication protocols. Although not shown, the
10
WO wo 2020/167562 PCT/US2020/016853
respective communication paths 110 between client stations 112 and back-end platform 102 may
also includeone also include one or or more more intermediate intermediate systems. systems. For example, For example, it is that it is possible possible that back-end back-end platform platform
102 may communicate with a given client station 112 via one or more intermediary systems, such
as a host server (not shown). Many other configurations are also possible.
[0051] The interaction between client stations 112 and back-end platform 102 may take various
forms. As one possibility, client stations 112 may send certain user input related to a construction
project to back-end platform 102, which may in turn trigger back-end platform 102 to take one or
more actions based on the user input. As another possibility, client stations 112 may send a request
to back-end platform 102 for certain project-related data and/or a certain front-end software
module, and client stations 112 may then receive project-related data (and perhaps related
instructions) from back-end platform 102 in response to such a request. As yet another possibility,
back-end platform 102 may be configured to "push" certain types of project-related data to client
stations 112, such as rendered three-dimensional views, in which case client stations 112 may
receive project-related data (and perhaps related instructions) from back-end platform 102 in this
manner. As still another possibility, back-end platform 102 may be configured to make certain
types of project-related data available via an API, a service, or the like, in which case client
stations 112 may receive project-related data from back-end platform 102 by accessing such an
API or subscribing to such a service. The interaction between client stations 112 and back-end
platform 102 may take various other forms as well.
[0052] In practice, client stations 112 may each be operated by and/or otherwise associated with
a different individual that is associated with a construction project. For example, an individual
tasked with the responsibility for creating project-related data, such as data files defining three-
dimensional models of a construction project may access one of the client stations 112, whereas
an individual tasked with the responsibility for reviewing and revising data files defining three-
dimensional models of a construction project may access another client station 112, whereas an
individual tasked with the responsibility for performing work related to project-related data, such
as an on-site construction professional may access yet another client station 112. However, client
stations 112 may be operated by and/or otherwise associated with individuals having various other
roles with respect to a construction project as well. Further, while FIG. 1 shows an arrangement
in which three particular client stations are communicatively coupled to back-end platform 102,
it should be understood that an arrangement may include more or fewer client stations.
[0053] Although not shown in FIG. 1, back-end platform 102 may also be configured to receive
project-related data from one or more external data sources, such as an external database and/or
another back-end platform or platforms. Such data sources - and the project-related data output
by such data sources - may take various forms.
WO wo 2020/167562 PCT/US2020/016853
[0054] It should be understood that network configuration 100 is one example of a network
configuration in which embodiments described herein may be implemented. Numerous other
arrangements are possible and contemplated herein. For instance, other network configurations
may include additional components not pictured and/or more or less of the pictured components.
II. EXAMPLE COMPUTING DEVICE
[0055] FIG. 2 is a simplified block diagram illustrating some structural components that may be
included in an example computing device 200, which could serve as, for instance, the back-end
platform 102 and/or one or more of client stations 112 in FIG. 1. In line with the discussion above,
computing device 200 may generally include at least a processor 202, data storage 204, and a
communication interface 206, all of which may be communicatively linked by a communication
link 208 that may take the form of a system bus or some other connection mechanism.
[0056] Processor 202 may comprise one or more processor components, such as general-purpose
processors (e.g., a single- or multi-core microprocessor), special-purpose processors (e.g., an
application-specific integrated circuit or digital-signal processor), programmable logic devices
(e.g., a field programmable gate array), controllers (e.g., microcontrollers), and/or any other
processor components now known or later developed. In line with the discussion above, it should
also be understood that processor 202 could comprise processing components that are distributed
across a plurality of physical computing devices connected via a network, such as a computing
cluster of a public, private, or hybrid cloud.
[0057] In turn, data storage 204 may comprise one or more non-transitory computer-readable
storage mediums, examples of which may include volatile storage mediums such as random-
access memory, registers, cache, etc. and non-volatile storage mediums such as read-only
memory, a hard-disk drive, a solid-state drive, flash memory, an optical-storage device, etc. In
line with the discussion above, it should also be understood that data storage 204 may comprise
computer-readable storage mediums that are distributed across a plurality of physical computing
devices connected via a network, such as a storage cluster of a public, private, or hybrid cloud.
[0058] As shown in FIG. 2, data storage 204 may be provisioned with software components that
enable the computing device 200 to carry out the operations disclosed herein. These software
components may generally take the form of program instructions that are executable by the
processor 202 to carry out the disclosed functions, which may be arranged together into software
applications, virtual machines, software development kits, toolsets, or the like, all of which are
referred to herein as a software tool or software tools. Further, data storage 204 may be arranged
to store project-related data in one or more databases, file systems, or the like. Data storage 204
may take other forms and/or store data in other manners as well.
WO wo 2020/167562 PCT/US2020/016853
[0059] Communication interface 206 may be configured to facilitate wireless and/or wired
communication with other computing devices or systems, such as one or more client stations 112
when computing device 200 serves as back-end platform 102, or as back-end platform 102 when
computing device 200 serves as one of client stations 112. As such, communication interface 206
may take any suitable form for carrying out these functions, examples of which may include an
Ethernet interface, Ethernet interface, a serial a serial bus interface bus interface (e.g., (e.g., Firewire, Firewire, USB 3.0, USB 3.0, etc.), etc.), and a chipset a chipset antenna and antenna
adapted to facilitate wireless communication, and/or any other interface that provides for wireless
and/or communication. Communication and/or wired communication. Communication interface interface 206 206 may may also also include include multiple multiple
communication interfaces of different types. Other configurations are possible as well.
[0060] Although not shown, computing device 200 may additionally include one or more other
interfaces that provide connectivity with external user-interface equipment (sometimes referred to
as "peripherals"), such as a keyboard, a mouse or trackpad, a display screen, a touch-sensitive
interface, a stylus, a virtual-reality headset, speakers, etc., which may allow for direct user
interaction with computing device 200.
[0061] It should be understood that computing device 200 is one example of a computing device
that may be used with the embodiments described herein. Numerous other arrangements are
possible and contemplated herein. For instance, other computing devices may include additional
components not pictured and/or more or fewer of the pictured components.
III. EXAMPLE VISUAL REPRESENTATIONS OF CONSTRUCTION PROJECTS
[0062] As mentioned above, one aspect of managing a construction project involves the creation,
review, and sometimes revision, of plans for the construction project. These plans assist
construction professionals in carrying out the construction project. For example, some plans
include written statements, such a punch list or submittal log, which may communicate, for
instance, what materials are needed during construction. Other plans may include visual
representations of the construction project that visually communicate to the construction
professionals how to assemble or construct the project.
[0063] Depending on the type of construction project, these visual representations tend to take
one of two different forms. As one possibility, these visual representations may take the form of
a set of two-dimensional technical drawings, such as architectural drawings, engineering
schematics, or construction blueprints, among others. From these two-dimensional technical
drawings, the construction professionals can determine how to construct the project. As another
possibility, these visual representations may take the form of a computerized, three-dimensional
visual representation of the construction project. Construction professionals can use can a a use corresponding software tool to review the three-dimensional visual representation, often in
conjunction with a review of two-dimensional technical drawings, as an aid during the
WO wo 2020/167562 PCT/US2020/016853
construction process. Set forth below is a short overview of each of these types of visual
representations of construction projects.
A. Two-Dimensional Technical Drawings
[0064] As mentioned, one way to visually represent information about a construction project is
through two-dimensional technical drawings. Generally, a two-dimensional technical drawing
serves to visually communicate a limited amount of information about the construction project in
order to aid in the construction, or the further design, of the project. To illustrate, FIG. 3 depicts
one example of a two-dimensional technical drawing in the form of an architectural drawing 300,
which may visually communicate how the construction project is laid out. To do this, an
architectural drawing, such as architectural drawing 300 may comprise a scaled drawing depicting
certain foundational elements of the construction project (e.g., floors, walls, ceilings, doorways,
and support elements), with perhaps visual indications of additional relevant aspects of these
foundational elements, such as measurements, dimensions, materials, etc.
[0065] Another example of a two-dimensional technical drawing is a schematic that visually
communicates how the heating, ventilation, and air conditioning (HVAC) ductwork is routed
throughout the building. Like the architectural drawing, this schematic may visually communicate
the HVAC ductwork routing through the use of a scaled depiction of the ductwork along with
indications of other relevant aspects of the ductwork, such as measurements, dimensions,
materials, etc.
[0066] Because technical drawings such as these are limited to two dimensions, multiple technical
drawings may be used when there is a need to visually communicate aspects from a third (e.g.,
vertical) dimension. For instance, a construction project may comprise multiple floors and the
design of the project may call for the shape or structure to change from floor to floor. In such a
case, there may be one (or more) technical drawings for each floor of the construction project.
And although just two example types of technical drawings were mentioned above, a typical
construction project may involve the use of many other types of other technical drawings,
including for instance technical drawings associated with landscaping, electrical, plumbing,
installation, etc. For these reasons, a single construction project may involve the use of tens,
hundreds, or perhaps, thousands of technical drawings.
[0067] Generally, two-dimensional technical drawings, like the two examples described above,
are created at the outset of a construction project by architects, designers, engineers, or some
combination thereof. Traditionally, these professionals would construct such two-dimensional
technical drawings by hand. But today, professionals typically construct two-dimensional
14
WO wo 2020/167562 PCT/US2020/016853
technical drawings with the aid of computer drafting software, such as existing CAD software
known and used by professionals in the industry.
[0068] Two-dimensional technical drawings have advantages. For instance, a single two-
dimensional technical drawing can visually communicate vast amounts of useful information. In
some cases, construction professionals can get an overview of an entire area of a construction
project by referring to a single technical drawing. Moreover, once created, technical drawings
require a relatively small amount of computer storage and processing power to store and view.
Construction professionals can often review finished technical drawings with off-the-shelf
software document viewers, such as portable document format (PDF) software viewers.
[0069] Yet two dimensional technical drawings have. because these technical drawings are
typically created at the outset of the construction project - that is, well before construction has
actually begun - these drawings generally will not reflect changes to the project that happen
during, say, the construction phase. When a change to the construction project happens after the
technical drawings are completed, architects, designers, or engineers may be called upon to revise
the existing technical drawings or create new drawings altogether to reflect the change.
[0070] Additionally, technical drawings that are generated at the outset of the construction project
may not always visually communicate the specific information desired by the construction
professional who later accesses the technical drawings. For instance, during construction a
construction professional construction professional may may determine determine that that it it be would would be touseful useful have a to have a drawing, technical technical drawing, such such
as an architectural plan, that shows only support structures made of concrete and does not show
support structures made from other materials, such as steel. But such a technical drawing may not
be readily accessible because the complete set of technical drawings may have been already
completed completed bybythat that point. point. Thus, Thus, the construction the construction professional professional may have may have or to wait, togowait, or go without, hiswithout, his
or her desired or her desiredtechnical technical drawing. drawing. As mentioned, As mentioned, one solution one solution to this to this issues issues would be towould be to call upon call upon
an engineer, designer, or architect to regenerate the technical drawings with this requested
information. But this is often a costly and time-consuming process, which may not be feasible
depending on the project's budget as well as the stage of construction.
B. Three-Dimensional Visual Representations
[0071] As also mentioned, another way to visually represent information about a construction
project is through a computerized, three-dimensional model of the construction project. In order
to facilitatethe to facilitate the creation creation and and usea of use of a computerized, computerized, three-dimensional three-dimensional model model of the of the construction construction
project, a team of architects, designers, and/or engineers engage in a process referred to as
Building Information Modeling.
WO wo 2020/167562 PCT/US2020/016853
[0072] As a general matter, Building Information Modeling refers to the process of designing and
maintaining a computerized representation of physical and functional characteristics of a
construction project, such as a building. Specialized software tools can then access this
computerized representation and process it to visually communicate how to construct the building
via a navigable, three-dimensional model of the building and its infrastructure.
[0073] More specifically, but still by way of example, when architects, designers, and/or
engineers engage in Building Information Modeling for a specific construction project, they
generally produce what is referred to as a Building Information Model (BIM) file. In essence, a
BIM file is a computerized description of the individual physical elements that comprise the
construction project, such as the physical structure of the building, including walls, floors, and
ceilings, as well as the building's infrastructure, including pipes, ducts, conduits, etc. This
computerized description can include a vast amount of data describing the individual physical
elements of the construction project and the relationships between these individual physical
elements, including for instance, the relative size and shape of each element, and an indication of
where each element will reside in relation to the other elements in the construction project.
[0074] BIM files can exist in one or more proprietary or open-source computer-file formats and
are accessible by a range of specialized software tools. One type of specialized software tool that
can access BIM files is referred to as a "BIM viewer." A BIM viewer is software that accesses
the information contained within a BIM file or a combination of BIM files for a particular
construction project and then, based on that file or those files, is configured to cause a computing
device to render a three-dimensional view of the computerized representation of the construction
project. This view is referred to herein as a "three-dimensional BIM view" or simply a "three-
dimensional view."
[0075] Inorder
[0075] In orderforfor BIMBIM viewer viewer software software to be to betoable able causetoa cause a computing computing devicea to device to render render a three- three-
dimensional view of the construction project, BIM files typically contain data that describes the
attributes of each individual physical element (e.g., the walls, floors, ceilings, pipes, ducts, etc.)
of the construction project. For instance, for an air duct designed to run across the first-floor
ceiling of a building, a BIM file for this building may contain data describing how wide, how
long, how high, and where, in relation to the other individual physical elements of the construction
project, the duct is positioned.
[0076] There are many ways for BIM files to arrange and store data that describes the attributes
of the of the individual individualphysical elements physical of a construction elements project.project. of a construction In one specific In one example, specificBIMexample, files BIM files
may contain data that represents each individual physical component in the construction project
(e.g., an air duct) as a mesh of geometric triangles such that when the geometric triangles are
visually stitched together by BIM viewer software, the triangles form a mesh, which represents a
16
WO wo 2020/167562 PCT/US2020/016853
scaled model of the physical component (e.g., the air duct). In this respect, the BIM file may
contain data that represents each triangle of a given mesh as set of coordinates in three-space. For
instance, for each triangle stored in the BIM file, the BIM file may contain data describing the
coordinates of each vertex of the triangle (e.g., an x-coordinate, a y-coordinate, and a z-coordinate
for the first vertex of the triangle; an x-coordinate, a y-coordinate, and a z-coordinate for the
second vertex of the triangle; and an x-coordinate, a y-coordinate, and a z-coordinate for the third
vertex of the triangle). A given mesh may be comprised of thousands, tens of thousands, or even
hundreds of thousands of individual triangles, where each triangle may have a respective set of
three vertices and corresponding sets of three-space coordinates for those vertices. However,
other ways for a BIM file to contain data that represents each individual physical component in a
construction project are possible as well.
[0077] To illustrate one example of a three-dimensional view, FIG. 4 depicts an example snapshot
400 of a GUI, which includes a three-dimensional view of a construction project rendered at a
particular perspective. Snapshot 400 may be generated by, for instance, a software tool running
on a client station, such as one of client stations 112 (FIG. 1), accessing a BIM file, and then
rendering a three-dimensional view of the construction project based on that BIM file and
presenting it via a display interface of that client station. Alternatively, a back-end platform, such
as back-end platform 102 (FIG. 1) may access a BIM file and may generate a set of instructions
for rendering a three-dimensional view of the construction project based on that BIM file. Back-
end platform 102 may then send these instructions to one of client stations 112, which in turn may
present a three-dimensional view of the construction project it via a display interface of that client
station based on these instructions. Still other arrangements are possible.
[0078] As depicted, snapshot 400 includes a three-dimensional view of a construction project
from a particular perspective. The three-dimensional view depicted in FIG. 4 includes a number
of meshes that represent individual physical components of the construction project, such as
floors, walls, pipes, and ducts, etc. In particular, depicted in FIG. 4 is, among others, a mesh 402,
which represents an air duct, and a mesh 404, which represents a wall. Of course, in other
examples, other meshes are possible as are other layouts and designs of construction projects.
[0079] The client station presenting snapshot 400 may be configured to adjust the perspective at
which the which thethree-dimensional three-dimensionalviewview is presented in response is presented to, for instance, in response receiving user to, for instance, inputs user inputs receiving
at the client station. The client station may do this in various ways. As one possibility, the client
station may reposition the perspective either forward or backward along an x-axis of the model in
response to receiving a first type of user input via a peripheral, such as pressing the up arrow or
down arrow on a keyboard or a click and drag with a mouse. The client station may reposition
the perspective laterally along a y-axis of the model in response to receiving a second type of user
17
WO wo 2020/167562 PCT/US2020/016853
input via a peripheral, such as pressing the left arrow or right arrow on a keyboard or a different
type of click and drag with a mouse. The client station may reposition the perspective either up
or down along a z-axis of the model in response to receiving a third type of user input via a
peripheral, such as pressing a combination of keys on a keyboard (e.g., the Control key and the up
arrow, or the Control key and the down arrow) or yet a different type of click and drag with a
mouse. The client station may reposition the orientation of the perspective (i.e., the "camera"
angle) in response to receiving a fourth type of user input via a peripheral, such as pressing a
combination combination ofof keys keys on on a keyboard a keyboard (e.g., (e.g., the the Alt keyAlt andkey the and the uporarrow, up arrow, or the the Control keyControl and the key and the
down arrow)ororyetyet down arrow) a different a different type type of click of click andwith and drag drag with a mouse. a mouse.
[0080] As another possibility, the computing device may reposition the perspective
simultaneously along a combination of one or more of the x-axis, the y-axis, and the z-axis of the
model in response to receiving a first type of user input at a touch-screen of the computing device,
such as a touch and drag gesture made with one finger. The computing device may reposition the
orientation orientation of of the the perspective perspective in in response response to to receiving receiving aa second second type type of of user user input input at at aa touch-screen touch-screen
of the computing device, such as a touch and drag gesture made with two fingers. However, other
examples of adjusting the perspective at which the three-dimensional view is presented are
possible as well.
[0081] In addition to data describing the individual triangles of a mesh, some BIM files may
contain additional data that helps to summarize information relating to the various meshes. For
instance, a BIM file may contain, for each mesh, data describing a "bounding box." Conceptually,
a bounding box is an imaginary box surrounding the mesh on all sides, with the edges of this box
being located at the outermost edges of the mesh. As such, the entire mesh fits inside of this
bounding box with no part of the mesh protruding from the bounding box. In this way, the
bounding box represents the maximum dimensions of the mesh in rectangular form. BIM viewer
software may utilize bounding boxes stored in BIM files in various ways. For instance, it usually
takes less storage space to store data describing a bounding box compared to data describing an
entire mesh. This is due to the fact that a mesh may comprise of many thousands of triangles in
order to accurately represent the mesh's surface, which in some cases is irregular (e.g., the curved
surface of a pipe), whereas a bounding box can typically be represented by data describing just
eight vertices of a rectangular box. Some BIM viewer software may be configured to operate in
a mode designed to conserve processing power and/or storage space in which the BIM viewer
software causes a computing device to render just bounding boxes as opposed to rendering the
full meshes. By doing so, the BIM viewer software can visually communicate a "low resolution"
version of the construction project. Other ways of utilizing bounding boxes, and other ways of
WO wo 2020/167562 PCT/US2020/016853
containing additional data to help summarize information relating to the various meshes, are
possible as well.
[0082] BIM files may contain additional data as well, including data describing other attributes
of the individual physical elements of the construction project that may or may not be related to
the element's specific position in three space. By way of example, this data may include data
describing what system or sub-system the component is associated with (e.g., structural,
plumbing, HVAC, electrical, etc.), data describing what material or materials the individual
physical element is made of; what manufacturer the element comes from; what stage of
manufacture the element is in; where the element currently resides (e.g., data indicating that the
element is on a truck for delivery to the construction site, and/or once delivered, data indicating
where at the construction site the delivered element resides); and/or various identification numbers
assigned to the element (e.g., a serial number, part number, model number, tracking number, etc.),
as well as others.
[0083] Together, these other attributes are generally referred to as metadata. BIM viewer software
may utilize this metadata in various ways. For instance, some BIM viewer software may be
configured to present different views based on metadata (e.g., displaying all meshes that represent
HVAC components but hiding all meshes that represent plumbing components; and/or displaying
meshes representing metal components in a certain color and displaying meshes representing
wood components in another color, etc.). Alternatively or additionally, BIM viewers can display
certain subsets of the metadata based on user input. For example, a user may provide a user input
to the BIM viewer software though a click or tap on a GUI portion displaying a given mesh, and
in response, the BIM viewer software may cause a GUI to display some or all of the attributes of
the physical element represented by the given mesh. Other examples are possible as well.
[0084] As mentioned, BIM viewer software is generally deployed on client stations, such as client
stations 112 of FIG. 1 (which, as described above, can generally take the form of a desktop
computer, a laptop, a tablet, or the like). As such, construction professionals can utilize BIM
viewer software during all phases of the construction project and can access a BIM file for a
particular construction project in an office setting as well as on the construction site. Accordingly,
BIM viewer software assists construction professionals with, among other things, the design and
construction of the project and/or to identify issues that may arise during such construction.
[0085] BIM technology has advantages. For instance, as described, BIM viewers can use BIM
files in order to render three-dimensional views (such as the view depicted in snapshot 400 in FIG.
4) of various elements of the construction project. This can help construction professionals
identify potential construction issues prior to encountering those issues in during construction as
well as conceptualize what the finished building will look like.
19
WO wo 2020/167562 PCT/US2020/016853
[0086] However, existing BIM technology has certain limitations as well. One limitation is that
three-dimensional BIM views may be cumbersome to navigate about and may thus not present
information information asas quickly quickly or efficiently or efficiently as a two-dimensional as a two-dimensional technicaltechnical drawing. Additionally, drawing. Additionally, while while
three-dimensional BIM views may display various meshes positioned about the construction
project, the three-dimensional BIM view may not display precise measurements associated with
these meshes as doing SO so may tend to clutter, and perhaps obscure, the display of the overall
project. Additionally, three-dimensional BIM views generally require more computing resources
to render and display than traditional two-dimensional technical drawings, which, as mentioned,
can typically be presented in PDF form.
IV. EXAMPLE OPERATIONS
[0087] Disclosed herein is new software technology that is designed to help remedy some of the
aforementioned limitations with technology for rendering three-dimensional views of construction
projects. For instance, disclosed herein is a software tool that generates a two-dimensional
drawing of a construction project based on a three-dimensional view of the construction project
and and aa custom customclip clip height height associated associated withthree-dimensional with the the three-dimensional view. In view. In one one aspect, theaspect, the disclosed disclosed
software tool may cause a computing device to generate a two-dimensional technical drawing
based on a BIM file and a given clip height clip height associated with a given view rendered
using the BIM file. In another aspect, the disclosed software tool may cause a computing device
to generate generatea afunctional functional two-dimensional two-dimensional inset inset to a three-dimensional to a three-dimensional view of a view of based BIM file a BIM on file based on
the BIM file and a current three-dimensional BIM view. In yet another aspect, the disclosed
software tool may cause a computing device to generate a custom dimension view that is arranged
to present certain dimension information related to one or more meshes.
[0088] Example operations that may be carried out by one or more computing devices running
the disclosed software tool are discussed in further detail below. For purposes of illustration only,
these example operations are described as being carried out by a computing device, such as
computing device 200 (FIG. 2), which as described above, may serve as one or more of client
stations 112 (FIG. 1) and/or back-end platform 102 (FIG. 1). In this respect, it should be
understood that, depending on the implementation, the operations discussed herein below may be
carried out entirely by a single computing device, such as one or more of client stations 112 or by
back-end platform 102, or may be carried out by a combination of computing devices, with some
operations being carried out by back-end platform 102 (such as computational processes and data-
access operations) and other operations being carried out by one or more of client stations 112
(such as display operations and operations that receive user inputs). However, other arrangements
are possible as well.
WO wo 2020/167562 PCT/US2020/016853
[0089] To help describe some of these operations, flow diagrams may also be referenced to
describe combinations of operations that may be performed by a computing device. In some cases,
a block in a flow diagram may represent a module or portion of program code that includes
instructions that are executable by a processor to implement specific logical functions or steps in
a process. The program code may be stored on any type of computer-readable medium, such as
non-transitory computer non-transitory computer readable readable mediamedia (e.g.,(e.g., data storage data storage 204 (FIG.204 (FIG. 2)). 2)).cases, In other In other cases, a block a block
in a flow diagram may represent circuitry that is wired to perform specific logical functions or
steps in a process. Moreover, the blocks shown in the flow diagrams may be rearranged into
different orders, combined into fewer blocks, separated into additional blocks, and/or removed,
based upon the particular embodiment. Flow diagrams may also be modified to include additional
blocks that represent other functionality that is described expressly or implicitly elsewhere herein.
A. Generating two-dimensional Technical Drawings
[0090] As noted above, in one aspect, the disclosed software tool may cause a computing device
to carry out a process for generating a two-dimensional technical drawing based on a BIM file and
a given clip height associated with a given three-dimensional view rendered using the BIM file.
This process may take various forms.
[0091] With reference now to flow diagram 500 of FIG. 5, one example of a process carried out
in accordance with the disclosed software tool for generating a two-dimensional technical drawing
based on a BIM file and a given clip height is illustrated and described. In practice, this process
may be commenced while the computing device is presenting a three-dimensional view via a GUI.
In some implementations, for instance, the computing device may receive an indication that a user
has requested creation of a two-dimensional technical drawing, such as through the push of a
button or the selection of a menu command. However, other ways to commence the process are
possible as well.
[0092] Once the process is commenced, the process may generally involve the following
operations: (i) at block 502, while presenting a given three-dimensional view of a construction
project based on a BIM file, the computing device may receive an indication of a desired clip
height of the given three-dimensional view at which to generate a two-dimensional technical
drawing, (ii) at block 504, the computing device identifies a given subset of the meshes within the
BIM file that intersect with a two-dimensional plane at the desired clip height, (iii) at block 506,
the computing device determines respective portions of each mesh in the given subset of meshes
that intersect the two-dimensional plane at the desired clip height, (iv) at block 508, the computing
device compiles a dataset that defines the two-dimensional drawing, and (v) at block 510, the
21
WO wo 2020/167562 PCT/US2020/016853
computing device may render the two-dimensional drawing using the compiled dataset. Each of
these operations will now be discussed in further detail.
[0093] At block 502, the computing device receives an indication of a desired clip height at which
to generate a two-dimensional technical drawing. In one implementation, the indication of the
desired clip height may take the form of a numerical indication of the desired clip height, which
may be input by a user via a keyboard, a mouse, a touchscreen, or the like. For instance, the
computing device may present an input box via a user interface of the computing device
whereupon the user may enter into the input box a desired clip height (e.g., "4 feet" or just "4").
[0094] In some implementations, the indication of the desired clip height may take the form of a
graphical selection of a desired clip height, which may be input by a user via a keyboard, a mouse,
a touchscreen, or the like. To facilitate this, the computing device may display the three-
dimensional dimensionalBIM view BIM as though view therethere as though is an is invisible two-dimensional an invisible plane at aplane two-dimensional given at clipa height given clip height
within the three-dimensional BIM view, which spans the three-dimensional BIM view and is
parallel to the floor of the construction project. To indicate where the invisible two-dimensional
plane is located, the computing device may be configured to adjust the three-dimensional view
based on the height of the invisible two-dimensional plane. For instance, the computing device
may hide any meshes or portions of a mesh that lie above the invisible two-dimensional plane but
show any meshes or portions of a mesh that lie below the invisible two-dimensional plane. By
doing so, the computing device presents a preview of the meshes that will be used to generate the
two-dimensional technical drawing. More specifically, any meshes or portions of a mesh that lie
above above the theinvisible invisibletwo-dimensional plane plane two-dimensional (and are thus (and notthus are displayed) will not bewill not displayed) visible not on be the visible on the
two-dimensional technical drawing.
[0095] To illustrate this, Figures 6A and 6B depict example snapshots of a GUI that includes
respective three-dimensional BIM views with invisible two-dimensional planes positioned at
different respective clip heights. In particular, FIG. 6A depicts an example snapshot 601a that
depicts a three-dimensional BIM view with an invisible two-dimensional plane positioned at a
height of about nine feet. Accordingly, most of the meshes, including meshes depicting ceiling
ductwork, are visible. FIG. 6B depicts an example snapshot 601b that depicts a similar three-
dimensional BIM view as that depicted in FIG. 6A but with an invisible two-dimensional plane
positioned at a lower height of about four feet. In accordance with the example implementation
described above, several meshes, including meshes depicting ceiling ductwork as well portions of
meshes depicting the walls, are not visible. It should be appreciated that in other implementations,
the computing device may present a three-dimensional BIM in which the two-dimensional plane
is visible within the three-dimensional view.
WO wo 2020/167562 PCT/US2020/016853
[0096] To further facilitate providing a graphical selection of the desired clip height, the
computing device may be configured to move the invisible two-dimensional plane in response to
receiving a user input. The computing device may facilitate this in any number of different ways.
[0097] As one possibility, the computing device may move the invisible two-dimensional plane
in response to receiving a particular type of user input that is associated with moving the invisible
two-dimensional plane, such as pressing an up or down arrow on a keyboard, scrolling the wheel
of a mouse in a given direction, or inputting a touch and drag gesture in a given direction on a
touch screen. For example, an upward touch and drag gesture may cause the computing device to
reposition the invisible two-dimensional plane upward along the vertical axis of the three-
dimensional BIM view while a downward touch and drag gesture may cause the computing device
to reposition the invisible two-dimensional plane lower along the vertical axis of the three-
dimensional BIM view.
[0098] While moving the invisible two-dimensional plane in response to receiving the given type
of user input, the computing device may also update the three-dimensional BIM view based on
the movement of the invisible two-dimensional plane. For instance, in the case where the invisible
two-dimensional plane is moved upward along the vertical axis of the three-dimensional BIM
view, the computing device may respond by updating the three-dimensional BIM view by bringing
into into view view meshes meshes or or portions portions of of meshes meshes that that lie lie below below the the new new position position of of the the invisible invisible two- two-
dimensional plane. In the case where the invisible two-dimensional plane is moved downward
along the vertical axis of the three-dimensional BIM view, the computing device may respond by
removing from view meshes or portions of meshes that lie above the new position of the invisible
two-dimensional plane.
[0099] As another possibility, the GUI presented by the computing device may include a
navigational interface element through which a user may provide a user input that causes the
computing device to move the invisible two-dimensional plane, in which case the computing
device may move the invisible two-dimensional plane in response to user interaction with this
navigational interface element. In one example of this, the navigational interface element may be
a virtual joystick, such as joystick 603a in FIG. 6A or joystick 603b in FIG. 6B, that a user can
touch and drag in an upward or downward direction. In this example, when the computing device
receives a user input that drags the joystick in the upward direction, the computing device may
responsively move the invisible two-dimensional plane upward along the vertical axis of the three-
dimensional BIM view. Likewise, when the computing device receives a user input that drags the
joystick in the downward direction, the computing device may responsively move the invisible
two-dimensional plane downward along the vertical axis of the three-dimensional BIM view.
WO wo 2020/167562 PCT/US2020/016853
When the user releases the joystick, the computing device may stop moving the invisible two-
dimensional plane.
[00100] Once the invisible two-dimensional plane is in the desired position, the computing
device may receive a confirmation that the invisible two-dimensional plane is in the desired
position, such as by receiving a user selection of an "Enter" key on a keyboard, a mouse click, or
a tap on the screen, among other possibilities.
[00101] The indication of the desired clip height at which to generate the two-dimensional
technical drawing may take various other forms and be received by the computing system in
various other manners as well.
[00102] Returning to FIG. 5, at block 504, the computing device identifies, from the set of
meshes included in the BIM file, a given subset of meshes that intersect with a two-dimensional
plane at the desired clip height. The computing device may perform this identification operation
in various manners.
[00103] In one implementation, the computing device searches through the data defining
the set of meshes included in the BIM file and identifies meshes that have at least one triangle that
intersects with the two-dimensional plane. For any mesh that has at least one triangle that
intersects with the two-dimensional plane, the computing device may then add that mesh to the
given subset of meshes.
[00104] Depending on the size of the construction project, and thus the size of the BIM file,
searching through the data defining the set of meshes included in the BIM file could take
considerable considerabletime andand time computing resources, computing particularly resources, in casesin particularly where the where cases BIM file thecontains data BIM file contains data
defining many hundreds or thousands of meshes and thus data defining perhaps hundreds of
thousands of triangles. Thus, in another implementation, the computing device may be configured
to (1) reduce the data set within which the computing device searches for meshes that intersect
with the two-dimensional plane by identifying a first subset of meshes that have a bounding box
that intersects with the two-dimensional plane and then (2) from among this first subset of meshes,
identify a second subset of meshes that contain at least one triangle that intersects with the two-
dimensional plane. By first narrowing the subset of meshes to just those that have a bounding box
that intersects with the two-dimensional plane, and then searching through this subset, the
computing device may reduce and thereby conserve processing power that may be used to perform
this operation, resulting in a more efficient and perhaps faster process.
[00105] At block 506, for each respective mesh in the given subset of meshes that is
determined to be intersecting with the two-dimensional plane, the computing device determines
the portion of the respective mesh that intersects with the two-dimensional plane. The computing
device may perform this identification operation in various manners.
WO wo 2020/167562 PCT/US2020/016853
[00106] In one implementation, each respective mesh in the given subset of meshes may be
comprised of a respective set of triangles, and geometrically, and an intersection between the two-
dimensional plane and a triangle may be defined by a line segment connecting two coordinates at
this intersection. In this respect, the computing device may determine the portion of a mesh that
intersects with the two-dimensional plane by (1) identifying the coordinates of each line segment
formed asa aresult formed as result of of the the two-dimensional two-dimensional plane plane intersecting intersecting with eachwith each oftriangle triangle of the respective the respective
mesh and (2) combining the line segments together to form a two-dimensional shape thereby
defining the portion of the mesh that intersects with the two-dimensional plane. However, the
computing device may determine the portion of the respective mesh that intersects with the two-
dimensional plane in various other manners as well.
[00107] Further, the data defining the portions of a mesh that intersect with the two-
dimensional plane may take various forms. In one example, this data may comprise a set of x-y
coordinates, where coordinates, each where set set each of x-y of coordinates represents x-y coordinates the end points represents the endof points a line segment formed of a line segment formed
as a result of an intersection between a respective triangle of a mesh and the two-dimensional
plane. In another example, this data may comprise a set comprise x-y-z coordinates; but the Z- z-
coordinate can coordinate canoften be be often omitted in practice omitted becausebecause in practice the coordinates in the setin the coordinates will thehave setthe same will have the same
z-coordinate. The data defining the portions of a mesh that intersect with the two-dimensional
plane may take other various forms as well.
[00108] At block 508, the computing device may then compile a dataset that defines a two-
dimensional drawing based on the determined portions of meshes that intersect with the two-
dimensional plane. In one implementation, the computing device may compile the dataset
defining the two-dimensional drawing by generating data defining respective line segments that
represent the various portions of meshes that intersect with the two-dimensional plane, such that
when the respective line segments are arranged on a two-dimensional display, they depict a two-
dimensional view of the construction project at the desired clip height. The computing device
may also include within this dataset data indicating an association between the line segments and
the respective meshes represented by the line segments. For instance, each line segment in the
dataset represents dataset representsa particular mesh mesh a particular from the fromBIM file. the BIM Accordingly, for each line file. Accordingly, for segment in the each line segment in the
compiled dataset, the computing device may generate data describing the association between that
line segment and the particular mesh from which the line segment was determined.
[00109] At block 510, the computing device may render a two-dimensional drawing using
the compiled dataset. In one implementation of this, the computing device arranges the various
line segments defined by the compiled dataset in a two-dimensional view and presents this view
via a display interface of the computing device.
WO wo 2020/167562 PCT/US2020/016853
[00110] To illustrate an example of this, FIG. 7 depicts an example snapshot 700 of a GUI
that includes a view of a two-dimensional drawing 702 generated by the computing device in
accordance with the above operations. As depicted, two-dimensional drawing 702 includes
several line segments that represent portions of meshes that intersect with a two-dimensional plane
at a desired clip height as depicted in FIG. 6B. Among others, these line segments include line
segments 704, which represent portions of meshes that represent walls in the construction project.
[00111] The computing device may be configured to adjust the display based on user input
received at the computing device. For instance, as one possibility, in response to receipt of a user
input selecting one of the particular line segments of the two-dimensional drawing (e.g., by a tap
of one of the lines on a touch-screen interface or by positioning a mouse cursor over a line and
then clicking the mouse), the computing device may refer to the compiled dataset to determine
with which mesh the particular line segment is associated. Once determined, the computing
device may then display some or all of the metadata associated with the determined mesh (e.g.,
what material the physical element represented by the mesh is made of, where the physical element
represented by the mesh is located, and/or a part or model number of the physical element
represented by the mesh).
[00112] As another possibility, the computing device may be configured to alternate
between presenting the two-dimensional drawing and presenting a three-dimensional BIM view.
In one specific example of this, the computing device may present the two-dimensional drawing
via a display interface of the computing device and in response to receipt of a user input selecting
one of the particular line segments of the two-dimensional drawing (e.g., by a tap of one of the
line segments on a touch-screen interface or by positioning a mouse cursor over a line segment
and then clicking the mouse), the computing device may refer to data in the compiled dataset
describing the association between the line segment and a particular mesh and thereby determine
the mesh with which the particular line segment is associated. Once determined, the computing
device may present a three-dimensional BIM view and orient the perspective of the three-
dimensional BIM view SO so as to bring the particular mesh into view.
[00113] The computing device may present additional information on the two-dimensional
drawing as well, including dimension information, such as indications of the length of particular
line segments or the distance between two or more line segments. In another example, the
computing device may add in labels for the particular line segments, such as "conference room
wall" or "air register return." Other examples are possible as well.
26
WO wo 2020/167562 PCT/US2020/016853
B. Generating a Functional Inset
[00114] In another aspect, the disclosed software tool may cause a computing device to
carry out a process for creating a more functional, two-dimensional inset within a three-
dimensional view of a construction project.
[00115] As mentioned, some BIM viewer software may display an inset (usually in the top
left or top right corner of the screen) when displaying a three-dimensional BIM view. Returning
to FIG. 4, depicted therein an example inset 406 positioned in the upper left corner of snapshot
400, although other examples of insets are possible. Generally, an inset provides a top-down view
of the entire construction project as well as perhaps a rough indication of where within the
construction project the current point of view of the three-dimensional BIM view is located. As
depicted on inset 406, for instance, an indicator 408 is included that indicates the rough position
within the inset at which the current point of view is located.
[00116] However, this inset tends to not be as functional as may be desired. For instance,
in some cases, the inset is created by the person or people who generated the BIM file, and as
such, may simply be an outline that displays the outer walls of a project, but no inner walls or
other detail. As such, the inset may not provide a precise indication of where within the
construction project the current point of view is located. And given that the inset typically displays
just a rough outline of the construction project, use of the inset to navigate about the three-
dimensional BIM view tends not be accurate as well. For instance, in implementations where
BIM viewer software is configured to reposition the current point of view of the three-dimensional
BIM view based on a user input (such as a tap) received at the inset, navigating by tapping the
inset tends not to be accurate. For instance, a user that desires to navigate the three-dimensional
BIM view by tapping the inset to bring a particular room of the construction project into view may
have to guess where that room is located in the inset because the internal walls of the construction
project are not displayed.
[00117] In view of this drawback, some software tools offer an alternative to using the inset
designed by the person or people who generated the BIM file, and are instead configured to use
an external two-dimensional technical drawing as the inset (e.g., a PDF of an architectural plan).
Such software tools may facilitate this by shrinking the PDF down and positioning it in the corner
of the user interface. But this has certain drawbacks as well. For instance, using an external two-
dimensional technical drawing as an inset typically removes the ability to interact with the inset
to navigate. In essence, the inset becomes merely a reference without any navigational
functionality. Further, two-dimensional technical drawings may not have the ability to use an
indicator to indicate the position of the point of view of the three-dimensional BIM view.
27
WO wo 2020/167562 PCT/US2020/016853
[00118] The disclosed software tool improves upon this existing technology for presenting
a two-dimensional inset within a three-dimensional view of a construction project, by enabling a
computing device to carry out a process for generating a two-dimensional inset based on an
external two-dimensional technical drawing file and a BIM file. This process may take various
forms.
[00119] With reference now to flow diagram 800 of FIG. 8A, one example of a process
carried out in accordance with the disclosed software tool for generating a two-dimensional inset
based on an external two-dimensional technical drawing file and a BIM file is illustrated and
described. In practice, this process may be commenced while the computing device is presenting
a three-dimensional BIM view via a GUI. In some implementations, for instance, the computing
device may receive an indication that a user has requested creation of a functional inset, such as
the push of a button or the selection of a menu command. However, other ways to commence the
process are possible as well.
[00120] Once the process is commenced, the process may generally involve the following
operations: (i) at block 802, the computing device generates a top-down, two-dimensional
drawing of the three-dimensional BIM view at a given clip height, (ii) at block 804, the computing
device may retrieve from data storage a technical drawing file, (iii) at block 806, the computing
device may use a pattern matching technique to match portions of the generated top-down two-
dimensional drawing with portions of the retrieved technical drawing file, and (iv) at block 808,
the computing device overlays the top-down two-dimensional drawing onto the retrieved technical
drawing file in accordance with the results of the pattern matching to thereby create a functional
inset. Each of these operations will now be discussed in further detail.
[00121] At block 802, the computing device generates a top-down two-dimensional
drawing of the three-dimensional BIM view at a given clip height. In one implementation, the
computing device generates the top-down two-dimensional technical drawing by engaging in a
process similar to that described above with respect to flow diagram 500 in FIG. 5, with the caveat
that the given clip height may either be determined based on user input (as described above) or
may be predefined in the software as a default clip height value (e.g., four feet). However, the
computing device may generate a top-down two-dimensional drawing of the three-dimensional
BIM BIM view viewatata agiven clip given height clip usingusing height other other techniques as well.as well. techniques
[00122] The top-down two-dimensional drawing generated in block 802 may have similar
functionality as the two-dimensional drawing generated as a result of the process described above
with respect to flow diagram 500 in FIG. 5. For instance, the top-down two-dimensional drawing
generated in block 802 may comprise various line segments representing various meshes in the
BIM file. As such, the top-down two-dimensional drawing may be arranged such that when the
WO wo 2020/167562 PCT/US2020/016853
computing device receives a user input selecting one of the line segments of the top-down two-
dimensional drawing (e.g., by a tap of one of the lines on a touch-screen interface or by positioning
a mouse cursor over a line and then clicking the mouse), the computing device may be configured
to display some or all of the metadata associated with the determined mesh (e.g., what material
the physical element represented by the mesh is made of, where the physical element represented
by the mesh is located, and/or a part or model number of the physical element represented by the
mesh). Further, the computing device may configured to adjust the presentation of a three-
dimensional BIM view based on a user input selecting one of the line segments of the top-down
two-dimensional drawing. Specifically, in response to receipt of a user input selecting one of the
particular line segments of the top-down two-dimensional drawing (e.g., by a tap of one of the
line segments on a touch-screen interface or by positioning a mouse cursor over a line segment
and then clicking the mouse), the computing device may present a three-dimensional BIM view
and orient the perspective of the three-dimensional BIM view such that the mesh represented by
the particular line segment is in depicted in the three-dimensional BIM view. Other functionality
is possible as well.
[00123] At block 804, the computing device may retrieve from data storage a technical
drawing file, such as a CAD drawing or an architectural plan that exists in electronic form (e.g.,
PDF). For instance, as one possibility, the computing device may retrieve the technical drawing
file in response to receiving a user input directing the computing device to the location in data
storage of the technical drawing file. However, other ways of retrieving a technical drawing file
from data storage are possible as well.
[00124] At block 806, the computing device may use a pattern matching technique in order
to match portions of the generated top-down two-dimensional drawing with portions of the
retrieved technical drawing file. For example, the computing device may engage in a technique
where it attempts to align the lines of the generated top-down two-dimensional technical drawing
with lines on the retrieved technical drawing file. At a high level, this may involve rotating and/or
resizing the top-down two-dimensional technical drawing until it substantially matches the
retrieved technical drawing file. Other ways to engage in pattern matching techniques are possible
as well.
[00125] To help illustrate one example of how a computing device may use a pattern
matching technique in order to match portions of the generated top-down two-dimensional
drawing with portions of the retrieved technical drawing file, reference will now be made to an
additional flow diagram 810 depicting an example process for using a pattern matching technique
in order to match portions of the generated top-down two-dimensional drawing with portions of
the retrieved technical drawing file. This process may generally involve the following operations:
PCT/US2020/016853
(i) (i) at atblock block812, thethe 812, computing device computing identifies device match conditions identifies on the generated match conditions on the top-down two- generated top-down two-
dimensional drawing and the retrieved technical drawing file, (ii) at block 814, the computing
device compares the match features identified at block 812 in order to appropriately scale and
align the respective drawings, and (iii) at block 816, the computing device may next assign unified
coordinate position markups to the retrieved technical drawing file. Each of these operations will
now be discussed in further detail.
[00126] It should be understood, however, that although this example process is described
with reference to using a generated top-down two-dimensional drawing (e.g., at block 812 by
identifying match conditions on the generated top-down two-dimensional drawing and the
retrieved technical drawing file), a computing device may engage in the disclosed pattern
matching technique by using two-dimensional drawings other than generated top-down two-
dimensional drawings. For instance, a computing device engaging in the disclosed pattern
matching technique may use a traditional two-dimensional CAD drawing or other two-
dimensional technical drawing file instead of a generated top-down two-dimensional drawing file.
[00127] Turning first to block 812, the computing device identifies match conditions on the
generated top-down two-dimensional drawing and the retrieved technical drawing file. As
described, the generated top-down two-dimensional drawing may be similar to the technical
drawing generated in the manner described above with respect to flow diagram 500 in FIG. 5, and
the retrieved technical drawing file may be similar to the examples described above with respect
to block 804 in flow diagram 800 in FIG. 8A (e.g., a CAD drawing or an architectural plan that
exists in electronic form, such as in PDF form).
[00128] As a general matter, match conditions are certain identifiable features of a technical
drawing - including, for instance, gridlines, convex or concave corners, other primitive shapes in
the drawing, or distances between such shapes - that the computing device may use to compare
two different drawings. In accordance with one example of identifying match features on a
generated top-down two-dimensional drawing and a retrieved technical drawing file, the
computing device may identify one or more convex or concave corners of each drawing and mark
each corner with a point. To illustrate, FIG. 9A depicts a generated top-down two-dimensional
drawing 900 and FIG. 9B depicts a retrieved technical drawing 901. In accordance with the
example mentioned above, the computing device may identify the convex or concave corners 902,
904, 906, 908, 910, 912 and 914 on generated top-down two-dimensional drawing 900 and mark
each corner with a respective point. Similarly, the computing device may identify the convex or
concave corners 903, 905, 907, 909, 911, 913, and 915 on retrieved technical drawing 901 and
mark each corner with a respective point. In this way, the collection of points created as a result
of identifying match features on each of the generated top-down two-dimensional drawing and
WO wo 2020/167562 PCT/US2020/016853
the retrieved technical drawing file forms a respective point cloud (i.e., a first point cloud
associated with the identified match features on the generated top-down two-dimensional drawing,
and a second point cloud associated with the identified match features on the retrieved technical
drawing file). Other ways of identifying match conditions on the generated top-down two-
dimensional drawing and the retrieved technical drawing file are possible as well.
[00129] At block 814, the computing device compares the match features identified at block
812 in order to appropriately scale and align the respective drawings. In one example of this, the
computing device uses the respective point clouds (e.g., the first and second point clouds, which
were generated as a result of identifying the match features of each drawing) to align and scale
the respective drawings. For instance, the computing device may utilize a best-fit algorithm -
such as a least-squares technique, a computer-vision technique, or a combination of a the least-
fit squares technique and the computer-vision technique - in order to arrive at one or more best fit
solutions in which the first point cloud is aligned with the second point cloud. In general, the best-
fit solution will be the alignment in which the highest percentage of match features identified on
the generated top-down two-dimensional drawing and the retrieved technical drawing are aligned.
In cases in which there is a single best-fit solution, the computing device may accept this solution
and proceed to the next step. However, in cases in which there are multiple best-fit solutions, the
computing device may analyze each possible best-fit solution using a combination of a machine
learning technique and a computer vision technique to narrow the possible best-fit solutions to a
single best-fit solution. The computing device may then accept this best-fit solution and proceed
to the next step.
[00130] At block 816, with the first point cloud aligned with the second point cloud, and
thus the retrieved technical drawing aligned with the generated top-down two-dimensional
drawing, the computing device may next assign "a unified coordinate system" to the retrieved
technical drawing file.
[00131] For instance, as explained above with respect to flow diagram 500 of FIG. 5, for
the generated top-down two-dimensional drawing, the computing device compiled a dataset that
defines this drawing with data representing the respective line segments of the drawing. On a
more granular level, this data may be represented by coordinates that define the respective line
segments of the drawing with respect to an overall coordinate system utilized by the underlying
BIM file (referred to herein as "a unified coordinate system" or "the unified coordinate system").
By contrast, the data contained on the original retrieved technical drawing file (e.g., the line
segments of the technical drawing and SO so forth) may be represented by coordinates that define this
data with respect to the pixel dimensions of the drawing. In accordance with the functionality set
forth here at block 816, the computing device may associate the coordinate data defined in the
WO wo 2020/167562 PCT/US2020/016853
retrieved technical drawing with the unified coordinate system (by creating a mapping between
the two coordinates, and/or by changing the coordinates of the retrieved file to the unified system,
among otherpossibilities). among other possibilities). The The computing computing devicedevice may do may this do by this by (i) referring (i) referring to various portions to various portions
of the top-down generated two-dimensional drawing, (ii) retrieving the unified coordinate data
that defines these portions with respect to the unified coordinate system, and (iii) applying the
same unified coordinate data to corresponding portions of the retrieved technical drawing. Other
ways of assigning a unified coordinate system to the retrieved technical drawing file are possible
as well.
[00132] When the pattern matching is complete and the coordinate systems have been
mapped to each other, data input on one drawing may be readily associated with another drawing.
For example, if markup information (e.g., a "request for information" (RFI), an observation, a
punch item, etc.) is added to one drawing (for example by a construction professional using
Procore's drawing tool), that markup information may be mapped to and added to a corresponding
location on another drawing. For instance, if a user associates RFI data with a location of a
technical drawing file, in accordance with the forgoing process this RFI information may be
associated with and mapped to a corresponding location in other drawing files, such as top-down
two-dimensional drawings generated from the underlying BIM file. By doing so, when
construction professionals update the RFI information in a given drawing file, (e.g., by using a
drawing tool provided by Procore), the update can be reflected on each additional drawing that
may become associated with the given drawing file. It should be understood that such updates
may also be added/reflected in the underlying BIM file as well. Accordingly, construction
professionals that utilize a multitude of different software tools to access the underlying BIM file
can have access to consistent information.
[00133] Returning to FIG. 8A, at block 808A, once pattern matching is complete, the
computing device overlays the top-down two-dimensional drawing onto the retrieved technical
drawing file in accordance with the pattern matching technique to thereby create a functional inset.
In some implementations of this, the computing device overlays the top-down two-dimensional
drawing but hides the lines of the generated drawing from view. In this way, just the lines from
the two-dimensional drawing file (e.g., the PDF CAD file) are visible, but functionality associated
with the top-down two-dimensional drawing subsists.
[00134] As explained above, the computing device generates the top-down two-
dimensional drawing by engaging in a process similar to that described above with respect to flow
diagram 500 in FIG. 5. As such, the computing device may store a similar association between
the lines of the top-down two-dimensional drawing and the meshes in the BIM file that are
represented by these lines. In this way, the computing device may be similarly configured to respond to user inputs received at or near a particular line of the top-down two-dimensional drawing by displaying additional data associated with the mesh represented by the particular line.
[00135] For instance, in response to receipt of a user input selecting a specific area of the
functional inset (e.g., by a tap on a touch-screen interface or by positioning a mouse cursor over
the inset then clicking the mouse), the computing device may recognize the user input as selecting
the specific area of the top-down two-dimensional drawing, which was overlaid on the drawing
file (but hidden from view) to form the functional inset. If the specific area includes a line
segment, the computing device may then refer to the data describing the association between the
line segment and a particular mesh to identify the particular mesh with which the line segment is
associated. Once determined, the computing device may then display some or all of the metadata
associated with the particular mesh (e.g., what material the physical element represented by the
mesh is made of, where the physical element represented by the mesh is located, and/or a part or
model number of the physical element represented by the mesh). As another possibility, the
computing device may adjust the display of the three-dimensional BIM view in order to orient the
point of view of the three-dimensional BIM view such that the particular mesh is visible.
However, other responsive actions are possible as well.
C. Generating Dimension Views
[00136] In yet another aspect, the disclosed software tool may cause a computing device to
use a BIM file as a basis for generating additional dimensioning information related to a
construction project, such as dimensioning information relating to one or more physical elements
(e.g., the distance between two ducts, or the distance between a ceiling and a pipe), which may
not be expressly specified in any available two-dimensional technical drawing or readily
discernible from any three-dimensional BIM view.
[00137] For example, consider the example construction project scenario where
construction plans may call for a collection of multiple pipes to run parallel to a floor. An ordinary
two-dimensional technical drawing, such as a blueprint, may not indicate the distance between
each pipe. Moreover, a three-dimensional BIM view may provide a view of the collection of pipes
from various angles and may be operable to display information about each individual pipe, such
as the dimensions and material of each pipe. But perhaps no three-dimensional BIM view or any
other other specification specificationdocument indicates document the distance indicates between between the distance each pipe. To illustrate each this example this example pipe. To illustrate
scenario, FIG. 10 depicts an example snapshot 1000 of a GUI, which includes a three-dimensional
view of a construction project rendered at a particular perspective. As depicted in snapshot 1000,
the construction project includes a cluster of several pipes, including pipes 1002, 1004a, and
1004b. And as also depicted, this particular three-dimensional view provides no indication
WO wo 2020/167562 PCT/US2020/016853
specifying dimension information for pipes 1002, 1004a, and 1004b. When a construction
professional desires this information, the construction professional would typically derive it based
on his or her own calculation, accounting for, among other things, the known dimension of an an individual pipe, the total number of pipes in the collection, how far the first pipe is from the near
wall, and how far the last pipe is from the far wall.
[00138] The disclosed software tool improves upon this existing approach for deriving
dimensioning information, by enabling a computing device to carry out a process that uses a BIM
file and a custom area of interest defined by using a three-dimensional BIM view to generate a
custom two-dimensional view containing dimensioning information, which may be referred to
hereinafter as a dimension view. This process may take various forms.
[00139] With reference now to flow diagram 1100 of FIG. 11, one example of a process
carried out in accordance with the disclosed software tool for generating a custom two-
dimensional view containing dimensioning information is illustrated and described. In practice,
this process is typically commenced while the computing device is displaying a three-dimensional
BIM view via a GUI. In some implementations, for instance, the computing device may receive
an indication from the user requesting the creation of a dimension view, such as the push of a
button or the selection of a menu command. However, other ways to commence the process are
possible as well.
[00140] Once the process is commenced, the process generally involves the following
operations: (i) at block 1102, the computing device receives a user input identifying an area of
interest that includes at least one mesh, (ii) at block 1104, the computing device identifies from
among the meshes in the BIM file a subset of meshes that intersect with the area of interest, (iii)
at block1106, at block 1106,thethe computing computing device device determines determines the portions the portions of the of the meshes meshes that thatwith intersect intersect the with the
area of interest, and (iv) at block 1108, the computing device generates a two-dimensional drawing
including a display of relevant dimensioning information based on the determined portions. Each
of these operations will now be discussed in further detail.
[00141] At block 1102, while the computing device is presenting a three-dimensional BIM
view rendered using a BIM file, the computing device may receive a user input that identifies an
area of interest containing at least one mesh. In one implementation of this, the computing device
may receive a user input, such as a touch and drag, and responsively generate a two-dimensional
plane on the GUI GUI.To Tohelp helpillustrate illustratethis, this,FIG. FIG.12A 12Adepicts depictsan anexample examplesnapshot snapshot1200 1200of ofaaGUI, GUI,
which includes a three-dimensional view of the construction project depicted in snapshot 1000
(FIG. 10). Further depicted in snapshot 1200 is an example two-dimensional plane 1202, which
may be rendered and displayed by the computing device at the commencement of the process.
Additionally, FIG. 13A depicts another example snapshot 1300 of a GUI, which includes a three-
WO wo 2020/167562 PCT/US2020/016853
dimensional view of the construction project depicted in snapshot 1000 (FIG. 10). Further
depicted in snapshot 1300 is an example two-dimensional plane 1302, which may be rendered and
displayed by the computing device at the commencement of the process.
[00142] The computing device may be configured to reposition the two-dimensional plane
1202 and/or the two-dimensional plane 1302 by rotating it, resizing it, or repositioning it along
one or more of the three axes of the three-dimensional BIM view based on receipt of a respective
user input, such as a touch and drag, among others. Once the two-dimensional plane 1202 and/or
the two-dimensional plane 1302 is in a desired position (which, in the example depicted by FIG.
12A, may be a position that intersects, and is perpendicular to, pipes 1004a and 1004b, and in the
example depicted by FIG. 13A, may be a position that intersects, and is perpendicular to, pipes
1004a and 1002), the computing device may receive a confirmation that the area of interest is
located in the desired location. In one implementation of this, the computing device receives an
indication that the two-dimensional plane is in the desired location, by, for instance, receiving a
user input, such as a tap or mouse click.
[00143] At block 1104, the computing device may identify from among the meshes in the
BIM file a subset of meshes that intersect with the area of interest. In one implementation, the
computing device identifies meshes that intersect with the area of interest (e.g., two-dimensional
plane 1202 and/or 1302) using a process similar to that described above with respect to flow
diagram 500 in FIG. 5. That process is described in further detail above with respect to flow
diagram 500 and, for brevity's sake, is not repeated again here in detail. As general matter,
however, the process includes, in one implementation, the computing device identifying a first
subset of meshes that have a bounding box that intersects with the two-dimensional plane, and
from among this first subset of meshes, identifying a second subset of meshes that contain at least
one triangle that intersects with the two-dimensional plane. Referring back to FIG. 12A, in this
example the computing device may determine that the area of interest intersects with pipes 1004a
and 1004b, and thus the computing device may identify the meshes associated with pipes 1004a
and 1004b. And in the example depicted by FIG. 13A, the computing device may determine that
the area of interest intersects with pipes 1004a and 1002 and thus the computing device may
identify the meshes associated with pipes 1004a and 1002.
[00144] At block 1106, for each given mesh the computing device determined to be
intersecting with the area of interest (e.g., the two-dimensional plane), the computing device
determines the portion of the given mesh that intersects with the area of interest. In one
implementation, a given portion of a mesh that intersects with the area of interest may take the
form of a compilation of line segments formed as a result of triangles representing the mesh
intersecting with the two-dimensional plane. Thus, a computing device may determine a portion
WO wo 2020/167562 PCT/US2020/016853
of a mesh that intersects with the area of interest in largely the same process described above with
respect to flow diagram 500. As described above, this generally includes the computing device
using geometry to determine the coordinates of each line segment formed as a result of the two-
dimensional plane intersecting with the triangles
[00145] At block 1108, once the computing device determines the portions of each mesh
that intersect with the area of interest, the computing device generates a two-dimensional drawing
based on these determined portions by drawing corresponding line segments onto a two-
dimensional display and supplementing this two-dimensional display with relevant dimension
information based on coordinates of the line segments. To illustrate this, FIG. 12B depicts an
example snapshot 1210 of a GUI, which includes a three-dimensional view of the construction
project depicted in snapshot 1000 (FIG. 10) and 1200 (FIG. 12A). Further depicted in snapshot
1210 is an example two-dimensional drawing 1212 that may be generated at block 1108. As
depicted, two-dimensional drawing 1212 may include line segments representing the portions of
the identified meshes 1004a and 1004b that intersected with the two-dimensional plane 1202 (FIG.
12A). Similarly, FIG. 13B depicts an example snapshot 1310 of a GUI, which includes a three-
dimensional view of the construction project depicted in snapshot 1000 (FIG. 10) and 1300 (FIG.
13A). Further depicted in snapshot 1310 is an example two-dimensional drawing 1312 that may
be generated at block 1108. As depicted, two-dimensional drawing 1312 may include line
segments representing the portions of the identified meshes 1004a and 1002 that intersected with
the two-dimensional plane 1302 (FIG. 13A).
[00146] The computing device may supplement the two-dimensional drawing with
dimension information in various ways. As one possibility, the computing device may identify
any vertices present in the two-dimensional display (e.g., connection points formed between two
different line segments that share one endpoint). The computing device may then use the
coordinates of the lines segments to provide an indication of the dimensions of the portions of the
mesh between the vertices. As another possibility, the computing device may identify the left-
most line segment of the two-dimensional display and the right-most line segment of the two-
dimensional display. The computing device may then use coordinates of these line segments to
provide an indication of the distance between these two line segments. As yet another possibility,
the computing device may identify line segments that are associated with different meshes. The
computing device may then use the coordinates of the line segments to provide an indication of
the distance between the line segments of different meshes.
[00147] As depicted in FIG. 12B, the computing device may supplement two-dimensional
drawing 1212 with dimension information 1214, which indicates the distance between pipe 1004a
and pipe 1004b. Likewise, as depicted in FIG. 13B, the computing device may supplement two-
WO wo 2020/167562 PCT/US2020/016853
dimensional drawing 1312 with dimension information 1314 and 1316, which indicates the
vertical and horizontal distances, respectively, between pipe 1004a and pipe 1002.
[00148] Turning now to flow diagram 1400 of FIG. 14, an example of another process
carried out in accordance with the disclosed software tool for generating a custom two-
dimensional view containing dimensioning information is illustrated and described. In practice,
this process is typically commenced while the computing device is displaying a three-dimensional
BIM view via a GUI. In some implementations, for instance, the computing device may receive
an indication from the user requesting the creation of a dimension view, such as the push of a
button or the selection of a menu command. However, other ways to commence the process are
possible as well.
[00149] Once the process is commenced, the process generally involves the following
operations: (i) at block 1402, the computing device receives a user input identifying at least one
first mesh and at least one second mesh, (ii) at block 1404, the computing device determines the
portions of each identified mesh that intersect with a two-dimensional plane, and (ii) at block
1406, the computing device generates a two-dimensional drawing including a display of relevant
dimensioning information based on the determined portions. Each of these operations will now
be discussed in further detail.
[00150] At block 1402, while the computing device is presenting a three-dimensional BIM
view rendered using a BIM file, the computing device may receive a user input that identifies at
least one first mesh and at least one second mesh for which it is desired to view dimension
information. In one implementation of this, the computing device may receive a first user input,
such as a mouse click or a tap on a first mesh being displayed in the three-dimensional BIM view,
and a second user input, such as another mouse click or tap on a second mesh being displayed in
the three-dimensional BIM view.
[00151] To help illustrate one example of this, FIGs. 15A-C depict example snapshots
1500, 1510, and 1520, respectively, of GUIs that include three-dimensional views of a
construction project. As depicted in each snapshot, the three-dimensional view of the construction
project may include a view of several meshes that represent various physical elements in the
construction project, such as mesh 1502, which may represent a wall, and mesh 1504, which may
represent a support girder, among other possible examples. As indicated, in one implementation
the computing device may receive a user input identifying a first mesh by, for instance, receiving
a user input in the form of a mouse click or a tap on one of the displayed meshes. In the examples
depicted in FIGs. 15A-C, the computing device may receive a user input in the form of a mouse
click or a tap on an area displaying mesh 1502, which the computing device may responsively
regard as an identification of a first mesh. Similarly, the computing device may receive a user
WO wo 2020/167562 PCT/US2020/016853
input in the form of a mouse click or a tap on an area displaying mesh 1504, which the computing
device may responsively regard as an identification of a second mesh. The computing device may
receive a user input identifying a first mesh in other ways as well.
[00152] In some implementations, the computing device may present on the GUI various
visual indications that may help facilitate selection of a mesh or may help identify a mesh that has
been selected. As one possibility, the computing device may present a message that prompts a
user to select a first mesh, via for instance a mouse click or a tap. One example of such a message
may be message 1506 depicted in snapshot 1500, which may prompt a user to "Tap the object you
want to measure from." Once the computing device has received a user input identifying a first
mesh, the computing device may present a message that prompts a user to select a second mesh,
via for instance a mouse click or a tap. One example of such a message may be message 1514
depicted in snapshot 1510, which may prompt a user to "Tap the object you want to measure to."
Other example messages or prompts are possible as well.
[00153] As another possibility, the computing device may change a color of a mesh in
response to receiving a user input identifying that mesh. To illustrate one example of this, FIG.
15B depicts an example snapshot 1510 of a GUI, which includes a three-dimensional view of a
construction project. As depicted, in response to receiving a user input, such as a mouse click or
a tap, that identifies mesh 1502, for example, the computing device may change the color of mesh
1502 to indicate to the user that the user has identified mesh 1502. Similarly, as depicted in
snapshot 1520 in FIG. 15C, in response to receiving a user input, such as a mouse click or a tap,
that identifies mesh 1504, for example, the computing device may change the color of mesh 1504
to indicate to the user that the user has identified mesh 1504. As depicted in snapshots 1510 and
1520, the computing device may change the color of meshes 1502 and 1504 from a first color
(e.g., grey) to a second color (e.g., blue), where the second color is different than any other color
used to render the meshes in the three-dimensional display. In other embodiments, other color
changes are possible as well.
[00154] Returning to FIG. 14 at block 1404, the computing device may next determine
portions of each identified mesh that intersect a two-dimensional plane. In one example of this,
the computing device may select a default two-dimensional plane to use to determine portions of
each identified mesh that intersect the two-dimensional plane. The default two-dimensional plane
may be selected as a two-dimensional plane that is oriented such that the z-axis of the three-
dimensional BIM view is co-planar with the two-dimensional plane and is positioned a default
distance (e.g., 6 feet) into the field of view. However, other two-dimensional planes may be
selected as well, such as two-dimensional planes that are positioned at other distances into the
field of view and/or are oriented in other manners. In some implementations, the computing
WO wo 2020/167562 PCT/US2020/016853
device may present an option to receive a user input to select the position and orientation of the
two-dimensional plane. For example, the computing device may display an indication of the two-
dimensional plane and may be configured to reposition the two-dimensional plane by rotating it,
resizing it, or repositioning it along one or more of the three axes of the three-dimensional BIM
view based on receipt of a respective user input, such as a touch and drag, among others. Other
ways of selecting a two-dimensional plane are possible as well.
[00155] The computing device may determine the portions of the first and second meshes
that intersect with the two-dimensional plane using a process similar to that described above with
respect to flow diagram 500 in FIG. 5. That process is described in further detail above with
respect to flow diagram 500 and, for brevity's sake, is not repeated again here in detail. As general
matter, however, the process may include, in one implementation, the computing device
identifying the identifying triangles the comprising triangles the first comprising mesh that the first intersect mesh with the two-dimensional that intersect plane with the two-dimensional plane
and the triangles comprising the second mesh that intersect with the two-dimensional plane.
[00156] Once the computing device determines portions of each identified mesh that
intersects a two-dimensional plane, the computing device may display an outline of the portion of
each identified mesh that intersects the two-dimensional plane. As depicted, for instance, in
snapshots 1510 and 1520, the computing device may display an outline 1512 of the intersection
between the first mesh and the two-dimensional plane, and an outline 1522 of the intersection
between the second mesh and the two-dimensional plane. In other examples, other intersections
and other outlines are possible.
[00157] Returning again to FIG. 14 at block 1406, the computing device may next generate
a two-dimensional drawing based on these determined intersections by drawing corresponding
line segments onto a two-dimensional display and supplementing this two-dimensional display
with relevant dimension information based on coordinates of the line segments. As one example
of this, snapshot 1520 includes an example two-dimensional drawing 1524 that may be generated
at block 1406. As depicted, two-dimensional drawing 1524 may include line segments
representing the portions of the first mesh 1502 and portions of the second mesh 1504 that
intersected with the two-dimensional plane.
[00158] As further depicted, the computing device may supplement the two-dimensional
drawing 1524 with dimension information in various ways. As one possibility, the computing
device may identify any vertices present in the two-dimensional display (e.g., connection points
formed between two different line segments that share one endpoint). The computing device may
then use the coordinates of the lines segments to provide an indication of the dimensions of the
portions of the mesh between the vertices. As another possibility, the computing device may
identify the left-most line segment of the two-dimensional display and the right-most line segment of of the the two-dimensional display.TheThe two-dimensional display. computing computing device device may use may then thencoordinates use coordinates of line of these these line 19 Jun 2025 2020221451 19 Jun 2025 segments to provide segments to provide an an indication indication of of the thedistance distancebetween between these these two two line linesegments. segments. As As yet yet another another possibility, the possibility, thecomputing device may computing device mayidentify identifyline linesegments segments thatareareassociated that associatedwith with different different meshes.The meshes. The computing computing device device may may then then usecoordinates use the the coordinates of line of the the line segments segments to provide to provide an an indication of the indication of the distance distancebetween betweenthethe lineline segments segments of different of different meshes. meshes. Other Other ways to ways to supplement supplement a atwo-dimensional two-dimensional drawing drawing with with dimension dimension information information are possible are possible as well. as well.
[00159]
[00159] As specifically As specifically depicted depicted in in snapshot snapshot 1520, the computing 1520, the devicemay computing device may supplement supplement 2020221451
two-dimensional drawing two-dimensional drawing 1524 1524with withdimension dimensioninformation information1526, 1526,which which indicates(i)(i)the indicates the horizontal distance horizontal distance between oneedge between one edgeofofthe thewall wallrepresented representedbybymesh mesh 1502 1502 and and one one edgeedge of of the the girder girder represented represented by mesh1504, by mesh 1504,and and(ii) (ii) the the vertical vertical distance distance between anotheredge between another edgeofofthe the wall wall represented by represented by mesh mesh1502 1502andand another another edge edge of of thethe girderrepresented girder representedbybymesh mesh 1504. 1504.
V. CONCLUSION V. CONCLUSION
[00160]
[00160] Exampleembodiments Example embodiments of disclosed of the the disclosed innovations innovations have have been described been described above. above.
Thoseskilled Those skilled in in the the art artwill willunderstand, however, understand, however,that thatchanges changesand andmodifications modifications may be made may be madetoto the embodiments the embodiments described described without without departing departing fromtrue from the thescope true and scope and ofspirit spirit of the the present present invention, which invention, which will will be defined be defined byclaims. by the the claims.
[00161]
[00161] For instance, For instance, those those in in the the art art will will understand understandthat thatthe thedisclosed disclosedoperations operationsforfor generating generating two-dimensional drawings two-dimensional drawings based based on on a BIM a BIM file file and and a a three-dimensional three-dimensional BIM BIM viewview may may
be implemented be implemented ininother otherconstruction-related construction-related areas. areas. The Thedisclosed disclosedoperations operationsfor for generating generating two- two- dimensional drawingsbased dimensional drawings based on on a BIM a BIM filefile and and a three-dimensional a three-dimensional BIM could BIM view view be could usedbe inused in
other contextsasaswell. other contexts well.
[00162]
[00162] Further, Further, to tothe theextent extentthat examples that examplesdescribed describedherein hereininvolve involveoperations operationsperformed performed
or initiated by or initiated by actors, actors,such suchasas"humans," “humans,” “operators,” "operators," “users” "users" orentities, or other other entities, this is this is for purposes for purposes
of of example andexplanation example and explanationonly. only.The Theclaims claims should should notnot bebe construed construed as as requiringaction requiring actionbybysuch such actors unlessexplicitly actors unless explicitlyrecited recited in in thethe claim claim language. language.
[00163] Unless
[00163] Unless the the context context requires requires otherwise, otherwise, where where the "comprise", the terms terms “comprise”, “comprises”, "comprises",
“comprised”oror"comprising" "comprised" “comprising”areare used used in in thisspecification this specification(including (includingthe theclaims) claims)they theyare aretoto be be interpreted asspecifying interpreted as specifyingthethe presence presence of stated of the the stated features, features, integers, integers, steps steps or components, or components, but not but not
precluding the precluding the presence presenceofofone oneorormore more other other features,integers, features, integers,steps stepsoror components, components,or or group group
thereof. thereof.
40

Claims (17)

2020221451 19 Jun 2025 The claims defining the invention are as follows: The claims defining the invention are as follows:
1. 1. A computing A computingsystem system comprising: comprising:
at least one processor; at least one processor;
aa non-transitory non-transitory computer-readable medium; computer-readable medium; andand
programinstructions program instructions stored stored on on the the non-transitory non-transitory computer-readable medium computer-readable medium that that areare
executable by the executable by the at at least leastone oneprocessor processor to tocause causethe thecomputing computing system to: system to: 2020221451
render a three-dimensional view of a construction project using a three- render a three-dimensional view of a construction project using a three-
dimensional model dimensional model file file thatthat defines defines a setaof setmeshes; of meshes; receive an indication of a clip height at which to generate a two-dimensional receive an indication of a clip height at which to generate a two-dimensional
drawing drawing of of the the construction construction project, project, wherein wherein theheight the clip clip height is associated is associated with the with the
rendered three-dimensional rendered three-dimensionalview viewofofthe theconstruction constructionproject; project; identify, from identify, from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file, file, aa subset of meshes subset of meshes that that intersect intersect with with a two-dimensional a two-dimensional plane positioned plane positioned at the clip at the clip
height; height;
for eachrespective for each respective mesh mesh in the in the identified identified subset subset of meshes, of meshes, generategenerate a respective a respective
dataset that defines dataset that definesa aparticular particular portion portion of the of the respective respective mesh mesh that intersects that intersects with the with the
two-dimensional plane positioned at the clip height; two-dimensional plane positioned at the clip height;
based at least on the respective dataset for each respective mesh in the identified based at least on the respective dataset for each respective mesh in the identified
subset subset of of meshes, generate aa compiled meshes, generate dataset that compiled dataset that defines defines the the two-dimensional drawing two-dimensional drawing
of the construction project at the clip height, wherein the generated compiled dataset of the construction project at the clip height, wherein the generated compiled dataset
comprises comprises (i)(i) datadefining data defining a plurality a plurality of line of line segments segments that represent that represent portionsportions of meshesof meshes
that intersect with the two-dimensional plane and (ii) association data indicating, for each that intersect with the two-dimensional plane and (ii) association data indicating, for each
respective line segment of the plurality of line segments, an association between the respective line segment of the plurality of line segments, an association between the
respective line respective line segment and aa respective segment and respective mesh representedbybythe mesh represented theline line segment; segment; render the render the two-dimensional drawing two-dimensional drawing ofof theconstruction the constructionproject projectusing usingthe the compileddataset; compiled dataset; while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receive receive a user a user input input selecting selectingan anelement element of ofthe therendered rendered two-dimensional drawing;and two-dimensional drawing; and in response to receiving the user input selecting the element of the rendered two- in response to receiving the user input selecting the element of the rendered two-
dimensional drawing, (i) based on the association data, identify at least one mesh from dimensional drawing, (i) based on the association data, identify at least one mesh from
the set of meshes that is associated with the selected element of the rendered two- the set of meshes that is associated with the selected element of the rendered two-
dimensional drawingand dimensional drawing and (ii)render (ii) renderan anupdated updatedthree-dimensional three-dimensionalview view of of the the
41 construction project that orients a perspective of the updated three-dimensional view construction project that orients a perspective of the updated three-dimensional view 19 Jun 2025 2020221451 19 Jun 2025 such thatatatleast such that leastone onemesh mesh represented represented byselected by the the selected elementelement is into is brought brought view.into view.
2. 2. The computing The computingsystem system of of claim claim 1, 1, wherein wherein thethe three-dimensional three-dimensional model model filefile
comprises comprises aa building building information informationmodel model(BIM) (BIM) file. file.
3. 3. The computing The computingsystem system of of claim claim 1 or 1 or 2,2,wherein wherein each each respective respective mesh mesh in in thethe 2020221451
identified subsetofofmeshes identified subset meshes comprises comprises a plurality a plurality of triangles, of triangles, and wherein and wherein the respective the respective dataset dataset for for each respective each respective mesh mesh in the in the identified identified subset subset of meshes of meshes comprises comprises dataa defining data defining subset of a subset of
the plurality of line segments, wherein each respective line segment of the subset represents an the plurality of line segments, wherein each respective line segment of the subset represents an
intersection intersection between between aa respective respective triangle triangleof ofthe therespective mesh respective meshand and the thetwo-dimensional plane two-dimensional plane
positioned at the clip height. positioned at the clip height.
4. 4. The computing The computingsystem system of of anyany oneone of of claims claims 1 to 1 to 3,3,wherein wherein thethree-dimensional the three-dimensional modelfile model file defines defines aa respective respective bounding boxfor bounding box for each each mesh meshdefined definedininthe thethree-dimensional three-dimensional modelfile, model file, wherein each given wherein each givenbounding boundingbox box encompasses encompasses a respective a respective mesh mesh on sides, on all all sides, wherein the subset of meshes that intersect with the two-dimensional plane positioned at the clip wherein the subset of meshes that intersect with the two-dimensional plane positioned at the clip
height comprises height comprises aa second secondsubset subsetofofmeshes, meshes,and andwherein wherein thecomputing the computing system system further further
comprises program comprises program instructions instructions thatexecutable that are are executable byleast by the at the at oneleast one processor processor to cause the to cause the
computing system computing system to: to:
prior to identifying the second subset of meshes that intersect with the two-dimensional 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; plane, identify a set of bounding boxes that intersect with the two-dimensional plane;
identify, from identify, from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file,aa file,
first firstsubset subsetofofmeshes meshes that thatare areencompassed within the encompassed within the identified identified set setofofbounding bounding boxes; boxes; and and
identify, identify,from from among thefirst among the first subset subset of ofmeshes meshes that that are areencompassed withinthe encompassed within the identified set of identified set of bounding bounding boxes, boxes, the second the second subsetsubset of that of meshes meshes that intersect intersect with the two- with the two-
dimensional plane positioned at the clip height. dimensional plane positioned at the clip height.
5. 5. The computing The computingsystem system of of anyany oneone of of claims claims 1 to 1 to 4,4,wherein: wherein: the program the instructions executable program instructions executable to to cause the computing cause the systemtotorender computing system renderthe thethree- three- dimensional viewofofthe dimensional view theconstruction constructionproject project comprise compriseprogram program instructionsthat instructions thatare are executable executable by the by the at at least leastone oneprocessor processorto tocause causethe thecomputing computing system to render system to render the the three-dimensional view three-dimensional view
of the construction of the constructionproject project at at a given a given height height such such thatmesh that any anyofmesh of of the set themeshes set ofthat meshes is that is positioned above positioned abovethe the given given height height is is not not rendered; rendered; and and
42 the program the instructions executable program instructions executable to to cause the computing cause the systemtotoreceive computing system receivethe the 19 Jun 2025 2020221451 19 Jun 2025 indication ofthe indication of theclip clipheight height comprise comprise program program instructions instructions that arethat are executable executable by the at by theoneat least one least processor to cause the computing system to receive a user input selecting the given height as the processor to cause the computing system to receive a user input selecting the given height as the clip clip height. height.
6. 6. The computing The computingsystem system of of claim claim 5, 5, wherein wherein thethe computing computing system system further further
comprises program comprises program instructions instructions thatexecutable that are are executable byleast by the at the at oneleast one processor processor to cause the to cause the 2020221451
computing system computing system to: to:
receive a user input requesting that the given height of the rendered three-dimensional receive a user input requesting that the given height of the rendered three-dimensional
view be view be adjusted; adjusted; in in response response toto receiving receiving thethe user user input input requesting requesting thatgiven that the the given height height of of the rendered the rendered
three-dimensionalview three-dimensional viewbebeadjusted, adjusted,modify modifythe therendered renderedthree-dimensional three-dimensional view view using using thethe
three-dimensionalmodel three-dimensional modelfile, file, wherein whereinmodifying modifyingthetherendered renderedthree-dimensional three-dimensional view view involves involves
one of (a) one of (a) rendering rendering at atleast leastone oneadded addedmesh mesh from the set from the set of of meshes that was meshes that not previously was not previously
rendered due rendered dueto to the the at at least leastone oneadded added mesh nowbeing mesh now beingpositioned positionedbelow below theadjusted the adjustedgiven given height or height or (b) (b) ceasing ceasing to torender renderatatleast oneone least removed removed mesh from the mesh from the set set of of meshes that was meshes that was
previously rendered previously rendereddue duetoto the the at at least leastone oneremoved meshnow removed mesh now being being positioned positioned above above thethe
adjusted given adjusted height . given height.
7. 7. The computing The computingdevice device ofof any any one one of of claims claims 1 to6,6,wherein 1 to whereinthe thecomputing computing system system
further comprises further comprises program program instructions instructions that that are are executable executable by the atby the one least at least one processor processor to cause to cause the computing the systemto: computing system to: while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receive receiveaa user user input input selecting selecting an an element element of of the the rendered rendered two-dimensional drawing; two-dimensional drawing;
in in response response toto receiving receiving thethe user user input input selecting selecting the element the element of the of the rendered rendered two- two- dimensional drawing, dimensional drawing, (i) based (i) based onassociation on the the association data, identify data, identify at least at least one meshone frommesh from the set of the set of
meshes that is meshes that is associated associated with with the the selected selectedelement element of of the therendered rendered two-dimensional drawing, two-dimensional drawing,
(ii) (ii) using the three-dimensional using the three-dimensional model model file that file that defines defines the the set of set of meshes, meshes, identifyidentify metadata metadata that that is is associated withthetheidentified associated with identified at at least least oneone mesh, mesh, and (iii) and (iii) update update the rendered the rendered two-dimensional two-dimensional
drawing drawing toto include include an indication an indication ofidentified of the the identified metadata. metadata.
8. 8. A method A methodcomprising: comprising: rendering aa three-dimensional rendering viewofofaaconstruction three-dimensional view constructionproject project using using aa three-dimensional three-dimensional
model file that defines a set of meshes; model file that defines a set of meshes;
43 receiving an receiving an indication indication of of aaclip clipheight heightatat which whichtoto generate a two-dimensional generate a two-dimensional drawing drawing 19 Jun 2025 2020221451 19 Jun 2025 of the construction of the constructionproject, project, wherein wherein the clip the clip height height is associated is associated with with the the rendered rendered three- three- dimensionalview dimensional viewofofthe theconstruction constructionproject; project; identifying, from identifying, from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file,aa file, subset ofmeshes subset of meshes that that intersect intersect withwith a two-dimensional a two-dimensional plane positioned plane positioned at the clipatheight; the clip height; for each respective mesh in the identified subset of meshes, generating a respective for each respective mesh in the identified subset of meshes, generating a respective dataset that defines dataset that definesa aparticular particular portion portion of the of the respective respective mesh mesh that intersects that intersects with with the two-the two- 2020221451 dimensional planepositioned dimensional plane positionedatat the the clip clip height, height,wherein wherein the the generated generated compiled dataset compiled dataset comprises comprises (i)(i) datadefining data defining a plurality a plurality of line of line segments segments that represent that represent portionsportions of meshesof meshes that that intersect withthe intersect with thetwo-dimensional two-dimensionalplane plane andassociation and (ii) (ii) association data indicating, data indicating, for each for each respective respective line line segment segment of of thethe plurality plurality of of line line segments, segments, an association an association betweenbetween the respective the respective line line segment anda arespective segment and respectivemesh meshrepresented representedbybythetheline linesegment; segment; based at least on the respective dataset for each respective mesh in the identified subset based at least on the respective dataset for each respective mesh in the identified subset of of meshes, generating aa compiled meshes, generating compileddataset datasetthat that defines defines the the two-dimensional drawingofofthe two-dimensional drawing the construction project at the clip height; construction project at the clip height; rendering the rendering the two-dimensional drawing two-dimensional drawing of of theconstruction the constructionproject projectusing usingthe thecompiled compiled dataset; dataset; while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receiving receivingaa user input user input selecting selecting an an element element of of the therendered rendered two-dimensional drawing;and two-dimensional drawing; and in response to receiving the user input selecting the element of the rendered two- in response to receiving the user input selecting the element of the rendered two- dimensional drawing, (i) based on the association data, identifying at least one mesh from the set dimensional drawing, (i) based on the association data, identifying at least one mesh from the set of of meshes that is meshes that is associated associated with with the theselected selectedelement element of ofthe therendered renderedtwo-dimensional drawing two-dimensional drawing and (ii) rendering an updated three-dimensional view of the construction project that orients a and (ii) rendering an updated three-dimensional view of the construction project that orients a perspective of perspective of the the updated updated three-dimensional viewsuch three-dimensional view suchthat thatat at least least one one mesh representedby mesh represented bythe the selected element selected element is is brought brought intointo view. view.
9. 9. The method The methodofofclaim claim8,8,wherein whereinthe thethree-dimensional three-dimensional model model file file definesa defines a respective bounding respective boxfor bounding box foreach eachmesh meshdefined defined inin thethree-dimensional the three-dimensional model model file,wherein file, wherein each given bounding each given boundingbox boxencompasses encompasses a respective a respective mesh mesh on all on all sides, sides, wherein wherein thethe subset subset of of
meshes that intersect with the two-dimensional plane positioned at the clip height comprises a meshes that intersect with the two-dimensional plane positioned at the clip height comprises a
second subset of second subset of meshes, meshes,and andwherein whereinthe themethod method furthercomprises: further comprises: prior to identifying the second subset of meshes that intersect with the two-dimensional prior to identifying the second subset of meshes that intersect with the two-dimensional
plane, identifying a set of bounding boxes that intersect with the two-dimensional plane; plane, identifying a set of bounding boxes that intersect with the two-dimensional plane;
identifying, from identifying, from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file,aa file,
first firstsubset subsetofofmeshes meshes that thatare areencompassed within the encompassed within the identified identified set setofofbounding bounding boxes; boxes; and and
44 identifying, identifying, from from among thefirst among the first subset subset of ofmeshes that are meshes that areencompassed withinthe encompassed within the 19 Jun 2025 2020221451 19 Jun 2025 identified set of identified set of bounding bounding boxes, boxes, the second the second subsetsubset of meshes of meshes that intersect that intersect with the two- with the two- dimensional plane dimensional plane positioned positioned atclip at the the height. clip height.
10. 10. The The method method of claim of claim 8 or 8 9,orwherein: 9, wherein: rendering the rendering the three-dimensional viewofofthe three-dimensional view the construction construction project project comprises comprisesrendering renderingthe the three-dimensional view of the construction project at a given height such that any mesh of the three-dimensional view of the construction project at a given height such that any mesh of the 2020221451
set set of of meshes thatisispositioned meshes that positioned above above the given the given height height is not is not rendered; rendered; and and receiving the indication of the clip height comprises receiving a user input selecting the receiving the indication of the clip height comprises receiving a user input selecting the
given heightasasthethe given height clip clip height. height.
11. 11. The The method method of claim of claim 10, further 10, further comprising: comprising:
receiving a user input requesting that the given height of the rendered three-dimensional receiving a user input requesting that the given height of the rendered three-dimensional
view be adjusted; view be adjusted; and and in in response response toto receiving receiving thethe user user input input requesting requesting thatgiven that the the given height height of of the rendered the rendered
three-dimensionalview three-dimensional viewbebeadjusted, adjusted,modifying modifyingthe therendered renderedthree-dimensional three-dimensional view view using using thethe
three-dimensionalmodel three-dimensional modelfile, file, wherein whereinmodifying modifyingthetherendered renderedthree-dimensional three-dimensional view view involves involves
one of (a) one of (a) rendering rendering at atleast leastone oneadded addedmesh mesh from the set from the set of of meshes that was meshes that was not not previously previously
rendered due rendered dueto to the the at at least leastone oneadded added mesh nowbeing mesh now beingpositioned positionedbelow below theadjusted the adjustedgiven given height or height or (b) (b) ceasing ceasing to torender renderatatleast oneone least removed removed mesh from the mesh from the set set of of meshes that was meshes that was
previously rendered previously rendereddue duetoto the the at at least leastone oneremoved meshnow removed mesh now being being positioned positioned above above thethe
adjusted adjusted given height . given height.
12. 12. The The method method ofone of any anyofone of claims claims 8 to 8 to further 11, 11, further comprising: comprising:
while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receiving receivingaa user input user input selecting selecting an an element element of of the therendered rendered two-dimensional drawing; two-dimensional drawing;
in in response response toto receiving receiving thethe user user input input selecting selecting the element the element of the of the rendered rendered two- two- dimensional drawing, dimensional drawing, (i) based (i) based onassociation on the the association data, identifying data, identifying at least at oneleast mesh one from mesh from the set the set
of of meshes that is meshes that is associated associated with with the theselected selectedelement element of ofthe therendered renderedtwo-dimensional drawing, two-dimensional drawing,
(ii) (ii)
using the three-dimensional model file that defines the set of meshes, identifying using the three-dimensional model file that defines the set of meshes, identifying
metadata that is associated with the identified at least one mesh, (iii) and metadata that is associated with the identified at least one mesh, (iii) and
updating the updating the rendered rendered two-dimensional two-dimensional drawing drawing to to include include an an indicationofofthe indication theidentified identified metadata. metadata.
45
2020221451 19 Jun 2025
13. 13. A non-transitory A non-transitory computer-readable computer-readable storage storage medium medium having having programprogram instructions instructions
stored stored thereon thereon that that are areexecutable executable to tocause causeaacomputing systemto: computing system to: render aa three-dimensional render viewofofaa construction three-dimensional view construction project project using using a a three-dimensional three-dimensional
model file that defines a set of meshes; model file that defines a set of meshes;
receive an receive an indication indication of of aaclip clipheight heightatat which whichtoto generate a two-dimensional generate a two-dimensional drawing drawing of of 2020221451
the construction project, wherein the clip height is associated with the rendered three- the construction project, wherein the clip height is associated with the rendered three-
dimensionalview dimensional viewofofthe theconstruction constructionproject; project; identify, from identify, from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file,aa file,
subset ofmeshes subset of meshes that that intersect intersect withwith a two-dimensional a two-dimensional plane positioned plane positioned at the clipatheight; the clip height; for eachrespective for each respective mesh mesh in the in the identified identified subset subset of meshes, of meshes, generategenerate a respective a respective dataset dataset that defines a particular portion of the respective mesh that intersects with the two-dimensional that defines a particular portion of the respective mesh that intersects with the two-dimensional
plane positioned at the clip height; plane positioned at the clip height;
based at least on the respective dataset for each respective mesh in the identified subset based at least on the respective dataset for each respective mesh in the identified subset
of of meshes, generate aa compiled meshes, generate compileddataset datasetthat that defines defines the the two-dimensional drawingofofthe two-dimensional drawing the construction project construction project at at thethe clip clip height, height, wherein wherein the generated the generated compiled compiled dataset comprises dataset comprises (i) data (i) data defining defining a aplurality pluralityofofline linesegments segments thatthat represent represent portions portions of meshes of meshes that intersect that intersect with the with the
two-dimensional plane and (ii) association data indicating, for each respective line segment of two-dimensional plane and (ii) association data indicating, for each respective line segment of
the plurality of line segments, an association between the respective line segment and a the plurality of line segments, an association between the respective line segment and a
respective mesh respective representedbybythe mesh represented theline line segment; segment;
render the render the two-dimensional drawing two-dimensional drawing ofof theconstruction the constructionproject projectusing usingthe thecompiled compiled dataset; dataset;
while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receive receiveaa user user input input selecting selecting an an element element of of the the rendered rendered two-dimensional drawing;and two-dimensional drawing; and in in response response toto receiving receiving thethe user user input input selecting selecting the element the element of the of the rendered rendered two- two- dimensional drawing, (i) based on the association data, identify at least one mesh from the set of dimensional drawing, (i) based on the association data, identify at least one mesh from the set of
meshesthat meshes that is is associated associated with with the the selected selectedelement element of of the therendered rendered two-dimensional drawing two-dimensional drawing
and (ii) render and (ii) renderananupdated updated three-dimensional three-dimensional view ofview of the construction the construction project project that that orients a orients a
perspective of perspective of the the updated updated three-dimensional viewsuch three-dimensional view suchthat thatat at least least one one mesh representedby mesh represented bythe the selected element selected element is is brought brought intointo view. view.
14. 14. The The non-transitory non-transitory computer-readable computer-readable storage storage medium medium of 13, of claim claim 13, wherein wherein the the three-dimensionalmodel three-dimensional modelfile file defines defines aa respective respective bounding boxfor bounding box foreach eachmesh mesh defined defined inin the the
three-dimensionalmodel three-dimensional modelfile, file, wherein whereineach eachgiven givenbounding boundingboxbox encompasses encompasses a respective a respective meshmesh
46 on all sides, on all sides, wherein whereinthethe subset subset of meshes of meshes that intersect that intersect with with the the two-dimensional two-dimensional plane plane 19 Jun 2025 2020221451 19 Jun 2025 positioned at positioned at the the clip clipheight heightcomprises comprises aasecond second subset subset of ofmeshes, meshes, and and wherein the program wherein the program instructions arefurther instructions are furtherexecutable executable to cause to cause the computing the computing system to: system to: prior to identifying the second subset of meshes that intersect with the two-dimensional 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; plane, identify a set of bounding boxes that intersect with the two-dimensional plane; identify, identify,from from among theset among the set of of meshes definedbybythe meshes defined thethree-dimensional three-dimensionalmodel model file,aa file, first firstsubset subsetofofmeshes meshes that thatare areencompassed within the encompassed within the identified identified set setofofbounding bounding boxes; boxes; and and 2020221451 identify, identify,from from among thefirst among the first subset subset of ofmeshes meshes that that are areencompassed withinthe encompassed within the identified set of identified set of bounding bounding boxes, boxes, the second the second subsetsubset of meshes of meshes that intersect that intersect with the two- with the two- dimensional plane dimensional plane positioned positioned at theatclip the height. clip height.
15. 15. The The non-transitory non-transitory computer-readable computer-readable storage storage medium medium of 13 of claim claim 13 or or 14, 14, wherein wherein
the program the instructions executable program instructions executable to to cause the computing cause the systemtotorender computing system renderthe thethree- three- dimensional viewofofthe dimensional view theconstruction constructionproject project comprise compriseprogram program instructionsthat instructions thatare are executable executable to cause to cause the the computing systemtotorender computing system renderthe thethree-dimensional three-dimensionalview viewofofthe theconstruction constructionproject project at at a a given heightsuch given height such that that anyany meshmesh ofset of the theofset of meshes meshes that is that is positioned positioned above theabove given the given
height is not rendered; and height is not rendered; and
the program the instructions executable program instructions executable to to cause the computing cause the systemtotoreceive computing system receivethe the indication ofthe indication of theclip clipheight height comprise comprise program program instructions instructions that arethat are executable executable to cause the to cause the
computing system computing system to receive to receive a usera input user input selecting selecting theheight the given givenasheight as height. the clip the clip height.
16. 16. The The non-transitory non-transitory computer-readable computer-readable storage storage medium medium of 15, of claim claim 15, wherein wherein the the programinstructions program instructions are are further further executable executable to to cause cause the the computing systemto: computing system to: receive a user input requesting that the given height of the rendered three-dimensional receive a user input requesting that the given height of the rendered three-dimensional
view be view be adjusted; adjusted; and and in in response response toto receiving receiving thethe user user input input requesting requesting thatgiven that the the given height height of of the rendered the rendered
three-dimensionalview three-dimensional viewbebeadjusted, adjusted,modify modifythe therendered renderedthree-dimensional three-dimensional view view using using thethe
three-dimensionalmodel three-dimensional modelfile, file, wherein whereinmodifying modifyingthetherendered renderedthree-dimensional three-dimensional view view involves involves
one of (a) one of (a) rendering rendering at atleast leastone oneadded addedmesh mesh from the set from the set of of meshes that was meshes that was not not previously previously
rendered due rendered dueto to the the at at least leastone oneadded added mesh nowbeing mesh now beingpositioned positionedbelow below theadjusted the adjustedgiven given height or height or (b) (b) ceasing ceasing to torender renderatatleast oneone least removed removed mesh mesh from the set from the set of of meshes that was meshes that was
previously rendered previously rendereddue duetoto the the at at least leastone oneremoved meshnow removed mesh now being being positioned positioned above above thethe
adjusted adjusted given height . given height.
47
17. 17. The The non-transitory non-transitory computer-readable computer-readable storage storage medium medium of any of oneany of one of claims claims 13 to 13 to 19 Jun 2025 2020221451 19 Jun 2025
16, 16, wherein the program wherein the instructions are program instructions are further further executable executable to to cause cause the thecomputing systemto: computing system to: while rendering while rendering the the two-dimensional two-dimensionaldrawing drawing of of theconstruction the constructionproject, project,receive receiveaa user user input input selecting selecting an an element element of of the the rendered rendered two-dimensional drawing; two-dimensional drawing;
in in response response totoreceiving receiving thethe user user input input selecting selecting the element the element of the of the rendered rendered two- two- dimensional drawing, dimensional drawing, (i) based (i) based onassociation on the the association data, identify data, identify at least at least one meshone frommesh from the set of the set of
meshes that is meshes that is associated associated with with the the selected selectedelement element of of the therendered rendered two-dimensional drawing, two-dimensional drawing, 2020221451
(ii) (ii) using the three-dimensional using the three-dimensional model model file that file that defines defines theof set the set of meshes, meshes, identifyidentify metadata metadata that that is is associated withthetheidentified associated with identified at at least least oneone mesh, mesh, and (iii) and (iii) update update the rendered the rendered two-dimensional two-dimensional
drawing drawing toto include include an indication an indication ofidentified of the the identified metadata. metadata.
48
CLIENT CLIENT STATION STATION
112 112
110 110
CLIENT STATION CLIENT STATION
BACK-END BACK-END PLATFORM PLATFORM Fig. 1
102 112
110
CLIENT CLIENT STATION STATION
110
112 112
SUBSTITUTE SUBSTATION SHEET SHEET(RULE (RULE26) wo 2020/167562 PCT/US2020/016853 WO 2/16
COMMUNICATION COMMUNICATION
INTERFACE INTERFACE
206
208 208
Fig. Fig. 22
DATADATA STORAGE 204 204 STORAGE 200 DEVICE COMPUTING COMPUTING DEVICE 200
PROCESSOR PROCESSOR
SOFTWARE SOFTWARE
202 DATA DATA
SUBSTITUTE SUBSTATION SHEET SHEET(RULE 26)
WO 2020/167562 2020116752 OM PCT/US2020/016853 3/16 91/1
I 000
- 0 * model the in location that to jump to plan the on hold and Press <<<<<<<< 0003
Fig. 3 - $ Level * the 0 ONLY
**** 00 - tent or 0 0000
- - 000
INM
- 0 ///// and 333
/ 000 - 00
my
MINY <<< (1) IN
* $ -
Xe
INNA *
00003 THE ####### 1333 ####
- - 8 XXXX
Done
300
SUBSTITUTE SHEET (RULE 26)
2020116756 oM 4/16
400 400 404 404 402 402
- and
junos smally
5.0 512
2 USA
Object LIDE
Fig. Fig. 44 the 1
To
408 408 Sample/Mode Sam MOIA JOSD
115.63
the
- de E Layers
406 406
SUBSTITUTE SHEET (RULE 26)
WO wo 2020/167562 PCT/US2020/016853 5/16
500
START
RECEIVE AN INDICATION OF A CLIP 502 502 HEIGHT AT WHICH TO GENERATE A TWO- DIMENSIONAL TECHNICAL DRAWING
IDENTIFY A SUBSET OF MESHES THAT 504 INTERSECT WITHA ATWO-DIMENSIONAL INTERSECT WITH TWO-DIMENSIONAL PLANE AT THE CLIP HEIGHT
DETERMINE PORTIONS OF EACH MESH IN 506 THE SUBSET THAT INTERSECT THE TWO- DIMENSIONAL PLANE AT THE CLIP HEIGHT
BASED ON THE DETERMINED PORTIONS, 508 508 COMPILE DATASET THAT DEFINES THE TWO-DIMENSIONAL TWO-DIMENSIONAL DRAWING DRAWING
RENDER THE TWO-DIMENSIONAL 510 DRAWING USING THE COMPILED DATASET
END
Fig. 5
SUBSTITUTE SHEET (RULE 26)
2020116752 OM PCT/US2020/016853 91/9
601b 601b
Fig. 6B Fig. 6B
603b 603b
601a 601a
Fig. 6A Fig. 6A
603a 603a
SUBSTITUTE SHEET (RULE 26) wo 2020/167562 PCT/US2020/016853 7/16
00L
and
20 704
505 CIID
© 704
O (+)
wornd DATED L Figh
3 1 00
3 (i)
0
SampleModel
702
JOSN
iii
SUBSTITUTE SHEET (RULE 26)
800 800 START START TWO- TOP-DOWN A GENERATE START TWO- TOP-DOWN A GENERATE START THREE- THE OF DRAWING DIMENSIONAL THREE- THE OF DRAWING DIMENSIONAL 802 wo 2020/167562
CLIP GIVEN A AT VIEW BIM DIMENSIONAL CLIP GIVEN A AT VIEW BIM DIMENSIONAL HEIGHT HEIGHT ON CONDITIONS MATCH IDENTIFY ON CONDITIONS MATCH IDENTIFY TWO TOP-DOWN GENERATED TWO TOP-DOWN GENERATED RETRIEVED AND DRAWING DIMENSIONAL RETRIEVED AND DRAWING DIMENSIONAL 812 A STORAGE DATA FROM RETRIEVE A STORAGE DATA FROM RETRIEVE FILE DRAWING TECHNICAL FILE DRAWING TECHNICAL DRAWING TECHNICAL 804 TECHNICAL DRAWING TECHNIQUE MATCHING PATTERN A USE TECHNIQUE MATCHING PATTERN A USE CONDITIONS MATCH COMPARE CONDITIONS MATCH COMPARE THE OF PORTIONS MATCH TO THE OF PORTIONS MATCH TO 814 8/16
TWO- TOP-DOWN GENERATED TWO- TOP-DOWN GENERATED 806 DRAWING TECHNICAL DIMENSIONAL DRAWING TECHNICAL DIMENSIONAL RETRIEVED THE OF PORTIONS WITH RETRIEVED THE OF PORTIONS WITH FILE DRAWING TECHNICAL FILE DRAWING TECHNICAL POSITION COORDINATE UNIFIED ASSIGN POSITION COORDINATE UNIFIED ASSIGN TECHNICAL RETRIEVED TO MARKUPS SUBSTITUTE SHEET (RULE 26) 816 TECHNICAL RETRIEVED TO MARKUPS TWO- TOP-DOWN THE OVERLAY TWO- TOP-DOWN THE OVERLAY DRAWING DRAWING FILE FILE
THE ONTO DRAWING DIMENSIONAL THE ONTO DRAWING DIMENSIONAL IN FILE DRAWING TECHNICAL RETRIEVED IN FILE DRAWING TECHNICAL RETRIEVED PATTERN THE WITH ACCORDANCE 808 PATTERN THE WITH ACCORDANCE 808 TECHNIQUE MATCHING TECHNIQUE MATCHING END PCT/US2020/016853
END Fig. 8B
Fig. 8A
TO6
E06 903
Fig. 9B Fig. 9B
915 915
905 905 911 911 913 913
C 907, 206
606 909
006 900
902 902
Fig. 9A Fig. 9A
58
914 19
990 904 910 910 912 912
906 906
806 908
SUBSTITUTE SHEET (RULE 26)
WO 2020/167562 2020116752 OM PCT/US2020/016853 PCT/US2020/016853 10/16 91/01 1000
NORTH 4% Views SMBIA
M
object Carripick off. Measure 1002
as puroy
5 Fig. 10
is 1004a
1004b DEMO 29863 1 1.0.6604 C BF-PARCEL Jesn
C9511 11
311
... SJOAE Layers
SUBSTITUTE SHEET SUBSTITUTE SHEET (RULE (RULE 26) 26)
WO wo 2020/167562 PCT/US2020/016853 11/16 11/16
1100
START
RECEIVE A USER INPUT IDENTIFYING AN 1102 AREA OF INTEREST THAT INCLUDES AT LEAST ONE MESH
IDENTIFY FROM AMONG THE MESHES IN THE BIM FILE A SUBSET OF MESHES 1104 THAT INTERSECT WITH THE AREA OF INTEREST
1106 DETERMINE PORTIONS OF EACH MESH IN THE SUBSET THAT INTERSECT THE AREA OF INTEREST
1108 BASED ON THE DETERMINED PORTIONS, GENERATE A TWO-DIMENSIONAL DRAWING INCLUDING A DISPLAY OF THE RELEVANT DIMENSION INFORMATION
END
Fig. 11
SUBSTITUTE SHEET (RULE 26)
0000000 BF-PARCELC 0.5604.29663_DEMO and CESO n - a
Layers Views
and
115.63 FREE and Fish UserForus View $ found o ====
Fig. 12A 1210 BF-PARCEL C 1.0.6604.29863 DEMO BF-PARCEL DEMO 0 n 7 7
@@@@@@@@@
$42.63, (275.0,725.0) $42.63, (275.0,225.0)
1212 X
Layers 2 assess 2 not SMITH
2 1002 <<<
100.0 1004a ½ 1214
115.63' 11583 Ford whichel N solution Ford User Vew Use View 0 1 Fig. 12B
SUBSTITUTE SHEET (RULE 26)
WO wo 2020/167562 PCT/US2020/016853 13/16 1300
Search STREET BF-PARCELC 1.0.6604.29863_DEMO REPARCED
+- ~ 7 NORTH
Layers Views
1002 ma
1302 100
EXPRESS Found orthoponal - User V Uservew 1 AND Address it
the ==== 1004b 1004a Fig. 13A 1310 3.38.944 SERVICEThey Jan 20 someone BF-PARCELC -10.0004.29063 DEMO
C- REPARCHES DETO @ a 7 ? NORTH
161.25. 361.25, (275. 5,225.0) (275.0,225.0) 2:02:01 X 1312 x X
Layers Views
7 7 1/4 1/4
1002 1314
11,200.00 SW& THE SKE
9 1/2
115.00 15:00 for Found UserView User View 6 NAME ==== 1316 Fig. 13B
SUBSTITUTE SHEET (RULE 26)
START
RECEIVE USER INPUT IDENTIFYING AT 1402 LEAST ONE FIRST MESH AND AT LEAST ONE SECOND MESH
DETERMINE PORTIONS OF EACH 1404 IDENTIFIED MESH THAT INTERSECT A TWO-DIMENSIONAL PLANE
BASED ON THE DETERMINED PORTIONS, 1406 GENERATE A TWO-DIMENSIONAL DRAWING INCLUDING A DISPLAY OF THE RELEVANT DIMENSION INFORMATION
END
Fig. 14
SUBSTITUTE SHEET (RULE 26)
WO wo 2020/167562 PCT/US2020/016853 15/16 Done Verber Vertex - . All Levels - Including Drawings 1500 1500 Measurement Mode as White Aline Coxe GO
OF Tax 1001998 theabless you was sheest youis was masser tolittles INSURER him. I Name ****
: 1000
1506 <<<<<
the The
- 1504
Fig. 15A 1502 1510 1510 Dans Date 1 Including Drawings Vortex - All Levels -
Made Measurement Mode 1 Relate State Reside Place Restart Chone Docto 800 (2) Youthe a Tap theyou states you@@@@@@@ was to word $355. SS New
- ...
AND
1514 & 2000
- CON taxe 1000
R y scrops
1504
Fig. 15B 1512 1502
SUBSTITUTE SHEET (RULE 26)
2020116756 oM PCT/US2020/016853 91/91
1520
1504 1504
Chinas date /////// WITH WITH with Size 5,997 him
: $ a Done
1522 Restart Restart
may - them William / Drawings Including - Levels All - Vortex Drawings including - Levels All - Vortex Fig. 15C
1502 000000000000 14.7" 14.7"
1526 1526
5' ; de the ( 2222 VS a state to United 200 Tap Mode Measurement Mode Measurement 1512
Done
1524 1524
SUBSTITUTE SHEET (RULE 26)
AU2020221451A 2019-02-15 2020-02-05 Generating technical drawings from building information models Active AU2020221451B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2025248726A AU2025248726A1 (en) 2019-02-15 2025-10-10 Generating technical drawings from building information models

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US16/277,679 US10699478B1 (en) 2019-02-15 2019-02-15 Generating technical drawings from building information models
US16/277,752 US10748311B1 (en) 2019-02-15 2019-02-15 Generating technical drawings from building information models
US16/277,406 2019-02-15
US16/277,679 2019-02-15
US16/277,752 2019-02-15
US16/277,406 US10733775B1 (en) 2019-02-15 2019-02-15 Generating technical drawings from building information models
US16/594,877 2019-10-07
US16/594,877 US11182513B2 (en) 2019-02-15 2019-10-07 Generating technical drawings from building information models
PCT/US2020/016853 WO2020167562A1 (en) 2019-02-15 2020-02-05 Generating technical drawings from building information models

Related Child Applications (1)

Application Number Title Priority Date Filing Date
AU2025248726A Division AU2025248726A1 (en) 2019-02-15 2025-10-10 Generating technical drawings from building information models

Publications (2)

Publication Number Publication Date
AU2020221451A1 AU2020221451A1 (en) 2021-09-02
AU2020221451B2 true AU2020221451B2 (en) 2025-07-10

Family

ID=72045306

Family Applications (2)

Application Number Title Priority Date Filing Date
AU2020221451A Active AU2020221451B2 (en) 2019-02-15 2020-02-05 Generating technical drawings from building information models
AU2025248726A Pending AU2025248726A1 (en) 2019-02-15 2025-10-10 Generating technical drawings from building information models

Family Applications After (1)

Application Number Title Priority Date Filing Date
AU2025248726A Pending AU2025248726A1 (en) 2019-02-15 2025-10-10 Generating technical drawings from building information models

Country Status (3)

Country Link
EP (1) EP3924862A4 (en)
AU (2) AU2020221451B2 (en)
WO (1) WO2020167562A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010945A (en) * 2021-02-26 2021-06-22 万翼科技有限公司 BIM model linkage method and system
CN113239429A (en) * 2021-04-26 2021-08-10 河南省交通规划设计研究院股份有限公司 Method for manufacturing precast assembled bridge of concrete segments
CN113901550B (en) * 2021-09-30 2024-09-06 深圳市万翼数字技术有限公司 Method and related equipment for generating BIM (building information modeling) model of assembled building
CN115374515A (en) * 2022-08-22 2022-11-22 厦门知本家科技有限公司 Pipeline design method for home decoration design
CN117671186B (en) * 2022-08-30 2025-07-01 广联达科技股份有限公司 A three-dimensional modeling method, device, equipment and storage medium for assembled components
CN119272358B (en) * 2024-12-11 2025-03-04 上海建工四建集团有限公司 Intelligent drawing method and system for disassembly drawings of construction machinery and equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218890A1 (en) * 2011-08-29 2013-08-22 James Conal Fernandes Geographic asset management system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110209081A1 (en) * 2010-02-23 2011-08-25 Honeywell International Inc. Methods and systems for constructing multi-dimensional data models for distribution networks
US20140218360A1 (en) * 2011-09-21 2014-08-07 Dalux Aps Bim and display of 3d models on client devices
KR101607886B1 (en) * 2015-07-30 2016-04-11 단국대학교 산학협력단 Automatic generation system of rebar shop drawing using 3D model
US10963598B2 (en) * 2018-11-13 2021-03-30 Procore Technologies, Inc. Computer system and method for managing coordination issues in construction projects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130218890A1 (en) * 2011-08-29 2013-08-22 James Conal Fernandes Geographic asset management system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHOI, J. et al., "Development of Application for Generation of Automatic 2D Drawings based on openBIM", 35th International Symposium on Automation and Robotics in Construction (ISARC 2018), 25 July 2018, Berlin, Germany, pages 1 - 6 *
SCHWEIZER, R., "Spatial BIM Queries: A Comparison between CPU and GPU based Approaches", Bachelor's Thesis for the B.Sc. in Engineering Science, Date of Issue: 15 October 2014, pages 1-73 *

Also Published As

Publication number Publication date
WO2020167562A1 (en) 2020-08-20
AU2025248726A1 (en) 2025-10-30
AU2020221451A1 (en) 2021-09-02
EP3924862A1 (en) 2021-12-22
EP3924862A4 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
US12079933B2 (en) Generating functional insets for three-dimensional views of construction projects
US11182513B2 (en) Generating technical drawings from building information models
AU2020221451B2 (en) Generating technical drawings from building information models
US11651524B2 (en) Pattern matching tool
EP4390805B1 (en) COMPUTER SYSTEM AND METHOD FOR NAVIGATION THROUGH BUILDING INFORMATION MODEL VIEWS
US12094062B2 (en) Generating two-dimensional views with gridline information
US20250103760A1 (en) Generating Technical Drawings From Building Information Models
US20240104169A1 (en) Drawing Matching Tool
US20250209692A1 (en) Connecting Overlapping Line Segments in a Two-Dimensional View

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)