Virtual environment for large scale capital projects
By associating and positioning user indicators with objects in a virtual environment of large-scale capital projects, the problem of difficult to prevent design file conflicts in the prior art is solved, and coordination efficiency and conflict recognition capabilities are improved.
Patent Information
- Application Number
- CN202380060734.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-30
- Filing Date
- 2023-07-25
- Publication Date
- 2025-03-28
AI Technical Summary
Existing project management software is difficult to effectively prevent overlap and redundant conflicts in design documents in large-scale capital projects, making design conflicts difficult to detect and resolve in a timely manner.
By generating a virtual environment representing large-scale capital projects, the system associates user indicators with multiple objects and locates a visual representation of user indicators based on the location of the object, providing an interactive interface for users to identify and coordinate design work.
This method significantly reduces the occurrence of design file conflicts, improves coordination efficiency among engineers, timely identify and resolve design conflicts, and avoids delayed discovery problems caused by refreshing the model.
Smart Images

Figure CN119731678A_ABST
Abstract
Description
[0001] priority
[0002] This patent application claims priority to U.S. patent application No. 17 / 899,130, filed on August 30, 2022, entitled “VIRTUAL ENVIRONMENT FOR LARGE-SCALE CAPITAL PROJECTS,” and naming Christian List et al. as inventors, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0003] Illustrative embodiments of the invention relate generally to virtual environments, and more particularly, various embodiments of the invention relate to virtual environments configured to mitigate design file conflicts in large-scale capital projects. Background Art
[0004] Existing project management software applications have many shortcomings and deficiencies. Among other things, this can include preventing design conflicts such as overlap and redundancy. Large-scale capital projects may involve hundreds of people designing thousands of components and systems for a single plant model. However, an engineer who submits a design file for placing an electrical component at one location in the model may not be aware of a design file previously submitted by another engineer for placing a water pipe in the same location, resulting in a design conflict that may not be discovered until the entire plant model is later refreshed. Summary of the invention
[0005] According to one embodiment, a method for managing a large-scale capital project generates a virtual environment representing the large-scale capital project. The virtual environment includes a plurality of objects, and each of the plurality of objects corresponds to at least one file in a plurality of files. The method associates a user indicator with a given object in the plurality of objects after accessing the given file. The given file is at least one file in the plurality of files, and the given file is associated with a given object in the virtual environment. The method positions a visual representation of the user indicator in the virtual environment according to the given object. The visual representation of the user indicator has an interactive interface for user information. The method also receives a request to contact a user corresponding to the user indicator via the interactive interface.
[0006] In some implementations, associating the user indicator with the given object occurs in response to a modification of the given object by a user corresponding to the user indicator.
[0007] The method may include updating a given object in the virtual environment in response to a user modification of the given object.
[0008] The method may include determining a location of a given object in the virtual environment. Positioning the visual representation of the user indicator in the virtual environment may be a function of the location of the given object. The method may also include associating the user indicator with a second object in the plurality of objects after accessing a second file. The second file is at least one file in the plurality of files. The second file is associated with a second object in the virtual environment. The method may also include determining a second location of the second object in the virtual environment. The method may also include repositioning the visual representation of the user indicator in the virtual environment based on the second location of the second object.
[0009] The method may include assigning an appearance characteristic of the user indicator in the virtual environment in response to at least a portion of the plurality of objects being located proximate to a given object.
[0010] In some implementations, the user indicator includes an avatar representation of the user. The avatar representation may include at least one of a work classification visual representation and a work status visual representation.
[0011] The illustrative embodiment is implemented as a system comprising 1) a user input unit, 2) a renderer configured to generate a virtual environment representing a large-scale capital project, and 3) a user associator configured to associate a user indicator with a given object in a plurality of objects after accessing a given file. The virtual environment includes a plurality of objects. Each object in the plurality of objects corresponds to at least one file in the plurality of files. The user associator. The given file is at least one file in the plurality of files, and the given file is associated with a given object in the virtual environment. The renderer then determines a location of the given object in the virtual environment, and positions a visual representation of the user indicator in the virtual environment according to the location of the given object. The visual representation of the user indicator has an interactive interface for user information. The user input unit then receives a request to access the user information from a user device via the interactive interface.
[0012] The illustrative embodiments are implemented as a computer program product having a computer usable medium with computer readable program code thereon. A computer system can read and utilize the computer readable code according to conventional procedures. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Those skilled in the art should more fully appreciate the advantages of the various embodiments of the present invention from the following "Description of Illustrative Embodiments," which is discussed with reference to the drawings summarized immediately below.
[0014] Figure 1A to Figure 1B An exemplary large-scale capital project is shown in which the project management system of various embodiments may be used.
[0015] Figure 2A block diagram illustrating an exemplary project management system configured in accordance with an illustrative embodiment is schematically shown.
[0016] Figure 3 A block diagram illustrating an exemplary computing device is schematically shown.
[0017] Figure 4 An exemplary virtual environment that may be used with the illustrative embodiments is schematically shown.
[0018] Figure 5 Schematically shows the Figure 2 Updates to the exemplary virtual environment in .
[0019] Figure 6 to Figure 7 is a flow chart illustrating an exemplary process for operating an exemplary virtual environment. DETAILED DESCRIPTION
[0020] The illustrative embodiments provide a graphical user interface configured to mitigate the possibility of design conflicts in a model of a large-scale capital project. Large-scale capital projects have a large number of interconnected objects and often require hundreds of engineers to generate design files for each of these objects. Two engineers working on different design files for different objects may create a design conflict if the objects share space on the large-scale capital project. Design conflicts may occur when two different objects require the same space, or when two redundant components are designed by different engineers, to name a few examples. The illustrative embodiments provide a virtual environment to allow engineers to more easily anticipate or identify design file conflicts caused by multiple engineers working on the same large-scale capital project.
[0021] Figure 1A An example of a large-scale capital project 10 (also referred to as a "capital project 10") in which an illustrative embodiment of the present invention may be implemented is generally shown. More specifically, as known to those skilled in the art, a capital project 10 is typically a long-term investment made to build, increase, add to, or improve a highly capital-intensive project - it requires a large amount of financial capital and labor capital to carry out and typically takes several years to complete. Relative to other investments that require less planning and resources (e.g., building a house or a truck), a capital project 10 is typically defined by its large-scale cost. Both the private sector and the public sector can participate in a capital project 10. Some examples of large-scale capital projects 10 include the development and maintenance of airports, hospitals, high-rise buildings, bridges and tunnels, and road projects. Additionally or alternatively, the illustrative embodiments can be used with refineries, power plants, ships, offshore oil platforms, dams, and factories.
[0022] The illustrative embodiments of the present invention may be advantageously used with various types of capital projects 10 . Figure 1BA power plant is schematically shown, and as known to those skilled in the art, a power plant has a large number of different components that cooperate to achieve its power generation function. For example, the power plant of this figure has, among other things, a number of large and small buildings, smokestacks, pipes, valves, fuel tanks, ladders, and electrical systems. Figure 1B The capital project 10 shown in FIG. 1 is intended to illustrate various large-scale capital projects that may benefit from the illustrative embodiments of the present invention, and the illustrative embodiments are not intended to be limited thereto.
[0023] Designing, building and maintaining large-scale capital projects requires a great deal of planning and coordination. Numerous components must be properly positioned, oriented and connected to other components according to the expected schedule and budget. Without careful planning and coordination, large-scale capital projects 10 may never be built or operated.
[0024] To this end, those skilled in the art have developed plant design programs / products ("plant design programs") to aid in the planning / design, development, maintenance, and decommissioning of capital projects 10, such as Figure 1A to Figure 1B An example of a widely used building and infrastructure design program or plant design program is known as Intergraph , distributed by Hexagon ALI of Huntsville, Alabama. Products (hereinafter referred to as “ 3D product”). In a manner similar to other such products, the above-mentioned modeling product has at least the following related functions and components:
[0025] 3D modeling and visualization,
[0026] Engineering and schematics,
[0027] Information management,
[0028] Procurement, manufacturing and construction,
[0029] ·Open integration with other proprietary and open systems.
[0030] Therefore, architects, designers, engineers, developers, managers, and other interested parties use these and other features of design programs (such as and 3D products) to design, build, update, manage and decommission capital projects10, such as Figure 1A to Figure 1BSuch a 3D or 2D design program can render a model of a capital project 10 based on the design files corresponding to each capital project object. Working on one design file may require working in spaces occupied by other objects of the model that correspond to different design files. For example, one engineer may be designing a plumbing system attached to a wall while another engineer may be designing an electrical system attached to the same wall. Because the capital project model is only updated periodically, such as when the workspace is refreshed, the two engineers will not know that they have created conflicting designs until one or both engineers complete their design files and the model is later refreshed.
[0031] In an illustrative embodiment, the system monitors design files to identify that engineers, administrators, or other designers (hereinafter referred to as "engineers" for simplicity) are working in the model / virtual environment, and presents the virtual environment in a manner that also indicates each engineer's location / work in the capital project. Each engineer can be identified by a visual representation of the engineer positioned in the model relative to the design file on which he is working. Thus, if a first user (e.g., an engineer) sees a second user working on or near an object (i.e., working with / on a design file related to the object or closely located objects) in the virtual environment, the first user can use the virtual environment to directly contact the second user for any of a variety of reasons. Among them, the first user can contact the second user to coordinate design work, start a conversation about the project, pass a file to the second user, or some other collaborative business or social communication. In this way, design conflicts can be avoided rather than repaired after refreshing the model.
[0032] Figure 2 An exemplary project management system 200 configured to implement the illustrative embodiments is schematically shown. It should be understood that the system 200 can be implemented for various large-scale capital projects, such as in Figure 1A to Figure 1B The items identified in the description of are just a few examples. It should also be understood that the topology of system 200 is shown for the purpose of explanation and is not intended to limit the various embodiments. In particular, it should be noted that Figure 2 The components of system 200 are shown schematically only. Those skilled in the art will appreciate that each of these components may be implemented in a variety of conventional ways, such as by using hardware, software, or a combination of hardware and software across one or more other functional components and in a cloud or non-cloud environment. For example, a renderer may be implemented using multiple microprocessors that execute firmware. As another example, a renderer may be implemented using one or more application specific integrated circuits (i.e., "ASICs") and associated software or a combination of ASICs, discrete electronic components (e.g., transistors), and microprocessors. Thus, Figure 2The representation of the renderer and other components in a single box of is for simplicity only. In fact, in some embodiments, Figure 2 The renderers are distributed across multiple different machines - not necessarily within the same enclosure, data center, or rack.
[0033] It should be reiterated that Figure 2 The representation of is a significantly simplified representation. Those skilled in the art will appreciate that such a device may have many other physical and functional components, such as a central processing unit, short-term memory, etc. Therefore, this discussion is in no way intended to imply that Figure 2 All elements of system 200 are represented.
[0034] The system 200 includes a cloud device 210 configured to monitor design files of a large-scale capital project and render the virtual environment in response to the monitored activities. Specifically, the cloud device 210 includes a renderer 211 configured to render the virtual environment, a user associator 213 configured to associate a user indicator with an object of the virtual environment, a user input unit 215 configured to receive a request from a user, and a design file storage device 217 configured to store the design file.
[0035] The renderer 211 is configured to generate a virtual environment representing a large-scale capital project. The virtual environment includes a plurality of objects representing components of the large-scale capital project. Each object in the plurality of objects may include characteristics defined by a corresponding design file, including size, shape, orientation, location, material, or color, to name a few examples.
[0036] More specifically, the renderer 211 is further configured to generate a plurality of visual representations of user indicators in the virtual environment. Each user indicator includes some visual markers associated with the user, i.e., visual markers configured to identify the user within the virtual environment. For example, a visual representation of a user indicator may include an avatar representation of the user or a shape having a color including some prescribed meaning. Another visual representation of a user indicator may include a shadow workspace within the virtual environment.
[0037] To improve communication between users, the visual representation preferably has an interactive interface for receiving and forwarding user information. The user information may include user contact information, such as a phone number, an email address, or social media account information, to name a few examples. In some embodiments, the contact information may be selected by a user, such that the system 200 is configured to allow two or more users to communicate after one user selects the contact information of another user.
[0038] In some implementations, the avatar representation may include a job classification visual representation to represent a technical profession or an administrative title, to name a few examples. For example, the avatar representation may use an icon, shape, or color to indicate that the user is an electronics engineer, or to indicate that the user is a supervisor.
[0039] The avatar representation may also include a work status visual representation to represent the user status, such as "working," "in a meeting," "away," "on vacation," or "offline," to name a few examples. The avatar representation may also be shaded to indicate the user status (e.g., online, offline, or "Do Not Disturb").
[0040] The avatar representation may also show a picture, 3D rendering or other representation of the user and / or other user characteristics, such as office location, engineering group within the company, company name, country of origin.
[0041] In some embodiments, the renderer 211 can generate appearance characteristics of the user indicator in response to one or more of the multiple objects in the virtual environment. For example, when another user attempts to modify a design file in a way that interferes with an object associated with the first user, the visual representation of the user indicator can flicker or otherwise change its appearance. In another example, when two users are working within a proximity threshold, the visual representation of the user indicator can flicker or otherwise change their appearance. Proximity can be determined by the distance between objects, the number of objects between two users, or two objects sharing a multidimensional space, to name just a few examples. In yet another example, a user's interaction with related but spatially distant objects can also have an impact (e.g., similar objects at different ends of a power plant).
[0042] The design file storage device 217 includes a file structure configured to store a plurality of design files. In some embodiments, the file structure has a database configured to store and organize a plurality of design files, such as computer-aided design (CAD) files. Each of the plurality of objects in the virtual environment preferably corresponds to at least one of the plurality of design files. According to their access rights, appropriately authorized users can therefore access, modify, add or delete design files.
[0043] The user associator 213 is configured to associate the user indicator with an object in the virtual environment that corresponds to one or more of the plurality of design files. In some embodiments, the user associator 213 associates the user indicator with a design file that the user most recently accessed. In some embodiments, the user associator 213 associates the user indicator with a design file that the user most recently modified. If the user accesses or modifies multiple design files at one time, the user associator 213 may associate the user indicator with more than one design file at the same time. When the user accesses a new design file after processing an initial design file, the user associator 213 may associate the user indicator with a new object.
[0044] Continuing with reference to the renderer 211, the renderer 211 is configured to determine the location of an object of the virtual environment associated with the user indicator and to position the visual representation of the user indicator based on the location. The renderer 211 may determine the location in response to the user associator 213 or when generating the virtual environment. The renderer 211 may position the visual representation of the user indicator based on the location by placing the visual representation above a given object, below a given object, or to the side of a given object, to name just a few examples. The visual representation of the user indicator may also be placed near a corresponding object in a place where the visual representation does not cover the visual representation of another user's user indicator or another object in the virtual environment that interacts with the given object.
[0045] When the user associator 213 associates the user indicator with the new object, the renderer 211 dynamically repositions the visual representation of the user indicator according to the location of the new object. In some embodiments, the renderer 211 is configured to update objects in the virtual environment based on real-time or near real-time modifications to the corresponding design file.
[0046] The system 200 may also be considered to have a plurality of user devices 220 that can communicate with the cloud device 210 by any of a variety of or conventional methods. For example, the user device 220 may communicate with the user input 25 via a plurality of communication channels 230. Among them, these communication channels may be wireless and / or wired (e.g., the Internet). The user device may be one or more of a computer, a tablet computer, a smart phone, a smart monitor, an Internet device, or other communication devices that can implement communication functions.
[0047] After the virtual environment is generated, it can be displayed to multiple users on the user devices of the system 200. After the virtual environment has been generated and becomes available, the user can select one of the interactive interfaces corresponding to another user. Specifically, the user input unit 215 therefore receives a request to access user information or other system information (e.g., information related to the project) from the user device 220 via the interactive interface. Accessing user information may include initiating a communication channel with the selected user, such as opening a chat window or opening an email draft, to name just a few examples. In some embodiments, the virtual environment may default to opening an email draft in response to determining that the user to whom the email is to be sent is away from the virtual environment.
[0048] It should be appreciated that some or all of the foregoing features of system 200 may also be present in other project management systems disclosed herein.
[0049] Figure 3 1 shows a schematic block diagram of a computing device 300. The computing device 300 is a computer program product that can be used in conjunction with an exemplary project management system (such as Figure 2 The computing device 300 is an example of a cloud device, user device, or circuit used by the system 200 shown in FIG. 300. The computing device 300 includes a processing device 302, an input / output device 304, and a memory device 306. The computing device 300 can be a standalone device, an embedded system, or multiple devices configured to perform the functions described with respect to the renderer 211, the user associator 213, the user input 215, and the design file storage 217. In addition, the computing device 300 can communicate with one or more external devices 310.
[0050] Input / output devices 304 enable computing device 300 to communicate with external devices 310. For example, in various implementations, input / output devices 304 may be a network adapter, network credentials, interface, or port (e.g., a USB port, a serial port, a parallel port, an analog port, a digital port, VGA, DVI, HDMI, FireWire, CAT5, Ethernet, optical fiber, or any other type of port or interface), to name a few examples. Input / output devices 304 may include hardware, software, or firmware. It is contemplated that input / output devices 304 include more than one of these adapters, credentials, or ports, such as a first port for receiving data and a second port for sending data.
[0051] The external device 310 in various embodiments is any type of device that allows data to be input to or output from the computing device 300. For example, the external device 310 in various embodiments is a mobile device, a reader device, an equipment, a handheld computer, a diagnostic tool, a controller, a computer, a server, a printer, a display, an alarm, a visual indicator, a keyboard, a mouse, a user device, a cloud device, a circuit, or a touch screen display. In addition, it is contemplated that the external device 310 is integrated into the computing device 300. It is also contemplated that more than one external device communicates with the computing device 300.
[0052] The processing device 302 in different embodiments is a programmable type, a dedicated hard-wired state machine or a combination thereof. The device 302 may also include multiple processors, an arithmetic logic unit (Arithmetic-Logic Unit, ALU), a central processing unit (Central Processing Unit, CPU), a digital signal processor (Digital Signal Processor, DSP) or a field programmable gate array (Field Programmable Gate Array, FPGA), just to name a few examples. For the form of the processing device 302 with multiple processing units, distributed, pipelined or parallel processing can be appropriately used. The processing device 302 can be dedicated to only perform the operations described herein, or can be used in one or more additional applications. In the illustrated form, the processing device 302 is a programmable type, which executes a process and processes data according to a programming instruction (such as software or firmware) stored in a memory device 306. Alternatively or additionally, the programming instruction can be at least partially defined by hard-wired logic or other hardware. The processing device 302 may include one or more components of any type suitable for processing a signal received from an input / output device 304 or elsewhere and provide a desired output signal. Such components may include digital circuitry, analog circuitry, or a combination of both.
[0053] In various implementations, memory devices 306 are of one or more types, such as solid-state, electromagnetic, optical, or a combination of these, to name a few examples. Furthermore, memory devices 306 may be volatile, non-volatile, temporary, non-temporary, or a combination of these types, and some or all of memory devices 306 may be portable, such as disks, tapes, sticks, boxes, to name a few examples. Additionally, in addition to or in lieu of storing programming instructions, memory devices 306 may store data manipulated by processing device 302, such as data representing signals received from or sent to input / output devices 304, to name a few examples. Figure 3As shown in , memory device 306 can be included with or coupled to processing device 302, but need not be included with both.
[0054] Figures 4 to 5 A user interface 400 is shown that includes a virtual environment 410 that is updated in real time as a user interacts with a design file for a capital project shown. The virtual environment 410 includes a plurality of avatar representations, such as those identified in the figure by reference numerals 401 and 403. As described above, the avatar representations are positioned in a virtual implementation according to the location of the object on which the user is working. For example, Figure 4 The avatar in the 401 indicates that the location is Figure 5 has been repositioned to reflect that user Josh has begun interacting with design files corresponding to new and / or different objects in the capital project.
[0055] Figure 5 It is shown that the user has selected avatar representation 403, so that the chat session is opened, thereby allowing the user to chat with user Jiti. In this way, the virtual environment enables instant communication with other users. In some embodiments, when the user returns, the messages sent between users can be stored and displayed to offline users. It should be appreciated that the features of virtual environment 410 can exist in other virtual environments described herein. Some embodiments can pass files to other users via a chat window or other communication interface associated with the avatar representation.
[0056] Figure 6 An exemplary process 600 for managing large-scale capital projects according to an illustrative embodiment is shown. Process 600 (as well as process 700 discussed below) can be implemented in whole or in part in one or more project management systems disclosed herein. In some forms, the functions can be performed by separate cloud devices or user devices of the project management system. In some forms, all functions can be performed by the same device. It should also be appreciated that multiple variations and modifications to process 600 and process 700 are contemplated, including, for example, omitting one or more aspects of process 600 or process 700, adding further conditions and operations, or reorganizing or separating operations and conditions into separate processes.
[0057] Process 600 begins at operation 601, in which a project management system generates a virtual environment representing a large-scale capital project. The virtual environment includes a plurality of objects. The characteristics of each object are defined by one or more of a plurality of design files. These design files may also have metadata for additional purposes, such as identifying the type of object or other known uses.
[0058] Then, at operation 603, the project management system provides the user with access to a given design file corresponding to a given object (or objects). This can be performed in response to a request from the user (e.g., selecting a button or selecting a given object) and confirming the access policy of the organization managing the project. The project management system then locates, generates, or otherwise produces a user indicator to associate the user indicator with the given object in the virtual environment. Alternatively, in response to the user accessing the file, or in response to the user modifying or adding the file, the system can associate the user indicator with the appropriate design file.
[0059] The user may modify the given object. Thus, at operation 605, the project management system updates the given object in the virtual environment in response to the modification of the given object. For example, the system may modify the size of the object in response to a user changing a size property specified in the design file.
[0060] The item management system determines the location of a given object in the virtual environment (operation 607). In some embodiments, the location may include the location of a multi-dimensional box (eg, a virtual bounding box) containing the object, or the location of a center point of the object, to name a few examples.
[0061] Process 600 then proceeds to operation 609, in which the project management system assigns an appearance characteristic of the user indicator in the virtual environment. Among other ways, the project management system can determine the characteristic in response to all or a portion of one or more objects being located near a given object. As described above, as just one example, the appearance characteristic can change when two users begin working in proximity to each other. In addition, as described above, the appearance characteristic of the user indicator can be assigned using some other criteria (such as a functional relationship) without regard to any specific location.
[0062] Then, operation 611 positions the visual representation of the user indicator in the virtual environment according to the position of the given object. The visual representation of the user indicator preferably includes an interactive interface for user information, which can be selected to reveal further information about its associated user and / or establish a communication channel with the user.
[0063] The project management system then receives a request to contact the user via the interactive interface at operation 613. For example, using their user device, the user may send a request to access user information by selecting the visual representation of the user indicator.
[0064] Process 600 proceeds to operation 615 where the project management system associates the user indicator with a second object in the plurality of objects after accessing the second file. The second file includes at least one file in the plurality of files and is associated with the second object in the virtual environment.
[0065] After the project management system determines the location of the second object in the virtual environment at operation 617, operation 619 repositions the visual representation of the user indicator in the virtual environment according to the location of the second object. In this manner, the virtual environment reflects a real-time or near real-time representation of which design files the user is accessing / modifying / adding, even if one or more updated design files have not yet been incorporated into the model.
[0066] Figure 7 An exemplary process 700 for managing large-scale capital projects according to another embodiment is shown. As described above with respect to process 600, process 700 may be implemented in whole or in part in one or more project management systems disclosed herein. In some forms, the functions may be performed by separate cloud devices or user devices of the project management system. In some forms, all functions may be performed by the same device. It should also be appreciated that multiple variations and modifications to process 700 are contemplated, including, for example, omitting one or more aspects of process 700, adding further conditions and operations, or reorganizing or separating operations and conditions into separate processes.
[0067] Process 700 begins at operation 701, in which a renderer generates a virtual environment representing a large-scale capital project. After a user accesses a given file, a user associator associates a user indicator with a given object in a plurality of objects. The given file is at least one file in the plurality of files. The given file is associated with a given object in the virtual environment.
[0068] Then, at operation 705, the renderer determines the location of the given object in the virtual environment. Then, at operation 707, the renderer positions a visual representation of the user indicator in the virtual environment according to the location of the given object. The visual representation of the user indicator includes an interactive interface for user information.
[0069] Process 700 ends at operation 709, where the user input receives, via the interactive interface, a request to contact a user corresponding to the user indicator.
[0070] It is contemplated that various aspects, features, processes, and operations from various embodiments may be used in any other embodiment unless explicitly stated to the contrary. Certain operations shown may be implemented by a computer executing a computer program product on a non-transitory computer-readable storage medium, wherein the computer program product includes instructions that cause the computer to perform one or more operations or issue commands to other devices to perform one or more operations.
[0071] Although the present disclosure has been shown and described in detail in the drawings and the foregoing description, this will be considered as exemplary rather than restrictive, and it should be understood that only certain illustrative embodiments are shown and described, and it is desired to protect all changes and modifications that fall within the spirit of the present disclosure. It should be understood that although the words such as "preferable", "preferably", "preferred" or "more preferred" used in the above description indicate that the features described so may be more desirable, this may not be necessary, and the embodiments lacking the features can be conceived as being within the scope of the present disclosure, which is defined by the appended claims. When reading the claims, it is intended that when words such as "one", "an", "at least one" or "at least a portion" are used, unless otherwise explicitly stated in the claims, it is not intended to limit the claims to only one item. The term "of" may indicate an association or connection with another item, as well as belonging to another item informed by the context in which it is used, or an association or connection with another item informed by the context in which it is used. The terms "coupled to", "coupled to...", etc. include indirect connections and connections, and also include but do not require direct connections or connections, unless explicitly indicated to the contrary. When the language "at least a portion" and / or "a portion" is used, the item may include a portion and / or the entire item unless specifically stated to the contrary. When the language "at least a portion" or "a portion" is used, the item may include a portion or the entire item unless specifically stated to the contrary. Unless clearly stated to the contrary, the terms "or" and "and / or" in a list of two or more listed items may refer to an individual listed item or a combination of listed items. Unless clearly stated to the contrary, the transitional term "having" is an open-ended term and has the same meaning as the transitional term "including."
[0072] Various embodiments of the present invention may be implemented, at least in part, in any conventional computer programming language. For example, some embodiments may be implemented in a procedural programming language (e.g., "C") or an object-oriented programming language (e.g., "C++"). Other embodiments of the present invention may be implemented as pre-configured standby hardware elements and / or pre-programmed hardware elements (e.g., application specific integrated circuits, FPGAs, and digital signal processors) or other related components.
[0073] In alternative embodiments, the disclosed apparatus and methods (e.g., see the various flow charts above) may be implemented as a computer program product for use with a computer system. Such an implementation may include a series of computer instructions fixed on a tangible, non-transitory medium, such as a computer-readable medium (e.g., a disk, CD-ROM, ROM, or fixed disk). The series of computer instructions may embody all or part of the functionality previously described herein with respect to the system.
[0074] Those skilled in the art will appreciate that such computer instructions can be written in a variety of programming languages to be used with many computer architectures or operating systems. In addition, such instructions can be stored in any memory device (e.g., semiconductor, magnetic, optical or other memory device) and can be transmitted using any communication technology (e.g., optical, infrared, microwave or other transmission technology).
[0075] Such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink-wrapped software), preloaded with a computer system (e.g., on a system ROM or fixed disk), or distributed from a server or bulletin board over a network (e.g., the Internet or the World Wide Web), among other ways. In fact, some embodiments may be implemented in a software-as-a-service model (“software-as-a-service model, SAAS”) or a cloud computing model. Of course, some embodiments of the present invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Other embodiments of the present invention are implemented as either entirely hardware or entirely software.
[0076] The embodiments of the present invention described above are merely exemplary; many variations and modifications will be apparent to those skilled in the art. Such variations and modifications are intended to be within the scope of the present invention as defined by any appended claims. However, it should be understood that no limitation on the scope of the present disclosure is created herein, and the present disclosure includes and protects such changes, modifications, and further applications of the illustrative embodiments as would occur to a person skilled in the art having the benefit of the present disclosure.
Claims
1. A method for managing a large-scale capital project, the method comprising: generating a virtual environment representing the large-scale capital project, the virtual environment comprising a plurality of objects, each object of the plurality of objects corresponding to at least one file of a plurality of files; associating a user indicator with a given object of the plurality of objects after accessing a given file, the given file being at least one file of the plurality of files, the given file being associated with the given object in the virtual environment; positioning a visual representation of the user indicator in the virtual environment according to the given object, the visual representation of the user indicator comprising an interactive interface; as well as A request is received via the interactive interface to contact a user corresponding to the user indicator.
2. The method according to claim 1, wherein: Associating the user indicator with the given object occurs in response to a modification of the given object by a user corresponding to the user indicator.
3. The method according to claim 2, further comprising: In response to the modification of the given object by the user, the given object in the virtual environment is updated.
4. The method according to claim 1, comprising: determining a position of the given object in the virtual environment, the visual representation of positioning the user indicator in the virtual environment being a function of the position of the given object; associating the user indicator with a second object of the plurality of objects after accessing a second file, the second file being at least one file of the plurality of files, the second file being associated with the second object in the virtual environment; determining a second position of the second object in the virtual environment; as well as The visual representation of the user indicator in the virtual environment is repositioned according to the second position of the second object.
5. The method according to claim 1, comprising: In response to at least a portion of the plurality of objects being located proximate to the given object, an appearance characteristic of the user indicator is assigned in the virtual environment.
6. The method according to claim 1, wherein: The interactive interface includes user information, and wherein a request to contact a user received via the interactive interface includes a request to access the user information.
7. The method according to claim 1, wherein: The user indicator includes at least one of a work classification visual representation and a work status visual representation.
8. A system for managing a large-scale capital project, the system comprising: a renderer configured to generate a virtual environment representing the large-scale capital project, the virtual environment comprising a plurality of objects, each object of the plurality of objects corresponding to at least one file of a plurality of files; a user associator operably coupled to the renderer, the user associator configured to associate a user indicator with a given object of the plurality of objects after accessing a given file, the given file being at least one file of the plurality of files, the given file being associated with the given object in the virtual environment, The renderer is further configured to determine a position of the given object in the virtual environment and to position a visual representation of the user indicator in the virtual environment according to the position of the given object, the visual representation of the user indicator comprising an interactive interface; and A user input is configured to receive, via the interactive interface, a request from a user device to contact a user corresponding to the user indicator.
9. The system according to claim 8, wherein: The user associator is configured to associate the user indicator with the given object in response to a modification of the given object by a user corresponding to the user indicator.
10. The system according to claim 9, wherein: The renderer is configured to update the given object in the virtual environment in response to the modification of the given object by the user.
11. The system of claim 8, wherein: The user associator is further configured to associate the user indicator with a second object of the plurality of objects after accessing a second file, the second file being at least one file of the plurality of files, the second file being associated with the second object in the virtual environment; as well as The renderer is further configured to determine a second position of the second object in the virtual environment and to reposition the visual representation of the user indicator in the virtual environment based on the second position of the second object.
12. The system according to claim 8, wherein: The renderer is configured to determine an appearance characteristic of the user indicator in the virtual environment in response to a portion of the plurality of objects being located proximate to the given object.
13. The system according to claim 8, wherein: The user indicator includes an avatar representation of the user, and the avatar representation includes at least one of a work classification visual representation and a work status visual representation.
14. A computer program product for use on a computer system for managing a large-scale capital project, the computer program product comprising a tangible non-transitory computer usable medium having computer readable program code thereon, the computer readable program code comprising: program code for generating a virtual environment representing a large-scale capital project, the virtual environment comprising a plurality of objects, each object of the plurality of objects corresponding to at least one file of a plurality of files; program code for associating a user indicator with a given object of the plurality of objects after accessing a given file, the given file being at least one file of the plurality of files, the given file being associated with the given object in the virtual environment; program code for positioning a visual representation of the user indicator in the virtual environment in accordance with the given object, the visual representation of the user indicator comprising an interactive interface; and Program code for receiving, via the interactive interface, a request to contact a user corresponding to the user indicator.
15. The computer program product of claim 14, wherein: Associating the user indicator with the given object occurs in response to a modification of the given object by a user corresponding to the user indicator.
16. The computer program product of claim 15, further comprising: Program code for updating the given object in the virtual environment in response to the modification of the given object by the user.
17. The computer program product of claim 14, comprising: program code for determining a position of the given object in the virtual environment, positioning the visual representation of the user indicator in the virtual environment as a function of the position of the given object; program code for associating the user indicator with a second object of the plurality of objects after accessing a second file, the second file being at least one file of the plurality of files, the second file being associated with the second object in the virtual environment; program code for determining a second position of the second object in the virtual environment; as well as Program code for repositioning the visual representation of the user indicator in the virtual environment based on the second position of the second object.
18. The computer program product of claim 14, comprising: Program code for assigning an appearance characteristic of the user indicator in the virtual environment in response to at least a portion of the plurality of objects being located proximate to the given object.
19. The computer program product of claim 14, wherein: The user indicator includes an avatar representation of the user.
20. The computer program product of claim 19, wherein: The avatar representation includes at least one of a work classification visual representation and a work status visual representation.