Patent ID: 12223235

DETAILED DESCRIPTION

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

The present disclosure is generally directed to software technology for managing construction projects, and in particular to a software tool that facilitates (i) the identification of Coordination Issues in a construction project, and (ii) the synchronization of these Coordination Issues among multiple instances of the software tool for use by multiple construction professionals. 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., each of which may be referred to generally herein as a “construction professional”) 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.

In general, such front-end client software may enable one or more individuals responsible for a construction project to perform various tasks related to the management 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 identifying potential problems with the construction project that may require further attention by one or more construction professionals, and synchronizing the identified problem(s) among various, 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.

Turning now to the figures,FIG.1depicts an example network configuration100in which example embodiments of the present disclosure may be implemented. As shown inFIG.1, network configuration100includes a back-end platform102that may be communicatively coupled to one or more client stations, depicted here, for the sake of discussion, as client stations112.

Broadly speaking, back-end platform102may 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 identifying Coordination Issues in a construction project, synchronizing these Coordination Issues among multiple instances of the software tool for use by multiple construction professionals, rendering three-dimensional views of models of a construction project, and/or transmitting data and/or instructions that cause one or more client stations112to output information related to a construction project, including the rendered views of the three-dimensional model of the construction project, and/or information related to the identified Coordination Issues. The one or more computing systems of back-end platform102may take various forms and be arranged in various manners.

For instance, as one possibility, back-end platform102may 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 platform102may 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 platform102may 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 platform102are possible as well.

In turn, client stations112may each be any computing device that is capable of running the front-end software disclosed herein. In this respect, client stations112may 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 stations112may 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.

As further depicted inFIG.1, back-end platform102is configured to interact with client stations112over respective communication paths110. In this respect, each communication path110between back-end platform102and one of client stations112may generally comprise one or more communication networks and/or communications links, which may take any of various forms. For instance, each respective communication path110with back-end platform102may 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, the communication networks and/or links that make up each respective communication path110with back-end platform102may be wireless, wired, or some combination thereof, and may carry data according to any of various different communication protocols. Although not shown, the respective communication paths110between client stations112and back-end platform102may also include one or more intermediate systems. For example, it is possible that back-end platform102may communicate with a given client station112via one or more intermediary systems, such as a host server (not shown). Many other configurations are also possible.

The interaction between client stations112and back-end platform102may take various forms. As one possibility, client stations112may send certain user input related to a construction project to back-end platform102, which may in turn trigger back-end platform102to take one or more actions based on the user input. As another possibility, client stations112may send a request to back-end platform102for certain project-related data and/or a certain front-end software module, and client stations112may then receive project-related data (and perhaps related instructions) from back-end platform102in response to such a request. As yet another possibility, back-end platform102may be configured to “push” certain types of project-related data to client stations112, such as rendered three-dimensional views, in which case client stations112may receive project-related data (and perhaps related instructions) from back-end platform102in this manner. As still another possibility, back-end platform102may be configured to make certain types of project-related data available via an API, a service, or the like, in which case client stations112may receive project-related data from back-end platform102by accessing such an API or subscribing to such a service. The interaction between client stations112and back-end platform102may take various other forms as well.

Although not shown inFIG.1, back-end platform102may also be configured to receive data, such as data related to a construction project, 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 data output by such data sources—may take various forms.

It should be understood that network configuration100is 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

FIG.2is a simplified block diagram illustrating some structural components that may be included in an example computing device200, which could serve as, for instance, the back-end platform102and/or one or more of client stations112inFIG.1. In line with the discussion above, computing device200may generally include at least a processor202, data storage204, and a communication interface206, all of which may be communicatively linked by a communication link208that may take the form of a system bus or some other connection mechanism.

Processor202may 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 processor202could 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.

In turn, data storage204may 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 storage204may 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.

As shown inFIG.2, data storage204may be provisioned with software components that enable the computing device200to carry out the operations disclosed herein. These software components may generally take the form of program instructions that are executable by the processor202to 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 storage204may be arranged to store project-related data in one or more databases, file systems, or the like. Data storage204may take other forms and/or store data in other manners as well.

Communication interface206may be configured to facilitate wireless and/or wired communication with configured other computing devices or systems, such as one or more client stations112when computing device200serves as back-end platform102, or as back-end platform102when computing device200serves as one of client stations112. As such, communication interface206may take any suitable form for carrying out these functions, examples of which may include an Ethernet interface, a serial bus interface (e.g., Firewire, USB 3.0, etc.), a chipset and antenna adapted to facilitate wireless communication, and/or any other interface that provides for wireless and/or wired communication. Communication interface206may also include multiple communication interfaces of different types. Other configurations are possible as well.

Although not shown, computing device200may 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 device200.

It should be understood that computing device200is 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

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.

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 a 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 construction process.

In order to facilitate the creation and use of a computerized, three-dimensional model of the construction project, a team of architects, designers, and/or engineers may engage in a process referred to as Building Information Modeling. 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.

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.

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.”

In order for BIM viewer software to be able to cause a computing device to render a 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.

There are many ways for BIM files to arrange and store data that describes the attributes of the individual physical elements of a construction project. In one specific example, 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 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.

To illustrate one example of a three-dimensional view,FIG.3depicts an example snapshot300of a GUI, which includes a three-dimensional view of a construction project rendered at a particular perspective. Snapshot300may be generated by, for instance, a software tool running on a client station, such as one of client stations112(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 platform102(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 platform102may then send these instructions to one of client stations112, 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.

As depicted, snapshot300includes a three-dimensional view of a construction project from a particular perspective. The three-dimensional view depicted inFIG.3includes a number of meshes that represent individual physical components of the construction project, such as floors, walls, pipes, and ducts, etc. In particular, depicted inFIG.4is, among others, a mesh302, which represents an air duct, and a mesh304, which represents a support beam. Of course, in other examples, other meshes are possible as are other layouts and designs of construction projects.

The client station presenting snapshot300may be configured to adjust the perspective at which the three-dimensional view is presented in response to, for instance, receiving user inputs 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 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 of keys on a keyboard (e.g., the Alt 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.

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 of the perspective in response to receiving a second type of user input at a 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.

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 containing additional data to help summarize information relating to the various meshes, are possible as well.

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.

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.

As mentioned, BIM viewer software is generally deployed on client stations, such as client stations112ofFIG.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.

IV. EXAMPLE OPERATIONS

As discussed above, BIM files and rendered three-dimensional views based on such BIM files may be used throughout the construction planning process by many different construction professionals in order to provide a visualization of the construction project. The process for creating a BIM file may involve input from various different individuals (or different teams of individuals), who have various different roles with respect to the process of creating the BIM file. For example, a structure team may create a BIM file that models the walls, floors, and ceilings of the construction project, an HVAC team may create another BIM file that models the HVAC equipment and associated ductwork throughout the construction project, and a plumbing team may create yet another BIM file that models the plumbing systems of the construction project.

In practice, another team of individuals—which may be referred to as the virtual design and construction (VDC) team—may then take all of these disparate BIM files and assemble them into a single combined BIM file that reflects the entire construction project. However, after combining the disparate BIM files into the combined BIM file and reviewing the combined BIM file in BIM viewer software, an individual (such as a VDC team member) may identify one or more problems with the combined BIM file, such as an unintended intersection between two meshes, insufficient clearance between two meshes, or meshes that are missing, misshapen, or are otherwise ill-positioned in the construction project, among other examples.

Once a problem with the combined BIM file is identified, the VDC team may then be tasked with developing a plan to rectify such a problem. In this respect, it may be possible for the VDC team to resolve some types of problems itself, without involving other individuals or teams of individuals. For example, a problem identified in the combined BIM file could be the result of a simple error by one of the parties that created the underlying BIM files, in which case the VDC team may be able to rectify such a problem without involving others. However, other types of problems may require the VDC team to get another individual (or team of individuals) involved before the VDC team can rectify the problem. For example, a problem identified in the combined BIM file may require a change to contract documents and/or a change the actual scope of work between the general contractor and the owner of the construction project, in which case the VDC team would typically need to get one or more other individuals (or teams of individuals) involved before the problem can be rectified.

Based on the foregoing, it will be appreciated that rectifying a problem identified in a combined BIM file (or the like) may involve coordination between multiple different parties (where a “party” may be an individual or a team of individuals), which may introduce time delays and other inefficiencies into the process of creating a combined BIM file. For example, once the VDC team notifies the necessary parties about a problem identified in a combined BIM file, the plan for resolving that problem is often slow to make its way back to the VDC team—or worse, fails to reach the VDC team altogether. As a result, the problem originally identified by the VDC team will remain open, potentially blocking work and delaying completion of the construction project.

Moreover, to the extent it exists at all, existing software technology that can be used to communicate problems identified in a combined BIM file (or the like) is limited, and fails to provide for timely, reliable coordination of different parties that are involved in the process of rectifying a problem identified in a combined BIM file.

To address these problems (among others), disclosed herein is software technology that facilitates coordination between various parties that are involved in the process of rectifying a problem identified in a combined three-dimensional model file, such as a BIM file. This software technology—which, as explained above, may be referred to herein as a “coordination tool”—may comprise a front-end portion that may be executed by one or more client stations and a back-end portion that may be executed by a back-end platform. Further, in practice, the front-end portion of the disclosed coordination tool may be integrated into or otherwise interface with a software application for viewing a three-dimensional model of a building, such as a BIM viewer.

To illustrate the features and functionality of the disclosed coordination tool,FIG.4depicts an example message flow diagram illustrating an example set of operations in which the disclosed coordination tool may engage, in accordance with one example embodiment. In describing the example set of operations illustrated by flow diagram400, reference is also made toFIGS.5-18, which generally depict screenshots from various operational states of one or more embodiments of the disclosed coordination tool, such as software developed by Procore Technologies, Inc. When reference is made to “a coordination tool” or “the coordination tool” engaging in one or more operations, it should be understood that such operations may, in practice, be carried out by one or more computing devices executing one or more instances of the disclosed coordination tool, which in some respects may be embodied as a plug-in to another software tool, or, in other respects, as a web application interface, among other possibilities. In particular, it should be understood that such example operations may be carried out by a computing device, such as computing device200(FIG.2), which as described above, may serve as one or more of client stations112(FIG.1) and/or back-end platform102(FIG.1). In this respect, it should be further 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 stations112or by back-end platform102, or may be carried out by a combination of computing devices, with some operations being carried out by back-end platform102(such as computational processes and data-access operations) and other operations being carried out by one or more of client stations112(such as display operations and operations that receive user inputs). However, other arrangements are possible as well.

Turning first to block402inFIG.4, a first client station112(which may be executing a front-end portion of the disclosed coordination tool) may provide access to a three-dimensional BIM view and the coordination tool. The first client station112may do this in a number of ways. As one possibility, the first client station may present the coordination tool in the form of a plug-in to BIM viewer software, one implementation of which is depicted inFIG.5. Specifically,FIG.5depicts an example snapshot500of a GUI, which includes a three-dimensional view of a construction project rendered at a particular perspective and a first screen502aof a coordination issues plugin shown at the right-hand side ofFIG.5. As another possibility, the first client station112may present the coordination tool in the form of a web application, one implementation of which is depicted inFIG.6. Specifically,FIG.6depicts an example snapshot600of a GUI, which includes a first screen602aof web application interface. In this implementation, the web application interface may also optionally include a plugin that may enable a user to view and navigate a full three-dimensional BIM view or two-dimensional screenshots of the three-dimensional BIM view. The disclosed coordination tool may take other forms, and the first client station may provide access to the disclosed coordination tool and a three-dimensional BIM view in other ways as well.

As depicted inFIG.5, the first client station may display a three-dimensional view of a construction project within BIM viewer software, which may allow a user to navigate and view different portions of the construction project. By navigating through the three-dimensional view, a problem in the BIM file may become evident. In one illustrative example of this, if a ceiling mesh is not positioned high enough to accommodate a duct mesh, the duct mesh may be shown in a three-dimensional view thereof as protruding through a support structure mesh. AsFIG.5depicts, air duct mesh302is shown protruding through beam mesh304. Other examples of problems in a BIM file or files are possible as well.

Returning toFIG.4, at block404the first client station112may receive an instruction to create a Coordination Issue, such as by way of a click or a tap on a respective button displayed on a GUI. As a general matter, a Coordination Issue is a data structure that contains an indication that some aspect of the construction project may need to be addressed, as well as perhaps other information, such as the party responsible for addressing the aspect, a due date, and a location, among other kinds of information. Typically, Coordination Issues arise during the planning phase of a construction project, and most particularly as the result of discovering an anomaly or other problem with the plans for the construction project, such as an anomaly or other problem that may be evident in a two-dimensional technical drawing and/or a three-dimensional BIM view. For instance, as mentioned above, one problem that may evident in a three-dimensional BIM view is that a portion of a first mesh may be shown as protruding through a portion of a second mesh. However, Coordination Issues may arise as a result of discovering an anomaly or other problem with aspects of a construction project during other phases of the construction project as well.

In response to receiving an instruction to create a Coordination Issue, the first client station112may receive indications of various kinds of data to associate with the Coordination Issue. As one possibility, the first client station112may capture a screenshot of the three-dimensional BIM view at or near the time when the first client station112received the instruction to create the Coordination Issue. In this respect, the first client station112may also provide the ability for the user to navigate through the three-dimensional BIM view and capture additional screenshots to associate with the Coordination Issue.

As another possibility, the first client station112may display one or more fields at which a user may provide additional data to associate with the Coordination Issue. To illustrate one example of this,FIG.7depicts an example snapshot700of a GUI that includes a second screen502bof the coordination issues plugin. This second screen502bof the coordination issues plugin may include additional fields, such as a title of the Coordination Issue, a description of the Coordination Issue, a location of the Coordination Issue, an assignee of the Coordination Issue, and a date by which the Coordination Issue should be resolved, among other possibilities. In some screens, the location may indicate the specific floor of the building where the Coordination Issue occurs. In some implementations, the first client station112may pre-populate a list of options for an assignee of the Coordination Issue. In this respect, the first client station112may retrieve from the back-end platform102, and/or a database communicatively coupled thereto, the names, roles, and other data pertaining to a set of relevant individuals, and populate this data into a list from which a user at first client station112may select. The first client station112may display additional fields as well.

After receiving the foregoing information, the first client station112executing the front-end portion of the disclosed coordination tool may receive an input indicating that the Coordination Issue should be saved. In some implementations, a user may provide such an input to the first client station112by, for instance, clicking or tapping a button on a GUI. Returning toFIG.4, the first client station112may at this point send to back-end platform102a request406to create and save the Coordination Issue. The first client station112may include with this request some or all of the data first client station112received as set forth above, including one or more screenshots of the three-dimensional BIM view, a title of the Coordination Issue, a description of the Coordination Issue, a location of the Coordination Issue, an assignee of the Coordination Issue, and/or a date by which the Coordination Issue should be resolved, among other possibilities.

Back-end platform102may then, at block408, create and store a master copy of the Coordination Issue as well as set a status of the Coordination Issue to “open.” As mentioned above, Coordination Issues may have an associated status. For example, when a Coordination Issue is first created by the back-end platform102, the status associated with this Coordination Issue may be set to “open.” A Coordination Issue may have other possible statuses, as may be described further herein.

Upon creation of the Coordination Issue, back-end platform102may optionally send an assignee of the Coordination Issue a notification (via email, in-app notification, or in some other manner) that there is a Coordination Issue that needs to be addressed. After the Coordination Issue has been created, a user (such as the creator of the Coordination Issue or the assignee) may then access a front-end portion of the disclosed coordination tool via a client station (such as second client station112) in order to review, and perhaps modify, the Coordination Issue.

Continuing atFIG.4, after creation, the back-end platform102may at step410return to the first client station112Coordination Issue data, which may include for instance an indication that the Coordination Issue has been created and its status is set to “open.” A user at the first client station112may then review and perhaps modify the Coordination Issue. After reviewing the Coordination Issue, the creator may determine that the Coordination Issue is one that needs to be further addressed by a different part of the construction team, such as a general contractor or the design team. To facilitate this, the disclosed coordination tool may be configured to receive an indication that a particular Coordination Issue should be elevated to an RFI. As a general matter, an RFI is an additional data structure that contains an indication that a previously-identified Coordination Issue is unable to be immediately rectified (by, for example the VDC team) and the input of one or more additional parties is requested. As mentioned, an RFI is generally linked to a particular Coordination Issue and an RFI may include in its data structure other information, such as the party or parties responsible for addressing the RFI, a due date, a location, and/or comments, among other kinds of information. Although a single RFI is typically linked to just one Coordination Issue (with a single Coordination Issue having one or more RFIs linked thereto), it may be possible for an RFI to be linked to multiple Coordination Issues.

Returning toFIG.4, at block412the first client station112may receive an instruction to create an RFI linked to the Coordination Issue. Although this step is depicted inFIG.4and described below as taking place at the first client station112, it should be understood that this step may take place at a different client station, such as second client station112.

To help illustrate the RFI creation process,FIG.8depicts an example snapshot800of a GUI, which includes a three-dimensional view of a construction project rendered at a particular perspective and a third screen502cof the coordination issues plugin shown at the right-hand side ofFIG.8. In this example, the user may operate the disclosed coordination tool, by clicking through a drop-down menu, to elevate the Coordination Issue to a “draft RFI.” A “draft RFI” in this context means that an RFI manager or other party to whom the RFI has been assigned (which is referred to herein in some embodiments as an “assignee”) has not yet submitted the RFI to any other party (such as a design team or the like) for input.

If the client station receives an indication that a particular Coordination Issue should be elevated to an RFI, then, as shown inFIG.8, the client station may, in response to receiving such an indication, present certain fields that allow the user to input additional information to associate with the draft RFI.FIG.9depicts an example snapshot900of a GUI, which includes a three-dimensional view of a construction project rendered at a particular perspective and a fourth screen502dof the coordination issues plugin, shown at the right-hand side ofFIG.9, that presents certain fields that allow the user to input additional information pertaining to the draft RFI. In addition, the first client station112may include, as a part of the RFI submission, the relevant snapshots of the Coordination Issue from the three-dimensional view of the construction project as well as, perhaps, other location information. Further, the first client station112may allow the user to select an RFI manager from a list of RFI managers, which, in a similar manner to that mentioned above with respect to block404, may be populated by the first client station112as a result of accessing and querying the back-end platform or one or more databases.

After the user inputs the foregoing information and confirms, the first client station may interact with the back-end platform, such as by sending to the back-end platform102a request414to create the RFI, which may include any additional information collected as set forth above, including an indication of the RFI manager. Responsively, back-end platform102may, at block416, create the RFI, link the RFI to the Coordination Issue, and update the status of the Coordination Issue to “Elevated to Draft RFI” (or “Elevated,” for short). An example of this is reflected inFIG.10, which depicts an example snapshot1000that includes a fifth screen502eof the coordination issues plugin. As depicted, the fifth screen502eof the coordination issues plugin may include a listing of example Coordination Issues that have been created via the disclosed coordination tool.

In some implementations, if a client station receives a user input selecting one of the Coordination Issues listed in, for example, the fifth screen502eof the coordination issues plugin, then the client station may provide further information regarding the selected Coordination Issue. To illustrate,FIG.11depicts an example snapshot1100that includes a sixth screen502fof the coordination issues plugin, which provides further information of an example Coordination Issue “#805,” including its current status. In practice, other ways of accessing further information regarding a particular Coordination Issue may be possible as well.

Once a draft RFI is created, the first client station may allow a user to access the draft RFI via the disclosed coordination tool in order to review the draft RFI. The draft RFI may be accessed in various manners, including, in the representative example depicted inFIG.11, by clicking or tapping the text “Draft RFI—Duct conflict with structure.” Other ways of accessing the draft RFI are possible as well. For instance, responsive to receiving a user input requesting to access the draft RFI, such as by selecting the example text in the representative example depicted inFIG.11, the back-end platform102may cause the a client station, such as first client station112, to provide access to the coordination tool, which may allow a user to review the draft RFI. This access may take various forms. For instance, as one possibility, the first client station112may present a second screen602bof the web application interface depicted in snapshot1200ofFIG.12. As depicted, the second screen602bof the web application interface is configured such that a user can interact with the draft RFI that is linked to the Coordination Issue. The user may operate the second screen602bof the web application interface to add or modify certain information for the draft RFI (e.g., assign one or more assignees who may work for a design team, assign or reassign an additional RFI Manager, add a drawing number, assign a location, and specify a due date, among other possibilities) and then save the draft RFI as an “open” RFI. In response to receiving an indication from the user to save the RFI as an open RFI, the client station may communicate this indication to the back-end platform, which may in turn assign an identifier (e.g., a unique number) to the RFI.

Returning toFIG.4, back-end platform102may at this point send a notification418to the RFI manager to indicate to the RFI manager that there is an RFI that needs to be addressed. For instance, in some implementations, notification418may take the form of an email, in-app notification, and/or SMS message, among other possibilities, and may be sent to a client station associated with the RFI manager, such as second client station112. However, in other implementations, an RFI manager, or any other user, may access the open RFI via the disclosed coordination tool without having first received a notification.

To illustrate one example of accessing an open RFI,FIG.13depicts an example snapshot1300that includes a third screen602cof the web application interface. This third screen602cdepicts an example view of certain RFI information after the corresponding RFI has been saved. To further illustrate,FIGS.14-15depict additional snapshots1400and1500that include additional screens602dand602e, respectively, of the web application interface provided by the disclosed coordination tool. These additional screens of the web application interface may facilitate RFI manager review of an Open RFI. For instance, as depicted inFIG.14, screen602dof the disclosed coordination tool allows the assignee to review the RFI, add comments, and close the RFI by providing an indication that the Coordination Issue is now in the “official response” stage, which causes the RFI to be marked as closed. And as depicted inFIG.15, screen602eof the disclosed coordination tool allows the assignee to confirm the response provided, for example, via screen602d(FIG.14) and mark it “official.” This is represented inFIG.4at block422where the second client station112receives a response for the RFI.

In response to either or both of (1) receiving the response from the RFI manager or other user or (2) receiving an indication that the RFI was marked as complete, second client station112may provide back-end platform102with a update message424informing back-end platform102of the response or that the RFI was marked complete. Responsively, back-end platform may, at block426, update information associated with the Coordination Issue to reflect this change. For instance, back-end platform may change the status of the Coordination Issue to “Released by RFI.”

Further, the back-end platform may, in some implementations, alert one or more users associated with the Coordination Issue of the status change, such as, in the example presented herein, by sending a notification428to first client station112. In this example, the back-end platform102may provide notification428to the creator of the Coordination Issue (via first client station112), and may also provide a similar notification to an assignee of the Coordination Issue and/or any other users that has been associated with the Coordination Issue. In some examples, notification428may take the form of an email; however, in other examples, other alert types are possible, such as an in-app notification, an SMS message, etc.

FIG.16depicts a snapshot1600of a seventh screen502gof the coordination issues plugin, which shows a list of outstanding Coordination Issues. As shown, this screen502gallows a user to navigate between “All Issues” and issues “Assigned to me.” If the user has appropriate privileges, the user may provide a user input requesting to close one or more Coordination Issues that have been released, such as by clicking or tapping on a “Close Issue” button. In addition, some users may have review privileges, and when upon completing the review of a Coordination Issue, such users may provide a user input indicating that the review is complete. Responsive to receiving such an indication via the user's client station, the back-end platform may send to a manager an indication that review of the Coordination Issue is complete, and the manager may then have the ability to close the Coordination Issue at that point.

Similar to the functionality discussed above with respect toFIG.10, a user may also provide a user input requesting more information regarding a Coordination Issue or an RFI associated therewith by, for example, clicking or tapping on an “Info” button associated with a particular Coordination Issue. For example, tapping or clicking on the “Info” button associated with Coordination Issue “805 Duct conflict with beam” may bring up a screen resembling screen502hof the coordination issues plugin depicted in snapshot1700ofFIG.17. As depicted by screen502h, the status of the Coordination Issue “805 Duct conflict with beam” indicates that it is “Released by RFI #90.” Screen502hmay provide one or more embedded links, through which the user may access additional information regarding the Coordination Issue or an RFI associated therewith. For example, in screen502h, the user may click or tap on “Released by RFI #90” to view information associated with RFI #90 and the official response from the RFI assignee (not shown).

FIG.18depicts a snapshot1800of an additional screen602fof the web application interface for the disclosed coordination tool. As depicted, screen602fprovides various visualizations of all of the Coordination Issues for a particular a construction project. These visualizations may provide a construction professional with an improved understanding of how the coordination process is progressing for the construction project. As shown inFIG.18, screen602fmay include an Overview chart1802, a Progress chart1804, and a Ball in Court chart1806. Screen602fmay also include a listing1808of all Coordination Issues associated with the construction project, through which the user can browse and open various additional screens to access additional information for a given Coordination Issue, as desired. In order to generate the various visualizations1802,1804,1806, the back-end platform may aggregate certain information fields from the various Coordination Issues in the construction project, including for instance, (1) a “Status” field, which may have various values including “Open,” “Closed,” “Ready for Review,” Elevated,” or “Released,” among others; (2) a “Location” field, which may have various values including “Roof,” “Level 04,” “Level 03,” “Level 02,” “Level 01,” “Level 00,” and “New Location,” among others; and/or (3) a “Ball in Court” field, which may use the names of certain construction professionals or the names of certain teams of construction professionals. Other fields and other values are possible as well.

Progress chart1804may provide a visual representation of how the coordination process is proceeding level-by-level, which in turn may provide an understanding of where the focus of work is being done (and how close to the start of construction a product may be). For example, as shown in the example progress chart1804ofFIG.18, there are significant Coordination Issues for “Level 01,” but not much has been found (or done) for the “Roof” In addition, the Progress chart1804may identify the status of the Coordination Issue via the differently-colored bands. In response to receiving a user input selecting any of these statuses (e.g., by a click or a tap) the coordination tool may filter the listing1808of Coordination Issues, allowing a user to more easily find, select, and access additional about, certain Coordination Issues.

It should be understood that the foregoing workflow for managing a Coordination Issue may take various other forms as well—including the possibility that some functions described above as being carried out by the back-end platform may alternatively be carried out by a client station (or vice versa), among other variations.

V. CONCLUSION

Example embodiments of the disclosed innovations have been described above. Those skilled in the art will understand, however, that changes and modifications may be made to the embodiments described without departing from the true scope and sprit of the present invention, which will be defined by the claims.

For instance, those in the art will understand that the disclosed workflows for creating and managing Coordination Issues may be implemented in other construction-related areas. The disclosed approaches creating and managing Coordination Issues could be used in other contexts as well.

Further, to the extent that examples described herein involve operations performed or initiated by actors, such as “humans,” “operators,” “users” or other entities, this is for purposes of example and explanation only. The claims should not be construed as requiring action by such actors unless explicitly recited in the claim language.