Method, system and equipment for dynamically updating project progress data by P6 software and medium

By building an API interface between P6 software and BIM software, binding task packages and BIM model components, the problem of project progress data not being updated in real time is solved, dynamic update and synchronization of P6 software project progress is achieved, and real-time and flexibility of project management is improved.

CN120235585APending Publication Date: 2025-07-01CCCC FOURTH HARBOR ENG CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510393143.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

The existing technology is difficult to achieve the dynamic combination of P6 software and BIM model, resulting in the inability to update and synchronize project progress data in real time.

Method used

By building an API interface between P6 software and BIM software, obtain project progress information, and bind task packages and BIM model components through unified coding rules to achieve data synchronization and visual display.

Benefits of technology

Real-time update and synchronization of P6 software project progress data, improving the flexibility of project management and real-time data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure BDA0005337961860000061
    Figure BDA0005337961860000061
  • Figure BDA0005337961860000071
    Figure BDA0005337961860000071
  • Figure HDA0005337961890000011
    Figure HDA0005337961890000011
Patent Text Reader

Abstract

The invention relates to the technical field of engineering management informatization, in particular to a method, a system, equipment and a medium for dynamically updating project progress data by P6 software, and the method comprises the following steps: S1, obtaining an API (Application Program Interface) access authority; user authentication is carried out, and an access token is obtained; s2, calling the API for obtaining the access authority, obtaining a project list, and obtaining progress information of the project by using the API; and S3, extracting key information in the progress information of the project, constructing a data structure required by progress management, and filling the key information into the data structure. And importing the project amount data in the BIM model into the P6 software through an API interface, thereby updating the project progress in the P6 software.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of engineering management informatization, and specifically to a method, system, device and medium for dynamically updating project progress data of P6 software. Background Art

[0002] P6 Professional (Primavera P6 Professional) is a powerful project management software widely used in industries such as engineering, construction, and energy. P6 Professional supports multiple database options, including Oracle and Microsoft SQL Server. This flexibility allows users to choose according to the existing IT infrastructure and business needs, ensuring efficient data storage and access. P6 ensures data integrity through a powerful database management system, has multi-level security mechanisms to prevent data leakage and unauthorized access, and the database architecture design of P6 optimizes the processing capacity of large-scale data, supports complex project data analysis and report generation, and meets the needs of high-demand users.

[0003] P6 Professional provides rich API interfaces to support integration with other software and systems. This enables enterprises to seamlessly embed the functions of P6 into the existing workflow. The P6 REST API is a flexible interface for P6 functions based on the Representational State Transfer (REST) architectural style. Clients can use HTTP-supported technologies to interact with the API and access application functions. Programs can be written in JavaScript, Java, and other languages to create users, view user lists, update user status, or update user details. It is easy to use and integrate, suitable for modern application development. Through the API, users can achieve data synchronization with systems such as enterprise resource planning (ERP) and customer relationship management (CRM), improving overall business efficiency. Users can also customize functions and processes according to specific needs, enhancing the flexibility and adaptability of project management.

[0004] For engineering project management, it is necessary to combine P6 software and BIM software to facilitate the dynamic update of project progress data by P6 software according to the BIM model. Summary of the Invention

[0005] In order to enable the P6 software to dynamically update project progress data based on the BIM model, it is necessary to construct an Application Programming Interface (hereinafter referred to as API) between the P6 software and the BIM software, so as to obtain the progress information of the project through the API. The present invention proposes a method, system, device and medium for dynamically updating project progress data by the P6 software to achieve the update of P6 project progress data.

[0006] To achieve the above object of the invention, the present invention provides the following technical solutions:

[0007] A method for dynamically updating project progress data by the P6 software, comprising the following steps:

[0008] S1, obtain API access rights; and perform user authentication to obtain an access token;

[0009] S2, call the API for obtaining access rights to obtain a project list, and use the API to obtain the progress information of the project;

[0010] S3, extract the key information from the progress information of the project, construct a data structure required for progress management, and fill the key information into the data structure.

[0011] Further, it also includes periodically executing steps S2 to S3 at a preset time interval for real-time update.

[0012] Further, in step S3, the key information is extracted from the progress information of the project by means of a unified coding: establish a task package ID table and a BIM model component ID table, and the task package ID table and the BIM model component ID table are associated through a unified coding rule.

[0013] Further, in the task package ID table and the BIM model component ID table, the relationship between the task package and the BIM model component includes: one task package corresponds to multiple BIM model components; one task package corresponds to one BIM model component or the task package is not bound to a model.

[0014] Further, it also includes visually displaying the key information, which specifically includes the following steps:

[0015] Find the corresponding BIM model component ID through the coding of the task package, and batch transfer the BIM model component ID to the model visualization engine through an instruction, so as to achieve progress visualization.

[0016] Further, the visual display is achieved through a BIM visualization engine.

[0017] Further, the BIM visualization engine includes bimface, bimviz, and Unreal Engine.

[0018] Based on the same concept, a P6 software dynamic update project progress management data system is also proposed, including:

[0019] A permission authentication module, used to obtain API access permissions; and perform user authentication to obtain an access token;

[0020] A data acquisition module, used to call the API for obtaining access permissions to obtain a project list, and use the API to obtain the progress information of the project;

[0021] A data management module, used to extract the key information from the progress information of the project, construct the data structure required for progress management, and fill the key information into the data structure.

[0022] Based on the same concept, a computer device is also proposed. The computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method described in any one of the above is implemented.

[0023] Based on the same concept, a computer-readable storage medium is also proposed. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the above is implemented.

[0024] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0025] The method, system, device, and medium for dynamically updating project progress data of P6 software provided by the present invention develop a new API interface, and import the engineering quantity data in the BIM model into the P6 software through the API interface, thereby updating the project progress in the P6 software. Description of the Drawings

[0026] Figure 1 is a flowchart of the method for dynamically updating project progress data of P6 software in Embodiment 1;

[0027] Figure 2 is a schematic diagram of the progress percentage obtained by calculating the progress of the summary task in Embodiment 1;

[0028] Figure 3 is a schematic diagram of the binding relationship between the BIM model and the engineering progress task package in Embodiment 1;

[0029] Figure 4 is a data flow chart during a visualization process in Embodiment 3;

[0030] Figure 5 It is a schematic structural diagram of the P6 software dynamic update project progress management data system in Embodiment 4. Specific Embodiment

[0031] The present invention will be further described in detail below in conjunction with the embodiments and specific embodiments. However, this should not be construed as limiting the scope of the above-mentioned subject matter of the present invention to the following embodiments. Any technology implemented based on the content of the present invention belongs to the scope of the present invention.

[0032] Embodiment 1

[0033] A method for dynamically updating project progress data of P6 software, the flowchart is as Figure 1 shown, including the following steps:

[0034] S1. Obtain API access rights; and perform user authentication to obtain an access token;

[0035] S2. Call the API for obtaining access rights to obtain a project list, and use the API to obtain the progress information of the project;

[0036] S3. Extract the key information from the progress information of the project, construct the data structure required for progress management, and fill the key information into the data structure.

[0037] Furthermore, in order to be able to implement and obtain the updated project progress data, steps S2 to S3 are also periodically executed at preset time intervals for real-time update. For example, a timer is used to periodically start the API to obtain project data. In this project, the API interface program includes the REST API provided by P6 EPPM, which is used to implement data interaction and function extension with external systems. Through these interfaces, project data can be efficiently obtained and managed, supporting real-time tracking and analysis of project plans.

[0038] Furthermore, user authentication in step S1 is implemented using OAuth2.0. The specific steps are as follows:

[0039] Send a login request to the P6 software system. The request header (HttpHeaders) needs to carry the username and user password. After successful login, there will be a value of Set-Cookie in the response header. Obtain the JSESSIONID from Set-Cookie. The JSESSIONID is equivalent to an access token and store it in the browser's Cookie. Each time a data acquisition request is sent to P6 subsequently, this Cookie needs to be carried in the HTTP request header (HttpHeaders) to complete the authentication. The system will check the validity of the Cookie during each request. If it is found that the Cookie has expired, a new login request needs to be initiated to obtain a new JSESSIONID and update the Cookie to ensure that subsequent requests can proceed normally.

[0040] Preferably, in step S2, after obtaining the project list, obtain the projects that need to be monitored, and then use the API to obtain the progress information of the project, including information such as tasks, milestones, and resource allocation. The specific steps for calling the API to obtain the project list and the projects that need to be monitored are as follows:

[0041] Send an HTTP request to P6 to obtain the project list. The request address is http: / / www.cnqisoft.com:8518 / p6ws / restapi / project?Fields=SummaryBaselineStartDate,SummaryBaselineFinishDate,StartDate,FinishDate,Name,Id, and carry the Cookie access token in the request header (HttpHeaders). After the request is successful, the project list data will be returned.

[0042] Preferably, after using the API to obtain the progress information of the project, in step S3, organize the data obtained from the API. Information such as the start date, end date, and progress percentage of the tasks can be extracted to construct the data structure required for progress management. The data required in the P6 software can be directly read in the BIM software. What is read is the data required to calculate the project progress. The progress of non-summary tasks does not need to be calculated and can be directly obtained. The progress of the summary task is the sum of (duration * completion percentage) of all lower-level subtasks divided by the sum of (durations). The schematic diagram of the progress percentage obtained by calculating the progress of the summary task is as Figure 2 shown.

[0043] Further, in step S2, the API is used to obtain the progress information of the project. A corresponding relationship needs to be established between the project progress and the BIM model components so that the progress information corresponding to the project progress can be retrieved through the association relationship. The progress data is bound to the BIM model through a unified coding system, that is, the task package is bound to the model component. The BIM model is divided into layers and blocks according to its own structural characteristics to form BIM model components that conform to the progress management of this project, and each component is assigned a model ID. Each BIM model component has a corresponding task code, and the BIM model is bound to the project progress task package through the task code. The binding relationship is as Figure 3 shown. N in the figure represents multiple. One task package corresponds to multiple BIM model components; one task package corresponds to one BIM model component, or a task package without physical engineering can be not bound to a model, but all models must have corresponding task packages.

[0044] By binding the BIM model to the project progress task package through the task code, a task package ID table and a BIM model component ID table with an association relationship are generated at the same time. By searching the task package ID table and the BIM model component ID table, the project progress data or the BIM model project data can be obtained, realizing the real-time synchronization of the P6 project progress data and the retrieval of the BIM model data.

[0045] Further, in step S3, the content of the data structure filled with key information includes project number, unique identifier, parent unique identifier, task number, task name, work breakdown structure, summary task ID, task status, planned start time, planned end time, baseline start time, baseline end time, completion percentage, actual start time, actual completion time, earliest start time, latest completion time, critical, milestone, summary, planned completion percentage, cost completion percentage, remaining duration, administrator, team, quantity, and unit. The definition of the data structure is shown in Table 1.

[0046] Table 1 Field list in the data structure

[0047]

[0048]

[0049] Embodiment 2

[0050] Based on Embodiment 1, Embodiment 2 gives a specific method for dynamically updating project progress data in the P6 software. Analysis and verification show that the dynamic update of project progress management data can be achieved by using the P6 EPPM REST API. The following are the specific implementation steps:

[0051] 1. Authentication and authorization

[0052] Send a login request to the P6 system. The request headers (HttpHeaders) should carry the username and user password. After successful login, there will be a Set-Cookie value in the response headers. The Set-Cookie contains JSESSIONID, which is equivalent to an access token, and it is stored in the browser's Cookie. Subsequently, each time a data acquisition request is sent to P6, this Cookie needs to be carried in the HTTP request headers (HttpHeaders) to complete the authentication. The system will check the validity of the Cookie during each request. If it is found that the Cookie has expired, a new login request needs to be initiated to obtain a new JSESSIONID and update the Cookie to ensure that subsequent requests can proceed normally.

[0053] 2. Data Acquisition

[0054] After successfully obtaining a valid JSESSIONID, call the API to obtain the project list. Filter out specific projects that need to be monitored from the list, and then call the API again to obtain the detailed progress information of the project, which includes task arrangements, milestone nodes, and resource allocation situations, etc.

[0055] 3. Data Processing and Structure Conversion

[0056] The data obtained from the API is in a flat structure and needs to be sorted out. The specific operation is to extract key information such as the start date, end date, and WBSID of the tasks from it, and convert these flat data into a tree structure to build a data model suitable for progress management. The tree structure can more clearly display the hierarchical and dependency relationships between project tasks, facilitating progress tracking and management.

[0057] 3. Cross-Software Data Interaction

[0058] In terms of data interaction, some of the data required by the P6 software can be directly read from the BIM software. However, data such as the task completion percentage cannot be directly obtained and needs to be calculated through specific algorithms and calculation logics after obtaining the relevant basic data. These calculated data are crucial for accurately presenting the project progress.

[0059] 4. Real-Time Progress Update

[0060] The system sets up a scheduled task to regularly call the API to obtain the latest project progress data. After obtaining the new data, the visualization chart is updated in a timely manner based on these data, so as to intuitively present the latest progress of the project and provide strong support for project management decisions.

[0061] Example 3

[0062] The difference between Example 3 and Example 1 is that the method for dynamically updating project progress data by P6 software further includes visually displaying the key information, finding the corresponding model ID through the encoding of the task package, and batch transmitting the model component ID to the model visualization engine through an instruction, so as to achieve progress visualization.

[0063] First, build a task package ID table and a model component ID table, and achieve automatic association through a unified coding system to ensure that each entity component has a corresponding task package.

[0064] Secondly, find the corresponding model ID through the task package, and batch transmit the model component ID to the model visualization engine through an instruction, so as to achieve progress visualization.

[0065] The data transmitted in the model visualization engine can adopt the JSON format.

[0066] In addition, due to the need for visualization, the BIM software used needs to have a BIM visualization engine that can receive instructions.

[0067] Currently, there are many BIM visualization engines on the market, including bimface, bimviz, Unreal Engine (UE), etc. They basically have the online visualization function of BIM models. Based on the requirements of business data display, the following BIM engines were investigated and analyzed: BIMface is a cloud-based BIM visualization platform that supports multiple file formats (such as IFC, Revit, etc.), and can quickly upload the model and view it online. It provides various tools, such as model cutting, measurement, hierarchical management, etc. BIMViz is a visualization tool focusing on the construction and engineering industries and is usually compatible with other BIM software. It supports real-time rendering and interaction functions, can generate high-quality 3D models, and provides an intuitive user interface. Unreal Engine (UE), although mainly a game engine, is also widely used in architectural visualization because it has powerful graphics rendering capabilities. It supports virtual reality (VR) and augmented reality (AR), and can create immersive experiences, which is suitable for high-quality building displays and customer demonstrations.

[0068] Among them, BIMface and BIMViz support users to interact through the mouse and keyboard, while Unreal Engine supports multiple input methods, including mouse, keyboard, touch, and gamepad, etc., and can receive various operation instructions from users. Both BIMViz and BIMface adopt lightweight technology, which can convert large BIM models into lightweight visualization formats, thereby improving the loading speed and browsing performance. Unreal Engine provides a variety of optimization tools and technologies, such as LOD (Level of Detail) and dynamic lighting adjustment, which can effectively reduce resource consumption, thereby improving performance and adapting to different hardware configurations. BIMViz and BIMface provide high-quality 3D rendering, which can present the real materials and details of the model. In addition, it also supports dynamic level-of-detail display, and users can view different levels of detail information according to their needs. Unreal Engine performs excellently in rendering quality, supports real light and shadow effects, high dynamic range (HDR), and physically based rendering (PBR), and can achieve very detailed and realistic model display. It also supports dynamic level-of-detail and allows adjusting the display details of the model according to the viewing distance and user needs.

[0069] In the research and comparison of the above-mentioned multiple BIM engines, it is analyzed that the BIM engine meeting the implementation of this project needs to meet the following requirements:

[0070] Have basic interconnection and communication functions, be able to receive instructions sent by the business data system and execute corresponding actions;

[0071] Support lightweight, can convert large BIM models into lightweight visualization formats, thereby improving the loading speed and browsing performance;

[0072] Have excellent rendering capabilities, support real light and shadow effects, high dynamic range (HDR), and physically based rendering (PBR), and can achieve very detailed and realistic model display.

[0073] Preferably, in addition to progress visualization, other information can also be displayed: relevant information such as task labor, materials, machinery, and engineering quantities will be assigned in the project progress task package. Through the association of data tables, other additional information in the task package can be added to the BIM model. Clicking on the BIM model can view the engineering quantity information. Based on the unified coding rules, two-way communication between the progress plan and the model is realized, solving the problems of multiple data entries and inability to update in real time, and achieving one-end maintenance and multi-end synchronization. A data flow chart during visualization is as Figure 4 shown.

[0074] Example 4

[0075] The P6 software dynamically updates the project progress management data system 50, and the structural schematic diagram of the system is asFigure 5 As shown in the figure, it includes:

[0076] An authentication module 51, which is used to obtain API access permissions and perform user authentication to obtain access tokens;

[0077] A data acquisition module 52, which is used to call the API for obtaining access permissions to obtain a project list and use the API to obtain the progress information of the project;

[0078] A data management module 53, which is used to extract key information from the progress information of the project, construct a data structure required for progress management, and fill the key information into the data structure.

[0079] A computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method for dynamically updating project progress data of the P6 software in any one of Embodiment 1.

[0080] It should be understood that when each module of the P6 software dynamic update project progress management data system provided in the above embodiments performs data synchronization and update, only the division of each functional module in the above description content is used as an example. In practical applications, the above functions can be assigned to different functional modules according to needs, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0081] Each functional module in the above embodiments can be integrated into a processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the embodiments of the present application.

[0082] Based on the same inventive concept, an embodiment of the present application also provides a computer device, which may include a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method for dynamically updating project progress data of the P6 software as described in the above description content.

[0083] Based on the same inventive concept, an embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the method for dynamically updating project progress data of the P6 software as described in the above description content.

[0084] In summary, the solutions or descriptions presented in the specific embodiments and accompanying drawings of the present invention are not intended to limit the scope of the claims, but merely represent selected embodiments / cases to assist those skilled in the art in understanding the relevant innovative solutions. Based on these embodiments, all other equivalent or parallel embodiments obtained by those skilled in the art without creative efforts fall within the scope of protection required by the present invention.

Claims

1. The method of dynamically updating project progress data using P6 software is characterized by: The following steps are involved: S1, obtain API access rights; perform user authentication and obtain access token; S2, call the API for obtaining access rights, obtain the project list, and use the API to obtain the progress information of the project; S3, extract the key information from the progress information of the project, build the data structure required for progress management, and fill the key information into the data structure.

2. The method for dynamically updating project progress data using P6 software as claimed in claim 1, characterized in that: The method also includes regularly executing steps S2 to S3 at preset time intervals and updating in real time.

3. The method for dynamically updating project progress data using P6 software as claimed in claim 1, characterized in that: In step S3, the key information in the progress information of the project is extracted through unified coding: a task package ID table and a BIM model component ID table are established, and the task package ID table and the BIM model component ID table are associated through unified coding rules.

4. The method for dynamically updating project progress data using P6 software as claimed in claim 3, characterized in that: In the task package ID table and the BIM model component ID table, the relationship between the task package and the BIM model component includes: one task package corresponds to multiple BIM model components; one task package corresponds to one BIM model component or the task package is not bound to the model.

5. The method for dynamically updating project progress data using P6 software as claimed in claim 3, characterized in that: The key information is also displayed visually, which specifically includes the following steps: The corresponding BIM model component ID is found through the coding of the task package, and the BIM model component ID is transmitted in batches to the model visualization engine through instructions, thereby realizing progress visualization.

6. The method for dynamically updating project progress data using P6 software as claimed in claim 5, characterized in that: Visual display is achieved through the BIM visualization engine.

7. The method for dynamically updating project progress data using P6 software as claimed in claim 1, characterized in that: The BIM visualization engines include bimface, bimviz, and Unreal Engine.

8. P6 software dynamically updates the project progress management data system, which is characterized by: include: Permission authentication module, used to obtain API access permissions; And perform user authentication and obtain access token; The data acquisition module is used to call the API for obtaining access rights, obtain the project list, and use the API to obtain the progress information of the project; The data management module is used to extract the key information from the progress information of the project, build the data structure required for progress management, and fill the key information into the data structure.

9. A computer device, characterized in that: The computer device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • BIM based multidimensional data and P6 database interaction method and system

    CN105426572A

  • BIM (Building Information Modeling) visual display platform and use method thereof

    CN114786385A

  • Engineering EPC general contract project progress and cost management and control system based on WBS decomposition

    CN115660329A

  • System for mapping model, cost, and schedule of large-scale capital project

    US20210342761A1