BIM-based building decoration engineering design collaboration method

CN122712693BActive Publication Date: 2026-10-16CHINA RAILWAY NO 2 ENG GROUP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202611208418.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-08-11
Publication Date
2026-10-16
Estimated Expiration
2046-08-11

AI Technical Summary

Technical Problem

[0005]本发明提供一种基于BIM的建筑装饰工程设计协同方法,旨在解决现有协同方法中依赖关系未量化导致同步冗余或遗漏,以及变更同步缺乏时序控制导致数据冲突的问题

Benefits of technology

通过解析建筑专业模型中的墙体构件、结构专业模型中的梁柱构件及机电专业模型中的管线构件的空间几何包围盒,计算墙体构件与梁柱构件的空间围合体积,将该空间围合体积与预设体积阈值的比值作为第一依赖权重,同时计算管线构件与墙体构件的接触面积比例,将接触面积比例与预设面积阈值的差值作为第二依赖权重,由此构建部分依赖等级张量。该张量中的非零元素位置对应存在空间交集的构件对,其数值则反映依赖程度强弱。采用这种方式,依赖关系不再被简化为布尔值,而是形成连续的依赖等级谱系。当装饰设计发生变更时,系统能够依据该等级张量区分强依赖与弱依赖。强依赖关联节点会被赋予较高的同步权重并优先处理,而弱依赖节点可以延迟更新或暂不触发,从而大幅减少不必要的同步计算与数据读写操作,降低协同网络的负载。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122712693B_ABST
    Figure CN122712693B_ABST
Patent Text Reader

Abstract

The application discloses a BIM-based architectural decoration engineering design collaboration method and belongs to the technical field of BIM collaboration design. The method comprises the following steps: acquiring a multi-specialty initial BIM model set, performing partial dependence analysis processing to generate a distributed graph structure, the graph structure comprising design nodes and a partial dependence level tensor determined by a component space-enclosed volume and a contact area proportionality normalized difference; assigning a life cycle identifier based on a design change sequence time sequence relationship coding to each design node, correlating the life cycle identifier and the partial dependence level tensor to generate a node operation sequence comprising an activation time stamp and a dependence unlocking condition; when detecting design node model data changes, generating a synchronization instruction for the associated design node according to the node operation sequence and updating the model data of the affected design node. The method improves the accuracy and consistency of multi-specialty design change collaboration through quantitative partial dependence levels and time sequence driven node operation sequences.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of BIM collaborative design technology, specifically a BIM-based collaborative design method for architectural decoration engineering. Background Technology

[0002] In the field of architectural decoration engineering design, multi-disciplinary collaboration is a core aspect of BIM application. Architectural, structural, and mechanical / electrical engineering models overlap spatially, and design changes in one discipline often require simultaneous adjustments to related components in other disciplines. Current technologies for multi-disciplinary design collaboration typically rely on full dependency graphs or hard associations based on component collision detection. Full dependency graphs mark all spatially contacting components as fully dependent; once a change occurs, all associated nodes, regardless of the actual impact, trigger synchronization. This approach does not differentiate between degrees of dependency, forcing many components with only slight contact or no substantial spatial constraints into the update sequence, leading to wasted computational resources and network transmission redundancy. Collision detection-based association methods, on the other hand, only use physical interference as a dependency criterion, ignoring various spatial constraints such as enclosure, penetration, and support between components, making it difficult to reflect the true dependency strength between components such as walls and pipelines, and decorative panels and structural beams in decoration engineering.

[0003] The lack of partial dependency resolution makes it impossible for the system to identify which related components require immediate response to changes and which can be delayed or exempted from updates. Furthermore, design changes occur gradually along the construction sequence and design process, and the data evolution of each design node follows a temporal logic. Most existing synchronization mechanisms adopt a change broadcast model, that is, once a change is detected, an update command is sent to all dependent nodes, without considering the activation timing of nodes in the overall design sequence and their preceding dependency states. This frequently leads to multiple nodes simultaneously executing conflicting updates, causing model data disorder and difficulties in version backtracking.

[0004] How to quantify the degree of partial dependency between components to avoid over-synchronization and under-synchronization, and how to orderly arrange node activation and synchronization triggering conditions according to the temporal relationship of design changes, have become problems that restrict the collaborative efficiency and reliability of decoration engineering design. Summary of the Invention

[0005] This invention provides a BIM-based collaborative design method for architectural decoration projects, aiming to solve the problems of unquantified dependencies leading to synchronization redundancy or omissions in existing collaborative methods, and data conflicts caused by the lack of timing control for change synchronization.

[0006] To achieve the above objectives, the present invention provides the following technical solution: The present invention provides a BIM-based collaborative design method for architectural decoration engineering, the method comprising: A multi-disciplinary initial BIM model set is obtained, including architectural, structural, and MEP (Mechanical, Electrical, and Plumbing) models. Partial dependency resolution is performed on this multi-disciplinary initial BIM model set to generate a distributed graph structure. This distributed graph structure contains multiple design nodes and partial dependency level tensors between nodes. The partial dependency level tensors are determined based on the normalized difference between the ratio of the enclosed volume of a component's spatial area to its contact area, thus accurately reflecting the spatial dependency degree between components of different disciplines and avoiding the excessive coupling problem caused by full dependency.

[0007] Each design node in the distributed graph structure is assigned a lifecycle identifier, which is generated based on the temporal relationship of the design change sequence, ensuring that each design node carries its temporal position and activation order information within the overall design process. The lifecycle identifier is then associated with a partial dependency level tensor to generate a node operation sequence. This sequence includes the activation timestamp of the design node and dependency unlocking conditions, thereby transforming the spatial dependencies between design nodes into an operation sequence with temporal control logic.

[0008] When a change in the model data of a design node is detected, a synchronization instruction is generated for the associated design nodes based on the activation timestamp and dependent unlocking conditions of that design node in the node operation sequence. Then, the model data of the affected design nodes in the distributed graph structure is updated according to the synchronization instruction. This process ensures that changes are accurately propagated only to associated nodes with actual spatial dependencies and that meet timing requirements. While maintaining consistency across multiple disciplines, this effectively reduces the scope of change propagation and minimizes unnecessary computational and information transmission overhead.

[0009] As a preferred embodiment of the present invention, the specific process of the partial dependency resolution is as follows: parse the spatial geometric bounding boxes of wall components in the architectural model, beam-column components in the structural model, and pipeline components in the electromechanical model; calculate the spatial enclosed volume of the wall components and beam-column components, and use the ratio of the spatial enclosed volume to a preset volume threshold as the first dependency weight; calculate the contact area ratio between pipeline components and wall components, and use the difference between the contact area ratio and a preset area threshold as the second dependency weight; construct a partial dependency level tensor based on the first and second dependency weights, where the positions of non-zero elements correspond to component pairs with spatial intersection. Through the above quantification method, the spatial enclosure degree and contact tightness of components can be quantified into different dependency levels, making the expression of dependency relationships more accurate and providing a reliable basis for granular control of subsequent change propagation.

[0010] Preferably, when assigning lifecycle identifiers to design nodes, the alignment parameters of the 3D bounding box of the component corresponding to each design node in the initial BIM model are obtained. This parameter is the angle between the minimum bounding box of the component and the axis of the building coordinate system. The logical priority of the design node in the construction sequence is determined based on the 3D bounding box alignment parameters, and the logical priority is positively correlated with the size of the angle. The logical priority is combined with the creation timestamp of the design node to generate a lifecycle identifier, which includes a priority value field and a timestamp field. This method implicitly conveys the construction logical sequence through the spatial orientation information of the component, making the lifecycle identifier reflect both the time dimension and the spatial installation priority, providing a multi-dimensional basis for the sequencing of subsequent operation sequences.

[0011] As a further improvement of this invention, when generating the node operation sequence, the priority value field in the lifecycle identifier is extracted, and the design nodes in the distributed graph structure are sorted in descending order of priority value field to obtain an initial sequence. Each design node in the initial sequence is traversed, and the set of predecessor nodes that the design node depends on is queried in the partial dependency level tensor. A dependency unlocking condition is generated for each set of predecessor nodes, whereby the lifecycle identifiers of all design nodes in the predecessor node set have been confirmed as activated. The dependency unlocking condition is bound to the activation timestamp of the current design node to generate the node operation sequence. Thus, the activation of a design node depends not only on time conditions but also on the state constraints of its spatially dependent predecessor nodes, ensuring that the change synchronization operation follows the design intent in both topology and timing.

[0012] In generating synchronization instructions, preferably, the process involves parsing the associated design nodes adjacent to the changed design node in the node operation sequence. These associated design nodes are other design nodes that reference the changed design node in their dependency unlocking conditions. The change amount of the model data of the changed design node is calculated, including the product of the magnitude of the component spatial position offset vector and the rate of change of geometric volume. The change amount is multiplied by the corresponding element in the partial dependency level tensor of the associated design node to obtain a synchronization weight value. A synchronization instruction is generated based on this weight value, containing an identifier field for the associated design node and a synchronization execution priority field. By jointly quantifying the change magnitude and dependency level, the obtained synchronization weight value can reasonably reflect the degree of impact of the change on the associated nodes, thereby guiding the priority of synchronization instructions and improving the response speed to critical changes.

[0013] Regarding model data updates, preferably, when updating the model data of affected design nodes according to synchronization instructions, the synchronization execution priority field in the synchronization instructions is parsed, and the design nodes to be updated are selected in descending order of the synchronization execution priority field. Based on the activation timestamp in the lifecycle identifier of the affected design node, the time interval between the current time point and the activation timestamp is calculated, and the difference between the time interval and a preset time threshold is used as the update trigger parameter. When the update trigger parameter is less than zero, the change log file of the changed design node is obtained, and the change information in the change log file is mapped to the model data of the affected design node. This method only performs actual updates when the design node is within the active time window, avoiding premature or disordered data writing that could disrupt the consistency of the model state.

[0014] Furthermore, the process of mapping the change information in the change log file to the model data of the affected design nodes is as follows: Parse the change log file to extract the component identification field and its corresponding spatial position offset vector and geometric shape change parameters; locate the target component object in the model data of the affected design nodes based on the component identification field; apply the spatial position offset vector to the position coordinates of the target component object, and apply the geometric shape change parameters to the geometric topology of the target component object, which includes a set of vertex coordinates and a set of edge connections. This achieves precise and synchronized mapping between component position and shape.

[0015] To reduce data redundancy caused by repeated changes, a preferred approach is to perform a redundant data filtering step before mapping the change information in the change log files to the model data of the affected design nodes: This involves obtaining all change log files for the model data of the changed design nodes within a preset time window and generating a change log file list; linearizing each change log file in the list using a string concatenating the component identifier field and the change timestamp; constructing a hash table using the linearized code as the key and the change log file content as the value; traversing the hash table, and when multiple values ​​are found to correspond to the same key, retaining the value with the latest timestamp and deleting the others. This redundancy filtering mechanism can compress duplicate or useless historical change information, ensure the validity of the mapped data, and reduce transmission and storage pressure.

[0016] Preferably, the aforementioned preset time threshold is dynamically adjusted based on the maximum value in the partial dependency level tensor of the affected design nodes; the larger the maximum value, the smaller the preset time threshold. For nodes with close dependencies, dynamically shortening their activation time window allows for earlier responses to highly correlated changes, improving the sensitivity and real-time performance of collaboration.

[0017] As another technical solution of the present invention, the key in the linearized encoding also includes a design node identifier field, which is used to distinguish the change records of different design nodes, thereby accurately isolating redundant data in the scenario of parallel changes of multiple nodes and further improving the accuracy of filtering.

[0018] The technical effects and advantages provided by the present invention in the above technical solution are as follows: By analyzing the spatial geometric bounding boxes of wall components in the architectural model, beam-column components in the structural model, and pipeline components in the MEP model, the system calculates the spatial enclosed volume of wall and beam-column components. The ratio of this enclosed volume to a preset volume threshold is used as the first dependency weight. Simultaneously, the contact area ratio between pipeline and wall components is calculated, and the difference between this contact area ratio and a preset area threshold is used as the second dependency weight, thus constructing a partial dependency level tensor. Non-zero elements in this tensor correspond to pairs of components with spatial intersection, and their values ​​reflect the strength of the dependency. Using this method, dependencies are no longer simplified to Boolean values ​​but form a continuous dependency level spectrum. When the interior design changes, the system can distinguish between strong and weak dependencies based on this level tensor. Strongly dependent nodes are assigned higher synchronization weights and processed first, while weakly dependent nodes can have their updates delayed or not triggered, significantly reducing unnecessary synchronization calculations and data read / write operations, and lowering the load on the collaborative network.

[0019] The logical priority of design nodes in the construction process is determined based on the angle between the 3D bounding box and the building coordinate system axis. This priority is then combined with the creation timestamp of the design node and encoded as a lifecycle identifier. This identifier carries both spatial arrangement and temporal attributes. The lifecycle identifier is associated with a partial dependency level tensor, and the priority value field is extracted and sorted. During traversal, the predecessor node set is queried in the tensor, and a dependency unlocking condition is generated for each node, i.e., the lifecycle identifiers of all design nodes in the predecessor node set have been confirmed to be activated. Finally, the dependency unlocking condition is bound to the activation timestamp to form a node operation sequence. When a change in the design node model data is detected, an update is not broadcast directly. Instead, a synchronization command is generated based on the activation timestamps and dependency unlocking conditions of the associated nodes in the sequence. The synchronization command for subsequent nodes will only take effect after all predecessor nodes have been activated in sequence. The synchronization process is not triggered simultaneously but is unlocked gradually according to the rhythm of design evolution, thereby avoiding state conflicts caused by parallel changes of multiple disciplines and maintaining the consistency of the design node model data in the distributed graph structure. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0021] Figure 1 This is a flowchart of a BIM-based collaborative design methodology for architectural decoration projects. Figure 2 This is a flowchart of the node lifecycle identifier allocation process; Figure 3 This is a flowchart of the process for generating synchronous instructions for associated design nodes; Figure 4 It is a probability density map of the alignment parameters of the three-dimensional bounding box of the design node; Figure 5 This is a diagram showing the distribution of the number of predecessor nodes in the design node. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0023] See Figure 1 This invention provides a BIM-based collaborative design method for architectural decoration engineering, comprising: A multi-disciplinary initial BIM model set is obtained, including architectural, structural, and MEP (Mechanical, Electrical, and Plumbing) models. Partial dependency resolution is performed on this set to generate a distributed graph structure. This structure contains multiple design nodes and partial dependency level tensors between nodes, determined based on the normalized difference between the ratio of component spatial enclosure volume to contact area. A lifecycle identifier is assigned to each design node in the distributed graph structure, encoded according to the temporal relationship of the design change sequence. The lifecycle identifier is associated with the partial dependency level tensor to generate a node operation sequence, containing the design node's activation timestamp and dependency unlocking conditions. When a change in the model data of a design node is detected, a synchronization instruction is generated for the associated design nodes based on the node's activation timestamp and dependency unlocking conditions in the node operation sequence. The model data of the affected design nodes in the distributed graph structure is updated according to the synchronization instruction.

[0024] Example 1: In practice, the method of performing partial dependency resolution on the initial BIM model set of multiple disciplines and generating a distributed graph structure is described in the following process.

[0025] This paper analyzes the spatial geometric bounding boxes of wall components in architectural models, beam and column components in structural models, and pipeline components in MEP models. The spatial geometric bounding box is the smallest axis-aligned cuboid capable of accommodating the overall geometry of the corresponding component. By traversing the vertex coordinates of all triangular faces of the corresponding component and recording the maximum and minimum coordinate values ​​along the three axes of the architectural coordinate system, the diagonal vertices of the bounding box are obtained, thus determining the spatial extent of the bounding box.

[0026] For wall components and beam-column components, the intersection region of the spatial geometric bounding boxes of the wall components and beam-column components is calculated. This intersection region is the cuboid enclosed by the overlapping intervals of the two bounding boxes on the three coordinate axes. The volume of the intersection region is the spatial enclosed volume. If the two bounding boxes do not intersect, the spatial enclosed volume is zero. The preset volume threshold is set based on the median of the bounding box volumes of all components in the multi-disciplinary initial BIM model set. This median is multiplied by a scaling factor of 0.1 to obtain the preset volume threshold. The ratio of the spatial enclosed volume to the preset volume threshold is used as the first dependency weight. (The symbol is used to represent the weight.) Indicates the first dependency weight. The calculation is as follows in, For enclosed volume of space, This is a preset volume threshold.

[0027] For pipeline components and wall components, the overlapping surfaces between the spatial geometric bounding boxes of the pipeline component and the wall component are obtained. Among the six surfaces of the pipeline component's bounding box, the sum of the surface areas intersecting with the interior or surface of the wall component's bounding box is taken as the contact area. The contact area is divided by the total outer surface area of ​​the pipeline component's spatial geometric bounding box to obtain the contact area ratio. A preset area threshold is set to 0.15. The difference between the contact area ratio and the preset area threshold is used as the second dependency weight. (The symbol is used to represent the weight.) Indicates the second dependency weight. The calculation is as follows in, For contact area, This refers to the total outer surface area of ​​the spatial geometric enclosure of the pipeline component. The preset area threshold is 0.15.

[0028] A partial dependency level tensor is constructed based on the first and second dependency weights. The partial dependency level tensor uses a three-dimensional array structure, with the three dimensions representing the dependency type, source component identifier, and target component identifier, respectively. Any element in the partial dependency level tensor... The value of is determined according to the following formula: in, For dependency type indexing, The dependencies between wall components and beam / column components. The dependencies between pipeline components and wall components; The source component number refers to the unique serial number of a wall component or pipeline component in the multi-disciplinary initial BIM model set; The target component number refers to the unique serial number of the beam, column, or wall component in the multi-disciplinary initial BIM model set; Number Wall components and numbering The first dependency weight of beam and column components; Number Pipeline components and numbering The second dependency weights of the wall components. The positions of all non-zero elements in the partial dependency level tensor correspond to component pairs with spatial intersection, and zero elements indicate that there is no spatial intersection or undefined dependency relationship between the corresponding component pairs.

[0029] When generating the distributed graph structure, wall components in the architectural model, beam and column components in the structural model, and pipeline components in the electromechanical model are abstracted as design nodes. The design nodes are the vertices of the graph. If the element value of the corresponding position in the partial dependency level tensor is non-zero, a directed edge is constructed between the corresponding design nodes. The weight of the directed edge is the value of the corresponding element in the partial dependency level tensor.

[0030] The implementation of the partial dependency parsing process is based on a clear geometric calculation standard, which uses the spatial geometric bounding boxes of each component in the multi-disciplinary initial BIM model set as the core input. The wall components of the architectural model, the beam and column components of the structural model, and the pipeline components of the MEP model are parsed. By traversing the vertex coordinates of all triangular facets of each component, the minimum axis-aligned bounding box of each component in the architectural coordinate system is obtained. Each independent component is uniquely identified as a design node in this process. The total number of design nodes is equal to the total number of all related components included in the multi-disciplinary initial BIM model set, thus the number of nodes is uniquely determined. The intersection area between the bounding boxes of wall components and beam and column components is calculated, and the volume of this intersection area is taken as the spatial enclosed volume. A preset volume threshold is set by multiplying the median volume of the bounding boxes of all components in the multi-disciplinary initial BIM model set by a scaling factor of 0.1. This scaling factor is a preset constant within the system and does not change with the usage scenario. The ratio of the spatial enclosed volume to this preset volume threshold is used as the first dependency weight. Simultaneously, the overlapping surface area between the pipe component bounding box and the wall component bounding box is calculated. Dividing this overlapping surface area by the total outer surface area of ​​the pipe component bounding box yields the contact area ratio. A preset area threshold of 0.15 is used as the second dependency weight, and the difference between the contact area ratio and this preset area threshold is used. The preset volume and area thresholds used in the above calculations are predefined fixed parameters in the collaborative method, ensuring uniqueness of the calculation results for the same set of original model data. A partial dependency level tensor is constructed based on the first and second dependency weights. The tensor's dimensions correspond to the dependency relationship type, source component identifier, and target component identifier, respectively. For any component pair with spatial intersection, the corresponding element in the tensor takes the deterministic value obtained above, while the corresponding element in the tensor for component pairs without spatial intersection is zero. This filling process is entirely determined by the inherent spatial geometric bounding box data of the components and the system's preset parameters, without involving random factors or fuzzy judgments. Therefore, the structure and element values ​​of the partial dependency level tensor are unique. The design nodes of the distributed graph structure correspond one-to-one with the components in the partial dependency level tensor, and the edge weights are uniquely determined by the tensor, thus the entire parsing result is unique.

[0031] Example 2: In specific implementation, please refer to Figure 2 The process of assigning a lifecycle identifier to each design node in a distributed graph structure is implemented in the following way.

[0032] Obtain the 3D bounding box alignment parameters of the components corresponding to each design node in the initial BIM model. The components corresponding to each design node are architectural, structural, or MEP components that constitute the corresponding design node in the multi-disciplinary initial BIM model set. The 3D bounding box alignment parameter is the angle between the minimum bounding box of the component and the axis of the building coordinate system. When calculating the minimum bounding box, the vertices of all triangular faces of the component are used as input. Principal component analysis is used to extract three eigenvectors of the vertex coordinate covariance matrix. The directions of these eigenvectors are taken as the principal axis directions of the minimum bounding box, resulting in an oriented bounding box that tightly encloses the component. This oriented bounding box is the component's minimum bounding box. Then, the three angle values ​​between the longest principal axis of the component's minimum bounding box and the X, Y, and Z axes of the building coordinate system are calculated respectively. The maximum value among the three angle values ​​is taken as the 3D bounding box alignment parameter, with the maximum value ranging from 0 degrees to 90 degrees.

[0033] The logical priority of design nodes in the construction sequence is determined based on the 3D bounding box alignment parameters. The logical priority in the construction sequence reflects the sequential dependency of components during installation or construction and is positively correlated with the magnitude of the 3D bounding box alignment parameters. A linear mapping method is used to directly map the 3D bounding box alignment parameters to the priority value field of the logical priority. Since the 3D bounding box alignment parameters range from 0 to 90 degrees, multiplying the 3D bounding box alignment parameters by a constant 10 and rounding down yields the logical priority value, which is an integer between 0 and 900.

[0034] The logical sorting priority and the creation timestamp of the design node are combined and encoded to generate the lifecycle identifier. The creation timestamp of the design node is the system time when the component corresponding to that design node in the initial BIM model was first created or imported into the collaborative system, with a precision of milliseconds, and formatted as the number of milliseconds elapsed from the base time January 1, 1970, 00:00:00 UTC to the creation time. The combined encoding uses a bit concatenation method, combining the logical sorting priority value and the creation timestamp into a fixed-length byte sequence. Indicates lifecycle identifier, The generation follows the following formula: in, The logical sorting priority value is a 32-bit unsigned integer. The creation timestamp for the design node is a 64-bit unsigned integer in milliseconds; Its function is to Shift left by 64 bits to reserve the lower 64 bits for storage. Therefore, lifecycle identification. Includes a priority numeric field and a timestamp field , Located in the high 32 bits of the lifecycle identifier, Located in the lower 64 bits of the lifecycle identifier. The generated... Assign it to the corresponding design node to complete the lifecycle identifier assignment.

[0035] See Figure 4 In the figure, the horizontal axis represents the range of values ​​for the 3D spatial bounding box alignment parameters, in degrees, from 0 to 90 degrees, and the vertical axis represents the probability density. In the legend, solid green lines represent architectural models, dashed orange lines represent structural models, and dotted purple lines represent mechanical and electrical (MEP) models. The curves illustrate the probability density distribution characteristics of the 3D spatial bounding box alignment parameters for design nodes in the corresponding professional models.

[0036] The probability density curve of the architectural model reaches a local peak of about 0.0135 at 0 degrees, and then shows a downward trend as the alignment parameter increases. It reaches its lowest point at about 45 degrees, where the probability density is close to zero. After that, the curve gradually rises and reaches a height similar to the initial peak at 90 degrees, showing a bimodal distribution. This reflects that the minimum enclosure and main axis of the architectural components are mostly concentrated in the direction parallel or perpendicular to the axis of the architectural coordinate system, reflecting the regularity and alignment characteristics of the spatial layout of the components.

[0037] The probability density curve of the structural model has a similar overall trend to that of the architectural model, but the trough value is higher near 45 degrees, with the lowest value being about 0.0025. The peak values ​​at both ends are slightly lower than those of the architectural model, being about 0.0125 and 0.013 at 0 degrees and 90 degrees, respectively. This shows that the spatial enclosure and alignment parameter distribution of the structural components is more uniform than that of the architectural model, and there is a certain deflection angle, reflecting that the spatial layout of the structural components is relatively diverse.

[0038] The probability density curve of the electromechanical model exhibits a unimodal distribution, with the peak value appearing in the range of approximately 55 to 60 degrees. The peak value is close to 0.0175, which is significantly higher than the peak value of the architectural and structural models. Furthermore, the probability density is lower at the 0-degree and 90-degree ends, at approximately 0.0015 and 0.003, respectively. This indicates that the principal axes of the minimum bounding boxes of electromechanical components are mostly located in the middle to larger angle range, with a large angle between them and the axis of the architectural coordinate system, reflecting the complexity and multidirectional nature of the spatial layout of electromechanical components.

[0039] Example 3: In practical implementation, when extracting the priority value field from the lifecycle identifier, a bitwise splitting operation is performed on the lifecycle identifier assigned to each design node in the distributed graph structure. The lifecycle identifier is a 96-bit unsigned integer, with the high 32 bits storing the priority value field and the low 64 bits storing the timestamp field. Through bitmasking operations, the lifecycle identifier is bitwise ANDed with the constant `0xFFFFFFFF0000000000000000`, and then right-shifted by 64 bits to obtain the integer value of the priority value field.

[0040] All design nodes in the distributed graph structure are sorted in descending order of priority value. The sorting uses a heap sort algorithm, with the priority value as the sorting key. A max-heap is built, and the top element is popped sequentially to form the initial sequence. Design nodes at the beginning of the initial sequence have higher logical priority values; the components corresponding to these nodes have more fundamental installation dependencies in the construction process and require priority processing.

[0041] Optionally, if multiple design nodes have the same priority value field during the sorting process, the timestamp field in the lifecycle identifier is further extracted, and these design nodes with the same priority are arranged in ascending order of the timestamp field, that is, the design node with the earlier creation time is placed at the beginning of the sequence.

[0042] For each design node in the initial sequence, query the set of predecessor nodes that the design node depends on in the partial dependency level tensor. For the currently traversed design node in the initial sequence, determine the component number corresponding to the design node. The partial dependency level tensor uses a three-dimensional storage structure, where the second dimension represents the source component number and the third dimension represents the target component number. Using the component number corresponding to the current design node as the target component number, traverse the dependency type index in the first dimension and all source component numbers in the second dimension. Retrieve all positions in the partial dependency level tensor where the element is non-zero and the target component number is equal to the component number corresponding to the current design node. The design nodes identified by the source component numbers at these positions are the set of predecessor nodes. The set of predecessor nodes may contain zero or one or more design nodes.

[0043] A dependency unlock condition is generated for each set of predecessor nodes. The dependency unlock condition is formally defined as a logical conjunction expression, the content of which is that the lifecycle identifier of each design node in the predecessor node set has been confirmed as activated by the system. Confirmation of activation means that the component design corresponding to the design node has passed the review process, and the lifecycle identifier of the design node has been persistently recorded as active, marked with a Boolean value of true. The Boolean expression for the dependency unlock condition is: in, Indicates the currently traversed design node; Indicates the current design node The set of predecessor nodes on which it depends, which is obtained by retrieving the aforementioned partial dependency level tensor; It can be any design node in the set of predecessor nodes; A Boolean function, when designing nodes The function value is true when the activation status of the lifecycle flag is true, otherwise it is false; operator This indicates that a logical AND operation is performed on all predecessor nodes, meaning only the design nodes in the predecessor node set are affected. When both are true, the unlock condition applies. Only then is it true.

[0044] After the dependency unlocking conditions are generated, they are bound to the activation timestamp of the current design node. The activation timestamp of the current design node is directly extracted from the timestamp field of the lifecycle identifier of the current design node. This timestamp field is the millisecond-level timestamp of the initial creation time of the component corresponding to the design node in the collaborative system. This activation timestamp is used as the time base for collaborative synchronization scheduling.

[0045] The bound results are organized into a node operation sequence element, which includes the design node identifier, dependency unlock condition expression, and activation timestamp. After traversing and binding all design nodes in the initial sequence, all node operation sequence elements are arranged in the order of the initial sequence to form the node operation sequence. The node operation sequence is stored in the collaborative system as an ordered list, used for subsequent model changes to sequentially check dependency unlock conditions and trigger synchronization operations.

[0046] See Figure 5 In the figure, the horizontal axis represents the number of predecessor nodes of a design node, ranging from 0 to 4, and the vertical axis represents the number of design nodes corresponding to the number of predecessor nodes. The legend distinguishes three types of component design nodes: wall component design nodes (blue), beam and column component design nodes (orange), and pipeline component design nodes (green). This figure reflects the distribution characteristics of predecessor dependencies of design nodes in a distributed graph structure in the BIM-based collaborative design method for architectural decoration engineering, specifically corresponding to the predecessor node set retrieval and dependency unlocking condition generation stage in Example 3.

[0047] As can be seen from the figure, among the design nodes of wall components, the number of nodes with 1 predecessor node is the largest, close to 185, followed by nodes with 0 predecessor nodes, numbering about 120. The number of nodes with 2 and 3 predecessor nodes decreases significantly, to about 75 and 15 respectively, and the number of nodes with 4 predecessor nodes is zero. This indicates that most design nodes of wall components have 0 to 2 predecessor nodes, and the dependency relationship is relatively concentrated and not complex.

[0048] Among the design nodes of beam-column components, the number of design nodes with zero predecessor nodes is the highest, exceeding 270. The number of design nodes with one or more predecessor nodes decreases significantly, with approximately 30 or fewer. Furthermore, the number of nodes with more than one predecessor node is close to zero. This indicates that the design nodes of beam-column components are mostly starting nodes without predecessor dependencies, with weak dependencies in the component installation process, and are in a relatively high priority position.

[0049] The number of predecessor nodes for pipeline component design nodes is relatively evenly distributed. There are more design nodes with 2 and 3 predecessor nodes, approximately 115 and 80 respectively. There are fewer design nodes with 1 and 4 predecessor nodes, approximately 65 and 20 respectively. The fewest nodes have 0 predecessor nodes, only about 18. This reflects that the dependency relationship of pipeline component design nodes is relatively complex and is greatly affected by multiple nodes. It also reflects that pipeline components need to meet the dependency unlocking conditions of many components during the construction process.

[0050] Example 4: In specific implementation, please refer to Figure 3 When a change in the model data of a certain design node is detected, the process of generating synchronization instructions for the associated design node is implemented in the following way.

[0051] This process parses the associated design nodes adjacent to the modified design node in the node operation sequence. The node operation sequence is an ordered list, where each element contains a design node identifier, a dependency unlock condition expression, and an activation timestamp. The modified design node is located within the node operation sequence, and its identifier is retrieved. All other design nodes in the node operation sequence, excluding the modified design node, are traversed, and their dependency unlock condition expressions are parsed one by one. The dependency unlock condition expression is a logical conjunction expression, consisting of multiple... Boolean functions are constructed by connecting them using the logical AND operator, where This refers to any design node in the set of predecessor nodes. If the dependency unlock condition expression of another design node references the design node identifier of the modified design node, then that other design node is identified as an associated design node adjacent to the modified design node. All associated design nodes constitute the set of associated design nodes.

[0052] Calculate the change amount of model data for the changed design node. The change amount of model data is obtained by multiplying the magnitude of the component spatial position offset vector by the geometric volume change rate. The component spatial position offset vector is obtained as follows: extract the center point coordinates of the bounding box before the change from the spatial geometric bounding box of the component corresponding to the changed design node before the change; extract the center point coordinates of the bounding box after the change from the spatial geometric bounding box of the component corresponding to the changed design node after the change; subtract the center point coordinates of the bounding box before the change from the center point coordinates of the bounding box after the change to obtain the component spatial position offset vector, which is a three-dimensional vector. Calculate the magnitude of the component spatial position offset vector, which is the arithmetic square root of the sum of the squares of the three components of the offset vector along the X, Y, and Z axes in the architectural coordinate system. The geometric volume change rate is obtained as follows: calculate the solid volume of the component corresponding to the changed design node after the change; calculate the solid volume of the component corresponding to the changed design node before the change; divide the solid volume after the change by the solid volume before the change to obtain the geometric volume change rate, which is a real number greater than zero. The change amount is represented by the symbol... express, The calculation follows the formula: in, The modulus of the component's spatial position offset vector, in millimeters; The rate of change of volume in geometric shape, dimensionless; operator This represents numerical multiplication.

[0053] The change amount is multiplied by the corresponding element in the partial dependency level tensor for each associated design node in the set of associated design nodes to obtain the synchronization weight value for each associated design node. For a given associated design node, the dependency element between that associated design node and the changed design node is located in the partial dependency level tensor. The first dimension of the partial dependency level tensor is the dependency type index, the second dimension is the source component number, and the third dimension is the target component number. Taking the changed design node as the source component and the associated design node as the target component, after determining the dependency type index, the corresponding element value is retrieved from the partial dependency level tensor. This element value is the partial dependency level value between the associated design node and the changed design node. The change amount... Multiplying this value by the dependency level gives the synchronization weight value for that associated design node. The synchronization weight value reflects the degree of impact of changes to the modified design node on associated design nodes.

[0054] Synchronization instructions are generated based on synchronization weight values. Each synchronization instruction is a structured data object containing an associated design node identifier field and a synchronization execution priority field. The associated design node identifier field is filled with the identifier of the corresponding associated design node. The synchronization execution priority field is filled with the synchronization weight value; the higher the synchronization weight value, the higher the synchronization execution priority. All synchronization instructions corresponding to associated design nodes are organized into a synchronization instruction list, thus completing the generation of the synchronization instructions.

[0055] Example 5: In practice, the process of updating the model data of the affected design nodes in the distributed graph structure according to the synchronization instructions is achieved in the following way.

[0056] The synchronization execution priority field in the synchronization instructions is parsed. Synchronization instructions are structured data objects containing an associated design node identifier field and a synchronization execution priority field, where the value is the synchronization weight. All synchronization instructions are extracted from the list, and sorted in descending order of their priority field values ​​using a quicksort algorithm, with the priority field value as the sorting key. Following the sorted order, the design nodes pointed to by the associated design node identifier field in each instruction are selected one by one. These design nodes are designated as the sequence of design nodes to be updated, with the earlier nodes in this sequence receiving priority for updating.

[0057] For each affected design node in the sequence of design nodes to be updated, the activation timestamp is extracted from the lifecycle identifier of the affected design node. The lifecycle identifier is a 96-bit unsigned integer, with the lower 64 bits storing the timestamp field. The activation timestamp is obtained by performing a bitwise AND operation between the lifecycle identifier and the constant `0x00000000FFFFFFFF` using a bitmask. The activation timestamp is the number of milliseconds from the base time 00:00:00 UTC on January 1, 1970, until the corresponding component was first created. The current system time is obtained, also represented as the number of milliseconds from the same base time to the current moment. The time interval between the current time and the activation timestamp is calculated as the difference between the current time and the activation timestamp.

[0058] A preset time threshold is determined. This threshold is dynamically adjusted based on the maximum value in the partial dependency level tensor of the affected design nodes. The maximum value is the largest non-zero element retrieved from the partial dependency level tensor. The partial dependency level tensor stores the dependency weights between multiple component pairs. For an affected design node, all non-zero elements in the partial dependency level tensor that use the affected design node as the target or source component number are retrieved. The maximum absolute value of these non-zero elements is then taken as denoted as . The preset time threshold is indicated by a symbol. express, The calculation follows the formula: in, The preset base time constant is set to 86400000, with the unit being milliseconds. This constant is set to the number of milliseconds corresponding to 24 hours based on the average allowable delay time for the propagation of design changes in the collaborative system. This represents the absolute value of the largest non-zero element in the partial dependency level tensor for the affected design nodes, and its value is a real number greater than 0. When When the value increases, The corresponding reduction allows for stricter time constraints on design nodes with high dependency intensity.

[0059] The difference between the time interval and the preset time threshold is used as the update trigger parameter. The update trigger parameter is indicated by a symbol. express, Subtract from the time interval get.

[0060] For each affected design node, determine the update trigger parameters. Is it less than zero? When When the value is less than zero, the system begins retrieving all change log files for the model data of the changed design node within a preset time window. The preset time window is a fixed-duration interval, starting 7,200,000 milliseconds (2 hours) backward from the current time and ending at the current time. From the collaborative system's change log storage area, all change log files whose timestamps fall within this preset time window and belong to the changed design node are selected, and these change log files are aggregated to generate a change log file list.

[0061] Linear encoding is performed on each change log file in the change log file list. Each change log file contains a component identifier field and a change timestamp field. The component identifier field is the unique number of the component corresponding to the changed design node. The linear encoding operation involves concatenating the design node identifier field, the component identifier field, and the change timestamp field. The design node identifier field is the identifier of the changed design node, the component identifier field is the component number, and the change timestamp field is the millisecond-level timestamp when the change log file was generated. These three fields are connected using the separator "#" to form a linearly encoded string, which serves as the key.

[0062] A hash table is constructed using linearized encoded strings as keys and the entire content of the change log file as values. The hash table employs open addressing to handle collisions, using the hash code of the key as an index. Each change log file in the list is inserted into the hash table as a key-value pair. During insertion, if a matching key already exists in the hash table, the change timestamp from the existing value is compared with the change timestamp in the current change log file to be inserted. The most recent change timestamp is retained, and older values ​​are deleted. After complete iteration, each key in the hash table corresponds to only one latest change log file, achieving redundant data filtering.

[0063] Obtain the filtered change log file, and parse and extract the component identification field, corresponding spatial position offset vector, and geometric shape change parameters from the change log file. The spatial position offset vector is the three-dimensional vector data recorded in the change log file, containing three components: X-axis offset, Y-axis offset, and Z-axis offset. The geometric shape change parameters are the volume scaling factor or specific vertex coordinate displacement data recorded in the change log file.

[0064] In the model data of the affected design nodes, the target component object is located based on the component identifier field. The target component object is the component instance in the model data of the affected design node that matches the component identifier field. The three components of the spatial position offset vector are applied to the X, Y, and Z components of the current position coordinates of the target component object, respectively, to update the position coordinates. Geometric shape change parameters are applied to the geometric topology of the target component object. When the geometric shape change parameter is a volume scaling factor, the coordinates of each vertex in the vertex coordinate set of the target component object are multiplied by the scaling factor, while keeping the edge connection set unchanged. When the geometric shape change parameter is specific vertex coordinate displacement data, the displacement data is superimposed vertex by vertex onto the vertex coordinate set of the target component object, while keeping the edge connection set unchanged. The vertex coordinate set in the geometric topology is an ordered list of the coordinates of all three-dimensional points that make up the geometric shape of the target component object, and the edge connection set is the topological edge index information that defines the connection method between vertices.

[0065] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A BIM-based collaborative design method for architectural decoration projects, characterized in that: The method includes: Obtain a multi-disciplinary initial BIM model set, which includes architectural models, structural models, and mechanical and electrical models. The initial multi-disciplinary BIM model set undergoes partial dependency resolution to generate a distributed graph structure, including: Analyze the spatial geometric bounding boxes of wall components in the architectural model, beam and column components in the structural model, and pipeline components in the electromechanical model; Calculate the spatial enclosed volume of the wall component and the beam-column component, and use the ratio of the spatial enclosed volume to a preset volume threshold as the first dependency weight; Calculate the contact area ratio between the pipeline component and the wall component, and use the difference between the contact area ratio and a preset area threshold as a second dependency weight. A partial dependency level tensor is constructed based on the first dependency weight and the second dependency weight. The partial dependency level tensor adopts a three-dimensional array structure, with the three dimensions representing the dependency relationship type, the source component identifier, and the target component identifier, respectively. The dependency relationship types include the dependency relationship between wall components and beam and column components, as well as the dependency relationship between pipeline components and wall components. The positions of the non-zero elements in the partial dependency level tensor correspond to component pairs with spatial intersection; The distributed graph structure contains multiple design nodes and partial dependency level tensors between nodes. Assign a lifecycle identifier to each design node in the distributed graph structure, including: Obtain the three-dimensional spatial bounding box alignment parameters of the component corresponding to each design node in the initial BIM model. The three-dimensional spatial bounding box alignment parameters are the angle between the minimum bounding box of the component and the axis of the building coordinate system. The logical sorting priority of the design node in the construction process is determined based on the alignment parameters of the three-dimensional bounding box, and the logical sorting priority is positively correlated with the size of the included angle. The logical sorting priority is combined with the creation timestamp of the design node to generate the lifecycle identifier, which includes a priority value field and a timestamp field. Associating the lifecycle identifier with the partial dependency level tensor generates a node operation sequence, which includes the activation timestamp of the design node and the dependency unlocking conditions. When a change in the model data of a certain design node is detected, a synchronization instruction for the associated design node is generated based on the activation timestamp and dependent unlocking conditions of the design node in the node operation sequence. The model data of the affected design nodes in the distributed graph structure are updated according to the synchronization instruction.

2. The BIM-based collaborative design method for architectural decoration engineering according to claim 1, characterized in that, The step of associating the lifecycle identifier with the partial dependency level tensor to generate a node operation sequence includes: Extract the priority value field from the lifecycle identifier, and sort the design nodes in the distributed graph structure according to the priority value field from largest to smallest to obtain the initial sequence; Traverse each design node in the initial sequence and query the set of predecessor nodes that the design node depends on in the partial dependency level tensor; A dependency unlock condition is generated for each set of predecessor nodes, wherein the dependency unlock condition is that the lifecycle identifiers of all design nodes in the set of predecessor nodes have been confirmed to be activated. The dependency unlocking condition is bound to the activation timestamp of the current design node to generate the node operation sequence.

3. The BIM-based collaborative design method for architectural decoration engineering according to claim 1, characterized in that, When a change in the model data of a design node is detected, a synchronization instruction for the associated design node is generated based on the activation timestamp and dependent unlocking conditions of that design node in the node operation sequence, including: The associated design nodes adjacent to the modified design node in the node operation sequence are analyzed. The associated design nodes are other design nodes that reference the design node in the dependency unlocking condition. Calculate the change amount of the model data for the changed design node, wherein the change amount includes the product of the magnitude of the component spatial position offset vector and the rate of change of geometric volume; Multiply the change amount by the corresponding element in the partial dependency level tensor of the associated design node to obtain the synchronization weight value; The synchronization instruction is generated based on the synchronization weight value. The synchronization instruction includes an identifier field for the associated design node and a synchronization execution priority field.

4. The BIM-based collaborative design method for architectural decoration engineering according to claim 1, characterized in that, The step of updating the model data of the affected design nodes in the distributed graph structure according to the synchronization instruction includes: Parse the synchronization execution priority field in the synchronization instruction, and select the design nodes to be updated in descending order of the synchronization execution priority field; Based on the activation timestamp in the lifecycle identifier of the affected design node, calculate the time interval between the current time point and the activation timestamp, and use the difference between the time interval and the preset time threshold as the update trigger parameter. When the update trigger parameter is less than zero, the change record file of the design node that has been changed is obtained, and the change information in the change record file is mapped to the model data of the affected design node.

5. The BIM-based collaborative design method for architectural decoration engineering according to claim 4, characterized in that, The step of mapping the change information in the change log file to the model data of the affected design node includes: Parse the change record file to extract the component identification field and the corresponding spatial position offset vector and geometric shape change parameters; In the model data of the affected design nodes, the target component object is located based on the component identification field; The spatial position offset vector is applied to the position coordinates of the target component object, and the geometric shape change parameters are applied to the geometric topology of the target component object, wherein the geometric topology includes a set of vertex coordinates and a set of edge connection relationships.

6. The BIM-based collaborative design method for architectural decoration engineering according to claim 4, characterized in that, The method further includes a redundant data filtering step, which is performed before mapping the change information in the change log file to the model data of the affected design node, including: Obtain all change log files for the model data of the changed design nodes within a preset time window, and generate a list of change log files; Each change record file in the change record file list is linearized and encoded, wherein the linearization encoding is the result of concatenating the component identifier field with the change timestamp string; Using the linearized encoding as the key and the content of the change record file as the value, a hash table is constructed; Traverse the hash table, and when multiple values ​​are found to correspond to the same key, keep the value with the latest timestamp and delete the others.

7. The BIM-based collaborative design method for architectural decoration engineering according to claim 4, characterized in that, The preset time threshold is dynamically adjusted based on the maximum value in the partial dependency level tensor of the affected design node; the larger the maximum value, the smaller the preset time threshold.

8. The BIM-based collaborative design method for architectural decoration engineering according to claim 6, characterized in that, The key in the linearized encoding also includes a design node identifier field, used to distinguish change records of different design nodes.

Citation Information

Patent Citations

  • Building information multidimensional semantic space and time-space two-way projection mapping method

    CN122197150A

  • Construction project digital design method based on BIM (Building Information Modeling) and data collaboration

    CN122286899A