A bim-based engineering construction progress simulation visualization method and system
Patent Information
- Application Number
- CN202611313553.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-27
- Publication Date
- 2026-09-25
AI Technical Summary
[0006]本申请的主要目的在于提供一种基于BIM的工程施工进度模拟可视化方法及系统,旨在解决BIM构件粒度与实际施工粒度不匹配、模型版本变化影响历史施工回放以及大量模型构件逐项更新显示状态导致处理量较大的技术问题
本申请为施工任务建立稳定任务逻辑构件分组,使进度任务与可发生变化的具体模型构件集合相分离;对于施工粒度小于BIM构件粒度的构件,通过运行时施工进度代理及可移动施工推进边界表达构件内部的连续施工状态,在保持原构件标识的同时提高施工进度表达精度;在模型版本变化时保存具有有效时间范围的分组成员版本,使历史模拟时刻能够调用相应时期的构件关系;同时,通过运行时渲染批次合并当前需要执行相同显示动作的对象,减少大规模模型施工进度播放过程中的重复显示操作。
Smart Images

Figure CN122818508A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of building construction progress visualization technology, and in particular to a BIM-based method and system for simulating and visualizing engineering construction progress. Background Technology
[0002] With the application of Building Information Modeling (BIM) technology in engineering project construction management, linking BIM models with construction schedules and controlling the display status of model components according to the time changes of construction tasks has become an important application method for engineering construction organization, progress display, and construction process analysis. Existing technologies typically acquire BIM models and engineering schedules, select model components based on task names, construction areas, or component attributes, and then bind the model components to the corresponding construction tasks. Construction progress simulations are then generated through hiding, showing, color, or transparency changes.
[0003] However, the granularity of actual construction tasks is often smaller than the modeling granularity of the BIM model. For example, a complete wall component may need to be poured segment by segment according to the construction direction, a complete floor slab may be constructed step by step according to the flow area, and a continuous pipeline may be installed step by step along the route. If the status changes are directly displayed using complete components, it is difficult to express the completed and uncompleted spatial areas within a component; if the original BIM components are permanently split in advance, it will increase the number of model components and may change the original component identification and the established engineering information relationships.
[0004] Furthermore, during project implementation, BIM models may undergo design changes, with original model components potentially being added, deleted, split, or merged. If updating the model directly overwrites the component set corresponding to the original construction task, historical construction progress playback may easily invoke the changed component relationships, making it difficult to accurately represent the historical construction state before the design change occurred. Additionally, when playing construction animations continuously on a large-scale model, performing item-by-item display updates on a large number of components increases the graphics processing burden.
[0005] Therefore, it is necessary to further improve the adaptability of BIM construction progress simulation to scenarios such as continuous construction inside components, model version changes, and large-scale graphical state updates. Summary of the Invention
[0006] The main purpose of this application is to provide a BIM-based method and system for simulating and visualizing engineering construction progress, aiming to solve the technical problems of mismatch between BIM component granularity and actual construction granularity, the impact of model version changes on historical construction playback, and the large amount of processing required for updating the display status of a large number of model components one by one.
[0007] To achieve the above objectives, this invention provides a BIM-based method for simulating and visualizing engineering construction progress, the method comprising the following steps: Acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; Based on the progress task data, target model components are retrieved from the model component data, and stable task logic component groups are established that are bound to the progress tasks in the progress task data. For target model components that require local construction progress expression, a runtime construction progress agent that references the original component identifier is established, and construction progress boundaries are set according to the construction progress direction; When the BIM model undergoes a version change, group member versions with valid time ranges are generated for the affected stable task logic components. Select the valid group member version based on the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task to generate the engineering construction progress simulation visualization result.
[0008] To achieve the above objectives, the present invention also provides a BIM-based engineering construction progress simulation and visualization system, comprising: The data parsing module is used to acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; The logical grouping module is used to retrieve target model components from the model component data based on the progress task data, and establish a stable task logical component grouping that is bound to the progress tasks in the progress task data. The construction progress proxy module is used to establish a runtime construction progress proxy that references the original component identifier for target model components that require local construction progress expression, and to set the construction progress boundary according to the construction progress direction. The version management module is used to generate group member versions with valid time ranges for the affected stable task logic components when the BIM model undergoes version changes. The simulation display module is used to select the valid group member version according to the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task, so as to generate the engineering construction progress simulation visualization result.
[0009] One or more technical solutions proposed in this application have at least the following technical effects: This application establishes stable task logic component grouping for construction tasks, separating the schedule task from the set of specific model components that can change. For components with a construction granularity smaller than the BIM component granularity, the continuous construction state inside the component is expressed through runtime construction schedule proxy and movable construction advancement boundary, improving the accuracy of construction schedule expression while maintaining the original component identification. When the model version changes, the version of the group members with a valid time range is saved, so that the component relationships of the corresponding period can be called at historical simulation moments. At the same time, the objects that need to perform the same display action are merged by runtime rendering batch, reducing the repetitive display operations during the playback of large-scale model construction schedules. Attached Figure Description
[0010] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the accompanying drawings used in the description of the embodiments are briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.
[0012] Figure 1 This is a schematic diagram of the overall process of the BIM-based engineering construction progress simulation and visualization method embodiment of this application.
[0013] Figure 2 This is a schematic diagram illustrating the principle of construction progress proxy and construction advancement boundary during the operation of this application.
[0014] Figure 3 This diagram illustrates the processing relationship between the task status, runtime rendering batches, and model display in this application.
[0015] Figure 4 This is a schematic diagram of the visual interface before the start of the construction task in a specific example of this application.
[0016] Figure 5 This is a schematic diagram showing a partial construction progress during the execution of a construction task in a specific example of this application.
[0017] Figure 6 This is a schematic diagram showing the historical playback and current state comparison of the model version after changes in a specific example of this application.
[0018] Figure 7 This is a schematic diagram of the module structure of the BIM-based engineering construction progress simulation and visualization system of this application.
[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0020] It should be understood that the specific embodiments described herein are only for explaining the technical solutions of this application and are not intended to limit this application. To better understand the technical solutions of this application, a detailed description is provided below in conjunction with the accompanying drawings and specific embodiments.
[0021] The main solution of this application embodiment is as follows: acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; retrieve target model components based on schedule task data and establish stable task logical component groups; establish runtime construction schedule agents for target model components that need to express the continuous construction process inside the component; establish group member versions with valid time ranges after the BIM model undergoes version changes; select the corresponding member version according to the simulation time during the schedule simulation process, and drive the model display according to the task status.
[0022] It should be noted that the execution entity in this embodiment can be a computer device, server, or engineering construction progress simulation platform with BIM model parsing, data processing, and 3D graphics display capabilities. The BIM model can be an IFC format model, a model file exported from modeling software such as Revit, or an intermediate model file output by a model conversion tool; the engineering progress schedule can originate from Project files, Excel files, or data files that provide task identifiers and task times. In practical applications, model parsing and progress data processing can be performed on the server side, while 3D display can be performed on a browser or client side, or the above processing can be completed on the same computing device.
[0023] Based on this, the embodiments of this application provide a BIM-based method for simulating and visualizing engineering construction progress, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the BIM-based engineering construction progress simulation and visualization method of this application.
[0024] In this embodiment, the BIM-based engineering construction progress simulation and visualization method includes steps S100 to S500.
[0025] Step S100: Obtain and parse the BIM model and project schedule of the project to obtain model component data and schedule task data.
[0026] In this embodiment of the invention, step S100 specifically includes: acquiring the BIM model and project schedule of the engineering project; performing lightweight parsing on the BIM model to obtain the original component identifier, component attributes, and lightweight geometric data; associating the component attributes and lightweight geometric data according to the original component identifier to generate model component data; parsing the project schedule to obtain task identifier, task time, and construction scope information; and organizing the task time and construction scope information according to the task identifier to generate schedule task data.
[0027] After receiving the BIM model, the system reads each model component. The original component identifier indicates the component's engineering identity within the original BIM model; this can be a GUID, component ID, or other identifier already present in the model file that uniquely locates the component within the model. During model lightweighting, the original high-precision geometric data is converted into lightweight geometric data suitable for online display, while preserving the correspondence between the original component identifier and the lightweight geometric data. Therefore, when performing subsequent clipping, transparency adjustments, or batch display processing on construction animations, the original engineering components can still be located based on the graphic objects.
[0028] Specifically, model component data can be stored using the original component identifier as the primary index. For each component, the system reads its model attributes and filters those relevant to the construction task. Component attributes can be configured according to the information actually provided by the engineering model, such as floor, discipline, component category, spatial area, material grade, or custom construction attributes. To maintain a concise data structure, the system can organize the above information into a unified set of component attributes, and then read the corresponding fields when a specific task needs to be retrieved.
[0029] Furthermore, lightweight geometric data can at least provide the mesh or geometric fragments required for the 3D display of the component and obtain the spatial extent of the target model component. This spatial extent can be represented by a bounding box, the component's centerline, or the spatial boundary saved during model transformation. For components requiring subsequent determination of the construction direction, the system saves its primary spatial extension information. For example, if a wall has dimensions of 12.0m, 3.6m, and 0.2m in three directions in the local coordinate system, the system can identify the 12.0m direction as the obvious primary extension direction. In one executable implementation, when the ratio of the largest spatial dimension to the second largest spatial dimension is greater than a preset direction threshold, the direction corresponding to the largest spatial dimension is determined as a candidate primary extension direction. The preset direction threshold can be set to, for example, 1.5, 2.0, or other values configured according to the component type.
[0030] When parsing the project schedule, the system reads each construction task one by one and saves a task identifier for each task. The task identifier is used to continuously locate the same project task within the system. The task time represents the time interval of the construction task, including at least the task start and end times; if the project management system provides actual progress, the actual start and end times can also be saved. Construction scope information is used to form component retrieval conditions later; it can be directly derived from the task fields in the plan file or generated based on the task name and project preset field mapping rules.
[0031] For example, a task in the project schedule might be named "Construction of Shear Wall Concrete in Area A, 1st Floor of Building #1," with a planned start date of March 1, 2026, and a planned end date of March 5, 2026. The system can organize "Building #1," "1st Floor," "Area A," and "Shear Wall" into the construction scope information for this task and associate it with the task identifier T001. Subsequent steps do not need to repeatedly extract the above scope information from the natural language task name; component retrieval can be performed directly using the already formed schedule task data.
[0032] Understandably, task time and construction scope information are associated with task identifiers, and geometric data and component attributes of model components are associated with original component identifiers, thus forming two types of structured data. Model component data is responsible for representing engineering space objects, and schedule task data is responsible for representing construction time objects. Subsequent steps will link the two through stable task logical component grouping.
[0033] Step S200: Based on the progress task data, retrieve the target model component from the model component data, and establish a stable task logic component group bound to the progress task in the progress task data.
[0034] In this embodiment of the invention, step S200 specifically includes: reading the construction scope information corresponding to the current progress task, generating component retrieval conditions, matching the component retrieval conditions with the component attributes in the model component data to obtain candidate model components; responding to the confirmation operation of the candidate model components, determining the confirmed candidate model components as target model components; establishing a stable task logical component group based on the target model components, and binding the stable group identifier with the task identifier of the current progress task.
[0035] Specifically, when a user selects a task from the schedule list, the system reads the construction scope information for that task. This scope information is then converted into a set of component search criteria. Each criterion includes at least an attribute type and its corresponding value. For example, "Floor = 1st Floor," "Area = Zone A," and "Category = Shear Wall" can be used as three search criteria. The system iterates through the model component data, and only components that simultaneously meet the necessary search criteria for the current task are included in the candidate model component set.
[0036] In one feasible implementation, some search criteria can be set as mandatory, while others can be set as auxiliary. When the task data clearly specifies the floor and component category, the corresponding component can be required to meet both conditions simultaneously. When the construction area is manually entered and has different naming conventions, a smaller candidate range can be obtained first based on the floor and component category, and then the user can confirm the specific area in the 3D scene. The above condition configuration method can be adjusted according to the completeness of the project model attributes.
[0037] It should be noted that the candidate model components are preliminary results automatically retrieved by the system. To handle situations such as errors in model attribute input, discrepancies between task names and model attribute terminology, or temporary adjustments made on-site, this embodiment retains a confirmation operation. The confirmation operation may include accepting candidate components, removing a component from the candidate set, and selecting other components from the 3D model. After the system completes the confirmation, the final retained candidate model components will be determined as the target model components.
[0038] For the confirmed target model components, the system creates a stable task logical component group. This group does not use the current component set itself as a permanent task identifier, but instead generates a separate stable group identifier, such as G001. The system binds G001 to the schedule task T001 and stores the group member versions of the current target model components under G001. Therefore, even if subsequent design changes cause changes to specific components, task T001 can still locate the set of construction objects through G001.
[0039] The stable task logical component grouping includes a stable group identifier, component retrieval conditions, and the current group member version. The stable group identifier remains unchanged when group members change. The progress task establishes a binding relationship with the stable task logical component grouping through the stable group identifier. Specifically, the component retrieval conditions are not only used for the initial formation of component groups but are also retained in subsequent model version updates. When a new component is added to the new model, the system can re-execute the original component retrieval conditions to determine whether the new component should be added to the stable task logical component group.
[0040] For example, task T001 corresponds to stable group G001. In model version V1, G001 includes components C01, C02, and C03. In subsequent model version V2, when C02 is remodeled as C021 and C022, the system does not change G001 or the binding relationship between T001 and G001; it only needs to create new member versions under G001. This data organization method reduces the direct dependency between construction tasks and specific model versions.
[0041] Furthermore, when a project has a large number of construction tasks, the above retrieval process can be executed in batches. The system sequentially reads the construction scope information of each task and generates corresponding component retrieval conditions, forming a candidate component set. When the same model component is selected by multiple tasks with mutually exclusive construction scopes at the same time, the component can be marked as pending confirmation; after user confirmation, the corresponding stable task logical component grouping is established.
[0042] Step S300: For the target model component that needs to express local construction progress, establish a runtime construction progress agent that references the original component identifier, and set the construction progress boundary according to the construction progress direction.
[0043] In this embodiment of the invention, step S300 specifically includes: filtering target model components that need to continuously express the construction process along the spatial direction based on the construction process information of the corresponding progress task and the spatial extension characteristics of the target model components; reading the construction direction recorded in the corresponding progress task, or generating candidate construction directions based on the spatial extension direction of the target model components, and determining the construction advancement direction in response to the direction confirmation operation; establishing a runtime construction progress proxy using local graphic clipping or a temporary proxy mesh, and associating the runtime construction progress proxy with the original component identifier; setting a construction boundary set along the construction advancement direction; wherein, the construction boundary set includes a construction start boundary, a construction end boundary, and the movable construction advancement boundary.
[0044] In typical 4D progress simulations, a BIM component is often displayed as a whole. This embodiment further determines whether a component needs to represent its internal construction process. For target model components that can represent construction results as complete components, such as the overall hoisting of equipment or the overall installation of doors and windows, component-level status display can be used directly. For target model components with obvious spatial construction progress processes, such as walls, floors, continuous beams, long-distance pipelines, or roads, a runtime construction progress agent can be established.
[0045] Specifically, the system first reads the construction process information corresponding to the schedule task. If the construction task already records a construction direction such as "construction from east to west", "construction from low elevation to high elevation", or "installation along the starting point to the end point of the line", the system converts the construction direction to the three-dimensional coordinate system of the target model component. If the schedule task does not record a construction direction, the system reads the spatial extension characteristics of the target model component and generates candidate construction directions.
[0046] Furthermore, when the target model component is a linear component, candidate construction directions can be obtained based on its centerline start and end points; when the target model component does not have a clearly defined centerline, the main extension direction can be determined based on its geometric enclosing range. For example, a wall has a length of 15.0m, a height of 3.6m, and a thickness of 0.2m. When the preset direction threshold is 2.0, the length-to-height ratio is greater than 2.0, therefore the length direction can be used as a candidate construction direction. The system displays direction arrows in the 3D interface, allowing the user to confirm whether the arrow direction matches the actual construction sequence. The user can confirm, reverse, or reselect the construction direction.
[0047] After determining the construction direction, the system establishes a runtime construction progress proxy. In one implementation, the runtime construction progress proxy calls the graphics engine's local clipping function to create one or more clipping planes for the target model components that are only effective during the display phase. The clipping planes change the current display area of the model but do not modify the original BIM model file. In another implementation, for components with complex geometry and topology where a single clipping plane is not suitable for representing the construction area, a temporary proxy mesh can be generated during runtime based on lightweight geometric data, and the original component identifiers referenced by the temporary proxy mesh can be stored in the temporary proxy mesh.
[0048] It should be noted that the runtime construction progress proxy is a temporary object during the graphical display phase. When the user clicks on the proxy display area, the system returns the original attribute information of the target model component through the original component identifier, and can further return the group of stable task logic components to which it belongs and the corresponding progress task. Therefore, even if temporary pruning or proxy meshes are used, the engineering data query still uses the original component identifier as the basis for component identity.
[0049] Along the construction progress direction, the system further establishes a set of construction boundaries. The construction start boundary indicates the position where construction of the target model component begins, the construction end boundary indicates the position reached when the task is completed, and the movable construction progress boundary is used to represent the actual construction position at the current simulation moment. The construction start boundary and construction end boundary can be automatically generated based on the geometric extent of the target model component, or they can be re-specified by the user in the 3D model.
[0050] like Figure 2As shown, the runtime construction progress agent divides the target model components into state regions based on the construction progress boundary. These state regions include constructed regions, regions under construction, and unconstructed regions, each corresponding to a preset display state. For example, regions already traversed by the construction progress boundary are designated as constructed regions and can be displayed as normal entities; regions within a preset spatial width near the construction progress boundary are designated as regions under construction and can be displayed using the construction color or semi-transparent settings; regions not yet reached by the construction progress boundary are designated as unconstructed regions and can be displayed hidden or with higher transparency.
[0051] The width of the construction zone can be preset according to the component type. For example, for a wall with a length of 20m, the width of the construction zone can be set to 0.5m; for pipelines, it can be set to 1m or other preset values based on the average installation length of the pipe segment. The specific values mentioned above are only implementation examples and can be configured according to the project's construction method. The purpose of setting a construction zone is to avoid the visual difficulty in identifying the location currently under construction due to a single boundary.
[0052] The runtime construction progress agent further moves the construction advancement boundary according to preset progress position control points. Each progress position control point is associated with a task time and a component spatial position. For example, for a wall construction task planned to last for 5 days, the first control point can be set to 08:00 on the first day, corresponding to the 0m position of the eastern end of the wall; the second control point can be set to 18:00 on the third day, corresponding to the 8m position of the wall; and the third control point can be set to 18:00 on the fifth day, corresponding to the 15m position of the wall.
[0053] When the simulated time lies between two adjacent progress control points, the system sets the construction advancement boundary between the corresponding spatial positions of the two components according to the time position of the simulated time between the two task times. If the simulated time is exactly equal to the task time of a certain progress control point, the construction advancement boundary moves directly to the spatial position of the component corresponding to that control point. This method can represent tasks with uneven construction speeds without assuming that the same construction speed is maintained throughout the entire construction period.
[0054] Without configuring multiple progress control points, the system can automatically generate at least one start control point and one end control point, aligning the task start time with the construction start boundary and the task end time with the construction end boundary, and continuously moving the construction progress boundary between the two. This method is suitable for scenarios where the construction process is approximately uniform and no further intermediate construction nodes are required.
[0055] Step S400: When the BIM model undergoes a version change, generate group member versions with valid time ranges for the affected stable task logic components.
[0056] In this embodiment of the invention, step S400 specifically includes: when the BIM model undergoes a version change, comparing the components in the BIM model before and after the version change, and forming a changed component set by adding, deleting, or changing the original component identifiers of the components; matching the changed component set with the current group members and component retrieval conditions of each stable task logical component group, and determining the stable task logical component group containing changed components or capable of retrieving newly added components as the affected stable task logical component group; for the affected stable task logical component group, re-executing the corresponding component retrieval conditions in the BIM model after the version change, and updating the group members in conjunction with the changed component set to obtain a new member set; saving the new member set as a new group member version under the corresponding stable group identifier, setting the effective time range of the old and new group member versions, and retaining the old group member version.
[0057] When the system receives a new BIM model version, it assigns a model version identifier to the new model and compares it with the current model at the component level. First, it searches for components whose original component identifiers exist in both versions. If a component has the same original component identifier and the main component attributes and spatial data required for construction association remain unchanged, it is considered an unchanged component. If the original component identifier only exists in the new model, it is considered a newly added component. If the original component identifier only exists in the old model, it is considered a missing component. For components with the same identifier but whose geometric extent or task-related component attributes have changed, they are considered modified components.
[0058] The system organizes newly added, missing, and modified components into a set of changed components. It then reads the current members of each stable task logical component group and checks if the changed component set contains these current members. For newly added components, a search is performed based on the component search criteria already saved for each stable task logical component group. When a newly added component meets the component search criteria of a stable group, even if the newly added component did not originally belong to any group, that stable task logical component group is identified as an affected group.
[0059] For example, the search criteria for stable group G001 require "Building #1, Floor 1, Area A, Shear Wall". If the new model adds component C08, and C08 meets the above criteria, then G001 is identified as an affected group. Stable group G002 corresponds to the mechanical and electrical piping on Floor 2. Since the new model does not have any relevant changes in the mechanical and electrical scope of Floor 2, G002 continues to use the current member version and does not require a new member update.
[0060] For affected stable task logic component groups, the system re-executes the original component retrieval conditions for that group on the new model to obtain candidate members in the new model, and combines this with the changed component set to obtain the new member set. Users can confirm the changed members, with newly added members, removed members, and members with replacement relationships highlighted during confirmation. Unchanged members do not need to be reconfirmed item by item.
[0061] For cases where one old model component corresponds to multiple new model components, the existence of component splitting relationships can be further determined. Specifically, the system reads the spatial range and component category of the old model component, and also reads the spatial range and component category of adjacent new model components. If multiple new model components are generally located within the original spatial range of the old model component, and the degree of spatial correspondence reaches a preset mapping threshold, and the component categories are the same, then the splitting relationship from the old component to multiple new components is recorded.
[0062] The degree of spatial correspondence can be calculated based on the geometric enclosed area of the components or the actual mesh coverage area. In one executable implementation, the preset mapping threshold can be set to 80%. For example, if 92% of the original spatial range of the old wall C01 can be covered by the combined spatial range of the new walls C011, C012, and C013, and all four components belong to the shear wall category, then the system can mark it as C01 being split into C011, C012, and C013. This threshold can also be set to 70%, 85%, or other preset values according to the model accuracy requirements.
[0063] For cases where multiple old model components correspond to one new model component, the same processing method can be used to determine the component merging relationship. When the spatial correspondence between the combined spatial range of multiple old components and the spatial range of a new component reaches a preset mapping threshold, and the component category meets the project setting conditions, the merging relationship from multiple old components to the new component is recorded. The splitting and merging relationships are used to help users understand model changes and are used by the construction progress agent to re-reference the new version of the model components during subsequent runtime.
[0064] After the new member set is confirmed, the system creates a new group member version under the original stable group identifier. For example, the original member version MV1 of G001 corresponds to model version V1. After the new model V2 takes effect, member version MV2 is created. MV1 is not deleted, and MV2 uses the same stable group identifier as G001. The system records the effective time range of each member version.
[0065] In one implementation, the effective date of a member version can be directly taken as the official effective date of the design change. For example, if design change V2 is used for on-site construction from 08:00 on March 4, 2026, then the effective period of MV1 ends before that time, and MV2 becomes effective from 08:00 on March 4, 2026. If the model file upload time is earlier than the actual effective date, it is preferable to use the actual effective date confirmed by the project management personnel to ensure that the member version corresponds to the model actually used on site.
[0066] Since new member versions are generated only for the affected stable task logical components, local design changes in the model will not trigger a rematch of all construction tasks. For large-scale engineering projects, if only 500 out of 100,000 components change, the system first locates the affected groups based on the set of changed components, and then re-executes the search for these groups, which can significantly reduce the amount of repetitive processing during the model update phase.
[0067] Step S500: Select a valid group member version based on the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task, thereby generating a visualization result of the engineering construction progress simulation.
[0068] In this embodiment of the invention, step S500 specifically includes: reading the simulation time, determining the group member versions whose simulation time falls within their valid time range as valid group member versions; comparing the simulation time with the task time of the progress task bound to the valid group member version to determine the task status of the progress task; wherein, the task status includes: not started, under construction, or completed; for target model components with runtime construction progress agents, updating the construction advancement boundary according to the task status and progress position control point, and updating the overall display status of other target model components according to the task status; grouping target model components or runtime construction progress agents that need to perform the same display action into a runtime rendering batch, and performing display updates according to the runtime rendering batch to obtain the engineering construction progress simulation visualization result.
[0069] Specifically, the construction simulation system establishes a project timeline. When a user starts playback, drags the timeline, or directly enters a target date, the system obtains the current simulation time. The system then reads all member versions of the stable task logic components that need to be displayed, and checks whether the simulation time falls within the valid time range of the corresponding member version. If the simulation time is after the effective time of a member version but before its expiration time, that member version is determined to be a valid group member version.
[0070] For the latest member version, its expiration time can be left blank to indicate that it remains valid from its effective date. For historical member versions that have expired, the system saves the exact effective and expiration times, allowing direct location of the corresponding member version when jumping to a historical period on the timeline. If the simulation time entered by the user is earlier than the current model version, there is no need to temporarily restore or replace the entire BIM model file; only the member relationships corresponding to that simulation time and the available historical lightweight component data need to be retrieved.
[0071] After obtaining the valid group member version, the system reads the progress task bound to the stable task logic component group and compares the simulation time with the task start time and task end time. When the simulation time is earlier than the task start time, the task is determined to be in an unstarted state; when the simulation time is between the task start time and the task end time, the task is determined to be in a construction state; when the simulation time is later than the task end time, the task is determined to be in a completed state.
[0072] For components in the "not started" state, the complete target model component can be set to a hidden or preset low-visibility state. For target model components with a runtime construction progress agent, the construction advancement boundary is kept at the construction start boundary, so that the entire component is in an unconstructed display state. For components in the "completed" state, the complete component is restored to normal entity display; the runtime construction progress agent moves the construction advancement boundary to the construction end boundary, so that the target component fully enters the "constructed" state.
[0073] For the "under construction" state, the system checks whether the target model component has a runtime construction progress agent. If a runtime construction progress agent exists, it queries the two progress position control points adjacent to the current simulation time. For example, if the current simulation time is 12:00 on March 2, 2026, and it is located between the 0m control point at 08:00 on March 1, 2026 and the 8m control point at 18:00 on March 3, 2026, the system determines the spatial position corresponding to the construction progress boundary based on the current position within the time interval of the two control points, and updates the constructed area, the area under construction, and the unconstructed area.
[0074] For complete target model components that do not require a runtime construction progress agent, the system updates the overall display status according to a pre-configured task display strategy. For example, it sets the component to semi-transparent or the "under construction" color during the "under construction" state, and restores the normal color and opaque state during the "completed" state. The above display method belongs to the graphic presentation parameters, which can be configured according to the project's visual standards without changing the stable task logic component grouping and component engineering attributes.
[0075] like Figure 3As shown, when a single simulation update involves a large number of model components, the system further establishes runtime rendering batches. Runtime rendering batches are only used during the current graphics execution process. The system reads the display actions that each target model component or runtime construction progress agent currently needs to execute, and temporarily groups objects with the same or compatible display states into the same batch.
[0076] For example, if 2000 completed components in the current simulation need to be restored to normal entity display, the system can organize them into a batch for rendering in the completed state; 800 components that have not yet started need to be kept hidden, which can be formed into a batch for rendering in the unstarted state; and 150 components in the construction state can be further formed into corresponding batches according to the display parameters of the construction state. The graphics engine issues status updates according to the batches to reduce the need for repeated operations of switching materials, adjusting transparency, or switching visibility states for each component.
[0077] It's important to note that runtime rendering batches and stable task logical component groups belong to different data organization layers. Stable task logical component groups are used to maintain the relationship between schedule tasks and engineering components over the long term; their members do not change frequently due to changes in current graphical display parameters. Runtime rendering batches are reorganized according to each simulation moment, and their members can come from multiple different construction tasks. When a component transitions from an unstarted state to a working state in the next moment, the system only transfers it from the current unstarted state rendering batch to the working state rendering batch, without changing the stable task logical component group to which the component belongs.
[0078] For objects with runtime construction progress proxies, since the construction progress boundary positions of different components may be different, their clipping parameters or proxy geometry data can be updated separately. When the constructed areas of these proxy objects use the same material or the construction areas use the same display parameters, they can still share the corresponding graphic resources, thereby reducing the amount of processing required to repeatedly create display resources.
[0079] During continuous playback on the timeline, the system only performs necessary updates for objects whose task status changes, construction progress boundaries shift, or effective member versions switch. For example, if the simulation time advances from 12:00 to 12:05, the status of some completed tasks remains unchanged, and the corresponding components can continue to maintain their current display state; for components in continuous construction, only the construction progress boundary needs to be updated. This further reduces the processing load for each frame or time step of the construction progress animation.
[0080] The following describes the actual execution process of steps S100 to S500 using a complete exemplary engineering scenario. Assume that in the BIM model version V1 of a certain project, there is a continuous shear wall in area A on the first floor with the original component identifier W001. The wall is 15m long and 3.6m high. The project schedule includes task T001 "Construction of concrete for shear wall in area A on the first floor", with a planned time from 08:00 on March 1, 2026 to 18:00 on March 5, 2026, and the construction direction is from east to west.
[0081] After parsing V1, the system establishes model component data using W001; after parsing task T001, it obtains construction scope information. W001 is retrieved through the construction scope information, and a stable task logical component group G001 is established. The initial member version MV1 of G001 includes W001. Since T001 has a clear continuous construction direction, the system establishes a runtime construction progress agent for W001, using the eastern end of the wall as the construction start boundary and the western end as the construction end boundary.
[0082] The project team further set three progress control points: 08:00 on March 1, 2026, corresponding to the 0m position; 18:00 on March 3, 2026, corresponding to the 8m position; and 18:00 on March 5, 2026, corresponding to the 15m position. During the construction simulation up to March 2, 2026, the construction progress boundary was between the first and second control points. Therefore, a portion of the eastern side of the wall was displayed as a constructed area, a smaller area in the middle near the current progress position was displayed as a construction in progress area, and the remaining western part was displayed as an unconstructed area.
[0083] Assume the design firm subsequently releases BIM model version V2, splitting W001 into W011, W012, and W013, and stipulating that V2 will be officially adopted from 08:00 on March 4, 2026. The system compares V1 and V2 to identify missing W001 and newly added W011, W012, and W013. It determines whether the three components meet preset mapping conditions with W001 based on spatial scope and component category, and records the component splitting relationship. Since W001 is a current member of G001, G001 is identified as the affected group.
[0084] The system re-executes the original component search criteria for G001, writing W011, W012, and W013 into the new member version MV2. MV1 saves W001 and is valid until 08:00 on March 4, 2026, while MV2 saves W011, W012, and W013 and is valid from 08:00 on March 4, 2026. Therefore, when users view the construction status on March 2, 2026, they will still use MV1 and W001; when viewing the construction status on March 5, 2026, they will use MV2 and the three new model components.
[0085] When the user selected February 28, 2026 as the simulation date, T001 had not yet started. For example... Figure 4 As shown, the timeline in the interface is located before the construction start time. The wall corresponding to G001 is in an unconstructed state. The system also displays the task name, task time, and the currently used member version MV1.
[0086] When the user moves the timeline to 12:00 on March 2, 2026, T001 enters the construction phase. For example... Figure 5 As shown, the system moves the construction advancement boundary to a position between the east side and the middle of the wall based on the progress position control point. The area east of the construction advancement boundary is displayed as the constructed area, the area near the boundary is displayed as the under-construction area, and the remaining part is displayed as the unconstructed area. At this time, member version MV1 is still used, so the runtime construction progress agent references the original component W001.
[0087] When the user views March 5, 2026, the design change has already taken effect. The system selects MV2 and uses W011, W012, and W013 to represent the corresponding construction status. If the timeline is subsequently dragged back to March 2, 2026, the system will reselect MV1 based on that historical simulation date and re-invoke the runtime construction progress agent of W001. Figure 6 As shown, the same stable task logic component group G001 can select different member versions at different simulation times, avoiding the direct overwriting of historical construction states by component relationships after design changes.
[0088] pass Figures 4-6 As can be seen, the construction timeline in this embodiment not only determines the state of the construction task, but also further determines the current group member version to be read and the spatial location of the construction progress boundary within the component. Therefore, even after design changes occur in the model, the model relationships of different historical stages can still be restored for the same schedule task, and the continuous construction process occurring within a complete BIM component can be expressed.
[0089] This application also provides a BIM-based engineering construction progress simulation and visualization system, please refer to... Figure 7 The BIM-based engineering construction progress simulation and visualization system includes: The data parsing module is used to acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; The logical grouping module is used to retrieve target model components from the model component data based on the progress task data, and establish a stable task logical component grouping that is bound to the progress tasks in the progress task data. The construction progress proxy module is used to establish a runtime construction progress proxy that references the original component identifier for target model components that require local construction progress expression, and to set the construction progress boundary according to the construction progress direction. The version management module is used to generate group member versions with valid time ranges for the affected stable task logic components when the BIM model undergoes version changes. The simulation display module is used to select the valid group member version according to the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task, so as to generate the engineering construction progress simulation visualization result.
[0090] Compared with the prior art, the beneficial effects of the BIM-based engineering construction progress simulation and visualization system provided in this application are the same as the beneficial effects of the BIM-based engineering construction progress simulation and visualization method provided in the above embodiments, and other technical features of the BIM-based engineering construction progress simulation and visualization system are the same as the features disclosed in the above embodiments, and will not be repeated here.
[0091] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0092] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct or indirect applications in other related technical fields, are included in the patent protection scope of this application.
Claims
1. A BIM-based method for simulating and visualizing engineering construction progress, characterized in that, The method includes the following steps: Acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; Based on the progress task data, target model components are retrieved from the model component data, and stable task logic component groups are established that are bound to the progress tasks in the progress task data. For target model components that require local construction progress expression, a runtime construction progress agent that references the original component identifier is established, and construction progress boundaries are set according to the construction progress direction; When the BIM model undergoes a version change, group member versions with valid time ranges are generated for the affected stable task logic components. Select the valid group member version based on the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task to generate the engineering construction progress simulation visualization result.
2. The BIM-based engineering construction progress simulation and visualization method as described in claim 1, characterized in that, The steps to acquire and parse the BIM model and project schedule of an engineering project to obtain model component data and schedule task data include: Obtain the BIM model and project schedule for the engineering project; The BIM model is subjected to lightweight parsing to obtain the original component identifier, component attributes and lightweight geometric data. The component attributes and lightweight geometric data are associated with the original component identifier to generate model component data. The project schedule is parsed to obtain task identifiers, task times, and construction scope information. The task times and construction scope information are then organized according to the task identifiers to generate schedule task data.
3. The BIM-based engineering construction progress simulation and visualization method as described in claim 1, characterized in that, The steps of retrieving target model components from the model component data based on the progress task data and establishing stable task logic component groupings bound to the progress tasks in the progress task data include: Read the construction scope information corresponding to the current progress task, generate component retrieval conditions, and match the component retrieval conditions with the component attributes in the model component data to obtain candidate model components; In response to the confirmation operation of the candidate model component, the confirmed candidate model component is determined as the target model component; Based on the target model components, establish stable task logic component groups and bind the stable group identifier to the task identifier of the current progress task.
4. The BIM-based engineering construction progress simulation and visualization method as described in claim 3, characterized in that, The stable task logic component group includes a stable group identifier, component retrieval conditions, and the current group member version. The stable group identifier remains unchanged when the group members change. The current progress task establishes a binding relationship with the stable task logic component group through the stable group identifier.
5. The BIM-based engineering construction progress simulation and visualization method as described in claim 1, characterized in that, The steps for establishing a runtime construction progress proxy that references the original component identifier for a target model component that requires local construction progress expression, and setting construction progress boundaries according to the construction progress direction, include: Based on the construction process information of the corresponding schedule task and the spatial extension characteristics of the target model components, select the target model components that need to continuously express the construction process along the spatial direction; Read the construction direction recorded in the corresponding progress task, or generate candidate construction directions based on the spatial extension direction of the target model component, and determine the construction advancement direction in response to the direction confirmation operation; A runtime construction progress proxy is established using local graphic clipping or a temporary proxy mesh, and the runtime construction progress proxy is associated with the original component identifier; A set of construction boundaries is set along the construction advancement direction; wherein the set of construction boundaries includes a construction start boundary, a construction end boundary, and a movable construction advancement boundary.
6. The BIM-based engineering construction progress simulation and visualization method as described in claim 5, characterized in that: The runtime construction progress agent divides the target model component into several state regions according to the construction progress boundary; wherein, the state regions include constructed regions, under construction regions, and unconstructed regions, and each state region corresponds to a preset display state; The runtime construction progress agent moves the construction advancement boundary according to the preset progress position control points. Each progress position control point is associated with a task time and a component spatial position, and the construction advancement boundary is updated according to the position between adjacent progress position control points at the simulation time.
7. The BIM-based engineering construction progress simulation and visualization method as described in claim 1, characterized in that, When the BIM model undergoes a version change, the step of generating group member versions with valid time ranges for the affected stable task logical components includes: When the BIM model undergoes a version change, the components in the BIM model before and after the version change are compared, and the components whose original component identifiers have been added, missing, or whose component data has changed are grouped into a set of changed components. The changed component set is matched with the current group members and component retrieval conditions of each stable task logic component group, and the stable task logic component group that contains changed components or can retrieve newly added components is determined as the affected stable task logic component group. For the affected stable task logic component groups, the corresponding component retrieval conditions are re-executed in the BIM model after the version change, and the group members are updated in combination with the changed component set to obtain a new member set; Under the corresponding stable group identifier, the new member set is saved as a new group member version, the validity time range of the new and old group member versions is set, and the old group member version is retained.
8. The BIM-based engineering construction progress simulation and visualization method as described in claim 7, characterized in that: When an old model component corresponds to multiple new model components, if the spatial correspondence between the multiple new model components and the old model component reaches a preset mapping threshold and the component categories are the same, then the component splitting relationship is recorded; when multiple old model components correspond to one new model component, if the spatial correspondence between the multiple old model components and the new model component reaches a preset mapping threshold and the component categories are the same, then the component merging relationship is recorded.
9. The BIM-based engineering construction progress simulation and visualization method as described in claim 1, characterized in that, The steps for generating a construction progress simulation visualization result include: selecting a valid group member version based on the simulation time, updating the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task, and then generating the visualization result of the construction progress simulation. Read the simulated time and determine the group member versions whose simulated time falls within their valid time range as valid group member versions; The simulated time is compared with the task time of the progress task bound to the valid group member version to determine the task status of the progress task; wherein, the task status includes: not started, under construction, or completed. For target model components with runtime construction progress agents, update the construction advancement boundary according to the task status and progress position control points; for other target model components, update the overall display status according to the task status. The target model components or runtime construction progress agents that need to perform the same display actions are grouped into runtime rendering batches, and the display updates are performed according to the runtime rendering batches to obtain the simulation and visualization results of the engineering construction progress.
10. A BIM-based engineering construction progress simulation and visualization system, characterized in that, The system includes: The data parsing module is used to acquire and parse the BIM model and project schedule of the engineering project to obtain model component data and schedule task data; The logical grouping module is used to retrieve target model components from the model component data based on the progress task data, and establish a stable task logical component grouping that is bound to the progress tasks in the progress task data. The construction progress proxy module is used to establish a runtime construction progress proxy that references the original component identifier for target model components that require local construction progress expression, and to set the construction progress boundary according to the construction progress direction. The version management module is used to generate group member versions with valid time ranges for the affected stable task logic components when the BIM model undergoes version changes. The simulation display module is used to select the valid group member version according to the simulation time, and update the display status of the runtime construction progress agent or the target model component according to the task status of the corresponding progress task, so as to generate the engineering construction progress simulation visualization result.