BIM-based metal roof construction optimization system
By extracting the node normal features and optimizing the assembly path of metal roofing panels, the problem of insufficient node normal information analysis in traditional BIM systems is solved, enabling precise assembly and dynamic simulation verification of metal roofing construction, and improving the accuracy and efficiency of construction.
Patent Information
- Application Number
- CN202510734161.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-06-04
AI Technical Summary
Traditional BIM-based metal roofing construction systems lack in-depth modeling capabilities in terms of node normal information analysis and curvature perception of component contact surfaces. This leads to contact errors during assembly, making it difficult to achieve precise component positioning and path reproduction, thus affecting construction progress and accuracy.
The system employs a node normal feature extraction module, a contact area fitting and modeling module, an assembly path error analysis module, and an assembly path optimization and sorting module. By systematically extracting and calculating the spatial information and normal vectors of the metal roof panel grid nodes, it identifies curvature change trends, optimizes the assembly path, and generates a simulation feedback dataset.
It enables precise identification and optimization of metal roof panel assembly, avoiding deviations caused by idealized contact assumptions in traditional methods. It supports visual verification of component positioning and dynamic verification of construction paths, improving construction accuracy and efficiency.
Smart Images

Figure CN120579692B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of construction simulation technology, and in particular to a BIM-based construction optimization system for metal roofing. Background Technology
[0002] The field of construction simulation technology encompasses technical methods for simulating, analyzing, and optimizing building construction processes based on digital modeling and information technology. By constructing a three-dimensional model and time logic of the construction object, it enables the visualization and data-driven management of construction progress, resource allocation, work paths, and construction sequences.
[0003] Among them, the BIM-based metal roofing construction optimization system refers to a system that uses building information modeling technology to digitally model and integrate information such as component details, construction sequence, installation location, and work process involved in the construction of metal roofing. Addressing technical issues such as metal roofing panel layout path planning, component assembly logic sequence, construction environment constraints, and construction machinery movement path design, it forms an information integration and optimization process covering the entire process from design to construction by constructing accurate three-dimensional geometric models, establishing component positioning reference rules, and setting construction process time nodes and machinery movement coordinates.
[0004] Traditional BIM-based metal roofing construction systems typically remain at the level of static integration of component information and process nodes. They lack in-depth modeling capabilities in node normal information analysis and curvature perception of component contact surfaces, leading to contact errors during actual assembly that cannot be predicted in advance. In node orientation analysis, conventional methods rely solely on basic topological relationships and location data, lacking precise identification of the continuity of directional differences and the trend of angle changes. This results in high-curvature areas not being accurately extracted during the modeling stage, thus reducing the fitting accuracy of the mating surfaces. Assembly path arrangement also commonly employs manual experience-based sequencing or simple linear processes, failing to statistically model the attitude change trends between path segments, making it difficult to coordinate and optimize the assembly sequence and spatial errors. During the on-site execution phase, the lack of retrofitting the assembly path to component family parameters hinders dynamic simulation verification of components before construction, thus affecting positioning accuracy and path reproduction. For example, in complex roof junction areas, improper handling of the assembly sequence of multiple components often leads to insufficient installation space for subsequent components or path conflicts, affecting construction progress and accuracy control. Summary of the Invention
[0005] The purpose of this invention is to address the shortcomings of existing technologies by proposing a BIM-based optimization system for metal roof construction.
[0006] To achieve the above objectives, the present invention adopts the following technical solution: a BIM-based metal roofing construction optimization system, the system comprising a node normal feature extraction module, a contact area fitting modeling module, an assembly path error analysis module, and an assembly path optimization and sorting module;
[0007] The node normal feature extraction module obtains the spatial information of the metal roof panel grid nodes in the BIM component family model, and performs direction difference calculation on the node normal vectors to construct a set of node normal differences;
[0008] The contact area fitting and modeling module performs assembly contact area identification on the set of node normal differences, and performs local curvature offset fitting on the contact surface of the contact area, outputting the contact area curvature offset fitting data set;
[0009] The assembly path error analysis module constructs a metal roof panel assembly path set by fitting the contact area curvature offset data set, and performs spatial offset error calculation of the path set to obtain the assembly path error set.
[0010] The assembly path optimization and sorting module filters the roof splicing panel groups through the assembly path error set, performs optimization sorting on the assembly path nodes, and outputs the optimized path panel index group.
[0011] The present invention is improved in that the node normal difference set includes a node spatial coordinate set, normal vector direction difference pairs, and direction angle cosine values; the contact area curvature offset fitting data set includes a fitted contact surface coordinate surface, a node direction offset set, and a fitted residual distribution layer; the assembly path error set includes a path segment spatial offset value set, an assembly surface normal angle set, and a path segment assembly node index; and the optimized path plate index set specifically includes a component number sequence, an assembly order set, and a path preferred node set.
[0012] The present invention is improved in that the node normal feature extraction module includes: a component family node acquisition submodule, a node direction angle calculation submodule, and a local curvature recognition submodule;
[0013] The component family node acquisition submodule acquires metal roof panel block instances in the BIM component family, collects the spatial coordinates and unit normal vectors of all roof panel block grid nodes, constructs a node index sequence based on the topological arrangement order of nodes in the patch network, and generates a set of node positions and directions.
[0014] The node orientation angle calculation submodule calculates the cosine of the angle between the normal vectors of any set of consecutively indexed adjacent nodes based on the set of node positions and orientations, filters out node pairs whose orientation changes exceed the change threshold, and generates node orientation difference mapping data.
[0015] The local curvature recognition submodule calculates the overall variation of the normal vector in the neighborhood of the node in the triangular facet formed by the offset node pairs based on the node direction difference mapping data, extracts the node group with continuous normal change trend as the curvature significant region, and generates a node normal difference set.
[0016] The present invention is improved in that the contact area fitting modeling module includes: a contact surface node identification submodule, a direction offset fitting submodule, and a spline surface generation submodule;
[0017] The contact surface node identification submodule retrieves the topological relationship of the node index pairs with significant directional differences in the node normal difference set, extracts the plate docking region formed by continuous plates, and generates a docking region plate index set.
[0018] The orientation offset fitting submodule determines whether there is a continuous offset trend in the normal direction between nodes in each patch based on the patch index set of the docking area, and performs curvature direction fitting on the main vector of orientation change to generate the orientation offset feature structure of the contact area.
[0019] The spline surface generation submodule, based on the contact area direction offset feature structure, inputs the three-dimensional spatial position of the node and the corresponding direction offset into the surface fitting function, performs spline surface interpolation operation on the spatial point cloud constituting the patch set, and generates a contact area curvature offset fitting data set.
[0020] The present invention is improved in that the assembly path error analysis module includes: a contact path construction submodule, an attitude parameter extraction submodule, and an assembly offset judgment submodule;
[0021] The contact path construction submodule obtains the spatial coordinates and normal directions of each node in the fitted patch of the contact area curvature offset fitting data group, extracts the node chains with continuous connection relationship according to the node index order, and combines them in sequence to form a contact path line segment sequence, generating an assembled node path set.
[0022] The attitude parameter extraction submodule calls the assembly node path set, calculates the average normal direction of the nodes in each path segment and the spatial displacement vector between the first and last nodes, and combines the displacement value and the direction vector into an attitude parameter structure to generate the assembly path attitude parameter set.
[0023] The assembly offset judgment submodule uses the RANSAC random sampling consensus algorithm to determine the direction difference of each path segment and the projection residual of the overall sample based on the assembly path attitude parameter set. It extracts the error distribution range for path segments whose deviation trend exceeds the consensus threshold and generates an assembly path error set.
[0024] The present invention is improved in that the assembly path optimization and sorting module includes: a path segment filtering submodule, a node structure extraction submodule, and a path sequence sorting submodule;
[0025] The path segment filtering submodule extracts the directional offset and node spatial offset of the path segments in the assembly path error set, determines whether the offset and spatial error are simultaneously within the error interval, establishes a corresponding index identifier sequence, and generates a path segment filtering index set.
[0026] The node structure extraction submodule calls the three-dimensional coordinate data of the nodes in the path segment corresponding to the path segment filtering index set, establishes the topological order relationship of the nodes in space, and generates the assembled path node structure set.
[0027] The path sequence sorting submodule obtains the start and end node pairs of continuous path segments based on the assembled path node structure set, establishes a path segment connection graph in the path graph structure, and inputs it into the K-shortest path algorithm to perform a sorting operation on the path segment arrangement sequence, generating an optimized path block index group.
[0028] The present invention is improved by further including a parameter remapping and simulation back-substitution module, which performs component family parameter remapping on the optimized path block index group in the BIM model and performs node-level dynamic back-substitution on the three-dimensional scene to obtain a construction simulation feedback dataset.
[0029] The construction simulation feedback dataset includes the spatial location nodes after back-substitution, the updated component family parameter group, and the construction path status record table.
[0030] The present invention is improved in that the parameter remapping and simulation back-substitution module includes: a parameter remapping submodule, an attitude update submodule, and a back-substitution feedback generation submodule;
[0031] The parameter remapping submodule extracts the component ID, family category and face number of each group of blocks based on the optimized path block index group, calls the parameter field structure in the BIM component family instance, and establishes a component family parameter mapping dataset according to the relationship between the index and the component instance.
[0032] The attitude update submodule calls the component family parameter mapping dataset to identify the positioning coordinates of the splicing boundary nodes in the path segment and the reference position corresponding to the current family parameter, and adjusts the attitude vector and coordinate value of each splicing segment node to generate a node attitude change sequence.
[0033] The back-substitution feedback generation submodule records the position and orientation data of the nodes before and after the state change in the BIM 3D scene according to the node posture change sequence, extracts the state switching path and change magnitude, and generates a construction simulation feedback dataset.
[0034] Compared with the prior art, the advantages and positive effects of the present invention are as follows:
[0035] In this invention, by systematically extracting the spatial information and directional difference of the normal vector of the metal roof panel grid nodes and calculating the angle cosine, the set of nodes with obvious directional change trends is accurately identified, achieving high-resolution curvature change perception capability when constructing the connection relationship of the panels. Combining the local normal direction change trend of the contact surface in the docking area, spline surface interpolation is performed using continuous spatial point clouds to obtain the curvature offset trend, thereby grasping the true contact morphology between components before assembly and effectively avoiding the deviation caused by idealized contact assumptions in traditional methods. The node attitude and spatial displacement are combined to form a path segment attitude parameter structure, and consistency judgment is used to screen the assembly error trend, achieving spatial hierarchical perception of component splicing errors. A path graph structure is constructed through the path segment connection relationship, and a graph algorithm is used to optimize the assembly sequence, making the component assembly more consistent with the actual construction trajectory and mechanical coordination. In the final output, the optimized path is substituted back into the component family parameters and the 3D scene to generate simulation feedback information, supporting the visual verification of component positioning and dynamic verification of the construction path. Attached Figure Description
[0036] Figure 1 This is a system module diagram of the present invention;
[0037] Figure 2 This is a system framework diagram of the present invention;
[0038] Figure 3 This is a schematic diagram of the node normal feature extraction module of the present invention;
[0039] Figure 4 This is a schematic diagram of the contact area fitting and modeling module of the present invention;
[0040] Figure 5 This is a schematic diagram of the assembly path error analysis module of the present invention;
[0041] Figure 6 This is a schematic diagram of the assembly path optimization and sorting module of the present invention;
[0042] Figure 7 This is a schematic diagram of the parameter remapping and simulation back-substitution module of the present invention. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0044] In the description of this invention, it should be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention. In addition, in the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0045] Please see Figure 1 The present invention provides a technical solution: a BIM-based metal roof construction optimization system, the system including a node normal feature extraction module, a contact area fitting modeling module, an assembly path error analysis module, and an assembly path optimization and sorting module;
[0046] The node normal feature extraction module obtains the spatial information of the metal roof panel grid nodes in the BIM component family model, and performs direction difference calculation on the node normal vectors to construct a set of node normal differences;
[0047] The contact area fitting and modeling module performs contact area identification by assembling the set of node normal differences, and performs local curvature offset fitting on the contact surface of the contact area, outputting the contact area curvature offset fitting data set;
[0048] The assembly path error analysis module constructs a set of assembly paths for metal roofing panels by fitting data groups of contact area curvature offset, and performs spatial offset error calculation of the path set to obtain the assembly path error set.
[0049] The assembly path optimization and sorting module filters the roof splicing panel groups through the assembly path error set, performs optimization sorting on the assembly path nodes, and outputs the optimized path panel index group;
[0050] The node normal difference set includes the node spatial coordinate set, normal vector direction difference pairs, and direction angle cosine value. The contact area curvature offset fitting data set includes the fitted contact surface coordinate surface, node direction offset set, and fitting residual distribution layer. The assembly path error set includes the path segment spatial offset value set, assembly surface normal angle set, and path segment assembly node index. The optimized path block index set specifically includes the component number sequence, assembly sequence set, and path optimization node set.
[0051] Please see Figure 2 and Figure 3 The node normal feature extraction module includes: a component family node acquisition submodule, a node direction angle calculation submodule, and a local curvature recognition submodule;
[0052] The component family node acquisition submodule acquires metal roof panel block instances in the BIM component family, collects the spatial coordinates and unit normal vectors of all roof panel block grid nodes, constructs a node index sequence based on the topological arrangement order of nodes in the patch network, and generates a set of node positions and directions.
[0053] To obtain metal roof panel instances from a BIM component family, first load the project model into a BIM modeling platform such as Revit or Tekla. Filter the component family as "Metal Roof Panel," identify metal panels with specific type codes (e.g., "MRP_001") through family attributes, and extract all mesh node information of the constituent panels based on their geometric model using API interfaces. Read the spatial coordinates (e.g., points) of the three vertices of each triangular panel. , , ), calculate the corresponding unit normal vector based on these three coordinates. The calculation formula is as follows:
[0054] ;
[0055] in: : These represent the three-dimensional spatial coordinate vectors of the three vertices of the triangular facet. : Represents the magnitude of a vector (i.e., the Euclidean norm of the vector). : is the unit normal vector.
[0056] The node coordinates and normal vector of each facet are stored in a set. Then, a node index sequence is constructed based on the connection relationships (topological order) between the faces. If node 1 and node 2 form an edge, and then node 1 and node 3 form triangle face 1, and node 2, node 3, and node 4 form face 2, then the index sequence is as follows: Store as The process involves performing topological consistency checks on the legality of node connections. For example, it ensures that adjacent triangular faces share two nodes and that no faces overlap or intersect. If a node, such as node 5, does not meet the rules in its connection method, it should be excluded from the set, ultimately resulting in a complete set of node positions and orientations. Its structure includes the spatial coordinates and unit normal vector of each node.
[0057] The node orientation angle calculation submodule calculates the cosine of the angle between the normal vectors of any set of consecutively indexed adjacent nodes based on the node position and orientation set, filters out node pairs whose orientation changes exceed the change threshold, and generates node orientation difference mapping data.
[0058] based on The record contains the spatial location and unit normal vector of each node. For each pair of adjacent nodes, the index is... and The nodes are extracted, and their unit normal vectors are respectively and Calculate the cosine of the angle between their directions. The formula is as follows:
[0059] ;
[0060] in: : Indicates that the node index is The unit normal vector at the node, : Indicates that the node index is The unit normal vector of adjacent nodes, : indicates the first The cosine of the angle between the normal vectors of a node and its next node.
[0061] Example: Let , .
[0062] Then its dot product is: The corresponding angle is The threshold for direction change is set as follows. ,when At that time, it is considered that there is a significant directional change in the node pair. Traverse all node pairs and execute... Calculation ( (Total number of nodes), record all node pairs that satisfy the conditions and their included angle values as a set. ,Right now: For example, when: , .but and Two pairs of nodes are marked as nodes with significant changes in normal direction.
[0063] The local curvature recognition submodule calculates the overall variation of the normal vector in the neighborhood of the node in the triangular facet formed by the offset node pairs based on the node orientation difference mapping data, extracts the node group with continuous normal change trend as the curvature significant region, and generates a set of node normal difference values.
[0064] use All records in the middle satisfy The node pairs, combined with their topologically adjacent nodes (such as indexes) Constructing triangular facets Extract the unit normal vectors of the three nodes that make up the triangle. The overall degree of variation was calculated and evaluated using the variance index of the cosine of the angle between the normal vectors.
[0065] ;
[0066] in: , , , : is the mean cosine value, : The variance of the cosine of the angle between the normals of the three nodes, used to measure the consistency of the normals;
[0067] Example: If , , Then we have: , , .
[0068] The average value is: .
[0069] Calculate the variance: Set a threshold for determining directional consistency. ,like If so, the triangular piece is determined to be a region of continuous local normal trend. All nodes within these regions are collected to form a curvature continuous region node set. And record the normal differences between all the nodes it contains as a set. ,like: ,in The cosine of the angle between nodes 5 and 6 is 0.97, reflecting the variation in the orientation of the local patch. The final result is a set of normal differences that contain a continuous trend of change.
[0070] Please see Figure 2 and Figure 4 The contact area fitting modeling module includes: a contact surface node identification submodule, a direction offset fitting submodule, and a spline surface generation submodule;
[0071] The contact surface node identification submodule retrieves the topological relationship of the index pairs of nodes with significant directional differences in the node normal difference set, extracts the plate docking region formed by continuous plates, and generates a set of docking region plate indexes.
[0072] To retrieve the topological relationships of nodes with significant directional differences in the set of node normal differences within the patch network, it is necessary to first number all nodes in the 3D model and extract the normal vector of each node. For each pair of adjacent nodes Calculate its normal difference. This is stored in a set of directional differences, and a threshold is set to identify "significant" differences. ,like ,when The node pair is marked as a significant directional difference index pair, and then based on the node index pair (e.g., node pair) Tracing its location within the triangular mesh, such as the patch structure. and Using this as the starting face, we expand outwards through shared edge relationships, searching for adjacent faces with continuously significant differences in direction. If this forms a set of topologically connected faces... If there are 10 faces, they are considered as the plate docking area. Then, the entire grid is traversed to extract the set of all faces that meet the conditions. This forms the total set of patch indices. For example, in a gear meshing area scanning scenario, the above method is used to identify a continuous set of patch indices formed by the mating surface boundaries caused by tooth surface offset.
[0073] The orientation offset fitting submodule determines whether there is a continuous offset trend in the normal direction between nodes in each patch based on the patch index set of the docking area, and performs curvature direction fitting on the main vector of orientation change to generate the orientation offset feature structure of the contact area.
[0074] Based on the set of patch indices in the docking region, determine whether there is a continuous offset trend in the normal direction between nodes within each patch. Specifically, for each patch... Extract the normal vectors of its three vertices Calculate the normal difference respectively , , If at least two sets of normal differences show a continuous increase or decrease (e.g., If the surface has a normal offset trend, then the normal vector sequence of the surface matching the trend is extracted by traversing all surfaces. The principal offset direction vector is then calculated using principal component analysis (PCA). Let this principal direction be the main axis of the normal variation in the contact area. Then, use the curvature direction fitting method to perform interpolation analysis along this principal axis to generate the direction offset feature structure. This includes the principal direction vectors of each facet. Fitting residuals Offset angle In practical applications, such as for the pressing area of a mold with sloping wear, the direction of the main vector of change is identified by analyzing the sequence of changes in the normal of the surface patches, and then the offset trend structure of the region is constructed for subsequent fitting.
[0075] The spline surface generation submodule is based on the contact area direction offset feature structure. It inputs the three-dimensional spatial position of the node and the corresponding direction offset into the surface fitting function, performs spline surface interpolation operation on the spatial point cloud that constitutes the patch set, and generates the contact area curvature offset fitting data set.
[0076] Based on the contact area directional offset feature structure, the three-dimensional spatial position of the input node and its corresponding directional offset are incorporated into the fitting function. First, each node in the contact area is assumed to be... Each node Represented as a triple ,in These are the projected coordinates of the node in a two-dimensional plane, in millimeters (mm). The offset is the angle between the node normal and the principal offset vector, expressed in radians (rad), used to describe the spatial directional offset trend. Assuming the node offset values vary smoothly with planar position, the following cubic spline surface function is constructed for global fitting:
[0077] ;
[0078] in, In two-dimensional coordinates The established direction offset fitting function outputs the direction offset angle (unit: rad), which is a cubic bivariate polynomial function. The highest polynomial order of the fitted function is defined as follows: , indicating the presence of cubic terms; used to control the accuracy and complexity of function fitting. The first in the fitting function line, number The polynomial coefficients of the column are real numbers, dimensionless, and total [number missing]. The solution is obtained by using the least squares method. In polynomial functions, the variables and The order subscript, , an integer. : For all By combining and summing, a cubic bivariate polynomial expansion is generated.
[0079] in That is, the fitting function contains at most coefficients ,function Used to estimate the directional offset at any position on a plane. , will the known Coordinates and offsets of each sample point Substitute the functions to construct a system of equations. Construct the residual function using the least squares method as the core:
[0080] ;
[0081] in, : No. The residual value of each node represents the error between the calculated value of the fitting function at that node's coordinates and the actual offset, expressed in radians (rad). . The total sum of squared errors, the objective function for optimization, is defined as the sum of squared residuals of all nodes. It is used to solve the least squares problem for the coefficients of the fitting function. The total number of nodes involved in the fitting process must satisfy the following condition: This satisfies the minimum dimension requirement for solving linear systems.
[0082] The goal is to minimize the sum of squared residuals:
[0083] ;
[0084] To simplify the process, only nodes are used. and Taking this as an example, let's assume... , Then after unfolding for:
[0085] .
[0086] Will of , Substituting into the above equation, we obtain the row vector of the coefficient matrix for this node as follows:
[0087] The constant term is , one item , , quadratic term , , , , cubic term , , , , , These values are written as a row vector, corresponding to a coefficient matrix. The first line has a length of 16. The predicted offset of this node is... The equation is formed as follows: ,in It is a 16-dimensional vector composed of the above values. It is a vector of unknown coefficients. .
[0088] Similarly, for nodes Substitution , Its expansion is: a first-order term quadratic term , , , , cubic term , , , , , Finally, substituting the values, we get the equation: , construct all A matrix is formed by similar expressions of the nodes. , and the corresponding column vector of observations The fitting coefficient vector is obtained by solving the normal equation. : ,in, : Composed of the polynomial expansion values of all nodes The coefficient matrix, with each row representing the polynomial combination value of the corresponding node. The 16-dimensional coefficient vector to be determined , where represents the weight of each term in the fitted function. : Observation column vector, containing the measured directional offset values for each node. . :matrix The transpose of . The coefficient matrix on the left-hand side of the normal equation is used to construct the least squares solution. The inverse of the coefficient matrix is used to solve the linear system in the analytical solution. The result vector on the right side of the normal equation. This ultimately yields the complete fitted function. This function can be applied to nodes at any position, such as Perform prediction and calculate direction offset value. Next, the principal curvature at that point is calculated, and the curvature expression is estimated using the second derivative, for example: .in, :direction The principal curvature value represents the degree of local curvature of the fitted surface in that direction, expressed in radians per square millimeter (rad / mm²). :direction The principal curvature values are expressed in rad / mm². Fitting function pair The second partial derivative in the direction is calculated using the following formula:
[0089] Similarly, express The second-order partial derivatives in the direction are used to calculate Substitute , By combining the fitting coefficient values, the principal curvature can be obtained. and For example, estimated , If the difference A value close to or exceeding 0.01 indicates a significant curvature change near the point, and the node can be added to the offset clustering region structure set. Finally, all fitting results are organized into a data structure. ,in: : is the fitted function at point The predicted direction offset value; : for nodes The principal curvature values of the fitted surface (generally can be taken as follows) This is used to generate a visual analysis map of directional offset and a curvature heat map, providing a basis for subsequent geometric reconstruction processing.
[0090] Please see Figure 2 and Figure 5 The assembly path error analysis module includes: a contact path construction submodule, an attitude parameter extraction submodule, and an assembly offset judgment submodule;
[0091] The contact path construction submodule obtains the spatial coordinates and normal directions of each node in the fitted patch of the contact area curvature offset fitting data group, extracts the node chains with continuous connection relationship according to the node index order, and combines them in sequence to form a contact path line segment sequence, generating an assembled node path set.
[0092] Obtain the spatial coordinates and normal directions of each node in the fitted patch of the contact area curvature offset fitting data set. Export the triangular mesh model of the contact fitting area from the BIM system or point cloud modeling, and extract the coordinates of the three vertices of each triangular patch. With unit normal vector ,in They represent the first Each node moves along the three-dimensional space. , , The coordinate values of the axis. This represents the unit normal vector (3D direction vector, magnitude 1) at the node. The nodes are arranged in topological index order to form a chain of nodes with continuous connections. That is, if the node number is... Then the node must satisfy and Adjacent, and Adjacent and non-repeating closed-loop structures are constructed, with line segments connecting each pair of adjacent nodes. ,in Indicates the first The position vectors of each node. Indicates from the first The node to the first The path vectors of each node are sequentially connected to form a path sequence. The sequence satisfies the path continuity condition, meaning the end point of each path segment equals the start point of the next path segment, and this is combined with the normal direction. and Synchronous storage as By traversing the node index relationships of each facet and calling the topological adjacency list to perform path closure detection and duplicate segment removal, for example, if there are 50 fitted faces in a certain contact region, each facet consisting of 3 nodes with a total of 150 index points, after removing duplicates, a contact path chain containing 40 nodes can be extracted, and finally, a set of assembled node paths can be constructed. .
[0093] The attitude parameter extraction submodule calls the assembly node path set, calculates the average normal direction of the nodes in each path segment and the spatial displacement vector between the first and last nodes, and combines the displacement value and the direction vector into an attitude parameter structure to generate the assembly path attitude parameter set.
[0094] Call the assembled node path set and retrieve nodes from each path segment. to normal vector subscript Indicates the index of the starting node of the current path segment. The index of the endpoint of the path segment represents the unit normal direction of the first and last points of the path segment, respectively. The average normal direction of the path segment is calculated as follows:
[0095] ;
[0096] in, Represents path segment The average normal direction vector is then used to extract the spatial coordinates of the first and last nodes. , Let and represent the start and end position vectors of this path segment, respectively. The spatial displacement vector is calculated as follows:
[0097] ;
[0098] in , , Indicates in , , The displacement components along the three axes are ultimately combined to form the attitude parameter structure for this segment:
[0099] If the path contains If there are nodes, then it can be calculated that For each path segment, perform the above operation to obtain the attitude parameter set. For example: Let... , ,but ,set up , Then there is The attitude parameters are:
[0100] The final set of attitudes for all path segments constitutes the assembled path attitude parameter set. .
[0101] The assembly offset judgment submodule uses the RANSAC random sampling consensus algorithm to judge the direction difference of each path segment and the projection residual of the overall sample based on the assembly path attitude parameter set. It extracts the error distribution range for path segments whose deviation trend exceeds the consensus threshold and generates an assembly path error set.
[0102] Based on attitude parameter set The attitude direction vector for each path segment To determine consistency, the RANSAC (Random Sample Consensus Algorithm) method is used to select the smallest sample set to fit the principal direction. ,in Indicates the path segment index. Indicates the first The displacement direction vector of the path segment. This represents the fitted global trend direction vector, and its projection residual is calculated for each path segment. The calculation formula is as follows:
[0103] ;
[0104] in, : No. Segment path direction vector, in mm. The fitted main trend direction vector, in mm. : The magnitude of the principal direction vector, in mm. Path segment The residual between the main direction and the principal direction, in mm. Set a consistency error threshold. ,like If the path segment deviates from the trend direction, additional improvement parameters are introduced. This represents the required percentage of points within the RANSAC model, typically set to [value]. This means that at least 50% of the paths must meet the following conditions. Only accept the fitted result if it is found; otherwise, resampling is required. If the total number of path segments is 100, at least 50 path segments must satisfy the residual condition. Example calculation is as follows: If... , ,but ,like , Then calculate the cosine projection and subtract it to get the residual. ,like The residuals are calculated as follows: The consistency threshold condition is not met. All The path segment numbers are summarized to form the assembly path error set: ,For example: This indicates that there is an assembly offset in path segments 5, 8, and 17, and this set serves as the basis for subsequent error analysis.
[0105] Please see Figure 2 and Figure 6 The assembly path optimization and sorting module includes: a path segment filtering submodule, a node structure extraction submodule, and a path sequence sorting submodule;
[0106] The path segment filtering submodule extracts the directional offset and node spatial offset values of the path segments in the assembly path error set, determines whether the offset and spatial error are simultaneously within the error interval, establishes the corresponding index identifier sequence, and generates a path segment filtering index set.
[0107] Extract the directional offset and node spatial offset values of the path segments in the assembly path error set. When obtaining the directional offset of the path segment, first extract the three-dimensional coordinates of the start and end points of the path segment. Let the path segment number be... The starting coordinates are The endpoint coordinates are The path segment direction vector is denoted as: ,in: : No. Direction vector of path segment : Three-dimensional coordinate components of the starting point of the path segment The three-dimensional coordinate components of the path segment's endpoint. The direction offset is defined as the path segment's direction vector. With theoretical direction vector The included angle, the formula for calculating the included angle is: ,in: Path segment The directional offset angle (in degrees).
[0108] Assume the reference direction vector is If the path segment direction vector is Then its directional offset angle is: Spatial offset calculation requires comparing the coordinate differences between the actual node and the reference node. Let the coordinates of the reference node be... The actual node coordinates are Then the spatial offset is:
[0109] ,in: Path segment The three-dimensional spatial offset corresponding to the starting point, with all coordinate values in millimeters (mm). For example... , ,but: The judgment condition is: if and If the path segment is valid, then the identifier index sequence is established as follows: The combination yields a set of path segment filtering indexes.
[0110] The node structure extraction submodule calls the three-dimensional coordinate data of the nodes in the path segment corresponding to the path segment filtering index set, establishes the topological order relationship of the nodes in space, and generates the assembled path node structure set.
[0111] The function calls the path segment filter to retrieve the 3D coordinate data of nodes within the corresponding path segments of the path segment index set. Let the filtered path segment set be... Each path segment It contains two nodes: the starting point and the starting point. and the finish line First, iterate through all path segments in the collection, calling their start and end nodes one by one and extracting their 3D coordinates, such as:
[0112] , After removing duplicate nodes, a node set is formed. Establishing the topological order relationship between nodes requires combining the path segment connection structure to construct a directed graph. ,in: Node set : A set of edges connecting path segments, in the form of Use adjacency matrix Indicates connection status:
[0113] ;
[0114] If the node set is The connecting path segment is: Then the adjacency matrix is:
[0115] ;
[0116] The sequence of node topology is determined using graph traversal algorithms (such as topological sorting), for example... This is applicable to the sequential control of each connecting component during assembly. For example, a spatial node is... Its structure can be described as: node vector: Node vectors: This structure generates a set of assembly path node structures.
[0117] The path sequence sorting submodule obtains the start and end node pairs of continuous path segments based on the assembled path node structure set, establishes a path segment connection graph in the path graph structure, and inputs it into the K-shortest path algorithm to perform a sorting operation on the path segment arrangement sequence, generating an optimized path block index group.
[0118] Based on the assembled path node structure set, extract the start and end node pairs of continuous path segments. Let the set of path segments be... Each path segment is defined as a triple: ,in:
[0119] Path segment start and end nodes : Constructing a connection graph based on the path segment value (comprehensive deviation) , For a set of nodes, As an edge set, all path segment connections are imported into an adjacency list structure and used as input to the graph. A K-shortest path algorithm (such as Yen's algorithm) is used to find the K shortest paths from the starting node to the ending node. For path sorting, a weight value needs to be assigned to each path segment. This value is composed of the path segment directional offset angle and the spatial offset distance: ,in: Path segment Angular offset, in degrees Path segment Spatial offset values at both ends of the node, in millimeters or normalized values. For example, the path segment data is: : ,but , : ,but If the path combination is The total cost is: The K-shortest path algorithm traverses all possible path combinations in the graph, calculates their total cost, sorts them, and finally outputs the path with the minimum cost. Group path index, such as: Group_1: Group_2: Each combination constitutes an optimized path module index group, which is used for subsequent path map generation or assembly sequence sorting.
[0120] Please see Figure 2and Figure 7 It also includes a parameter remapping and simulation back-substitution module. The parameter remapping and simulation back-substitution module will optimize the path block index group, perform component family parameter remapping in the BIM model, and perform node-level dynamic back-substitution of the 3D scene to obtain the construction simulation feedback dataset.
[0121] The construction simulation feedback dataset includes the spatial location nodes after back-substitution, the updated component family parameter group, and the construction path status record table;
[0122] The parameter remapping and simulation back-substitution module includes: a parameter remapping submodule, an attitude update submodule, and a back-substitution feedback generation submodule;
[0123] The parameter remapping submodule is based on the optimized path block index group. It extracts the component ID, family category and patch number of each block group, calls the parameter field structure in the BIM component family instance, and establishes the component family parameter mapping dataset according to the relationship between the index and the component instance.
[0124] Based on the optimized path panel index group, the system first traverses the index information of each panel group, parses the unique number of the corresponding component through the path record file, and extracts the family category to which the component belongs and the list of facet numbers it contains. In Revit or IFC data structures, the family instance structure typically includes component identifier, family category, and parameter fields. For example, a component ID is "G1248", its family category is "Wall", and its parameter fields may include "Type Name", "Material", "Thickness", "Height", etc. After the system determines which geometric elements the component specifically involves through the facet numbers, it calls the structure... The XML or JSON format parameter table of the component family is used to extract all parameter fields of the component. By establishing an index mapping relationship, the panel index is bound to the family instance. For example, the 5th panel in the path is mapped to the "Wall" family of component "G1248". Then, the data fields of "Material" as "Concrete C30" and "Thickness" as "200mm" in the parameter table of "G1248" are written into the structured dictionary. By traversing all panel groups in the path segment in this way, a set of component family parameter mapping dataset containing family ID, component number, and the correspondence between family field name and field value is finally generated.
[0125] The attitude update submodule calls the component family parameter mapping dataset, identifies the positioning coordinates of the splicing boundary nodes in the path segment and the reference position corresponding to the current family parameter, adjusts the attitude vector and coordinate value of each splicing segment node, and generates a node attitude change sequence.
[0126] The component family parameter mapping dataset is called to process the splicing boundary nodes in the path segment. First, the first and last splicing nodes in each path segment are identified. The positioning coordinates of these nodes in the global coordinate system are obtained through the spatial index file. Then, the component reference position field in the family parameters is compared with the positioning point parameter of a certain type of "precast slab" in the family, which is "insertion point at the center of the bottom surface". Spatial transformation is performed on the positional difference between the current coordinates of the node and the target reference point. The attitude vector and position displacement of the node should be adjusted by solving the rotation and translation vectors. If the current attitude of the node is represented as "x-axis facing east, tilt angle of 10 degrees", while the component family defines the assembly of this segment as "horizontal attitude", then the tilt angle is adjusted to 0 degrees and the attitude vector direction is updated. After batch processing of all splicing nodes, a node attitude change sequence is generated. Each data record in this sequence contains information such as node number, original position, target position, original attitude, target attitude, and offset, and is numbered and sorted according to the path segment order.
[0127] The back-substitution feedback generation submodule records the position and orientation data of the nodes before and after the state change in the BIM 3D scene according to the node posture change sequence, extracts the state switching path and change magnitude, and generates a construction simulation feedback dataset.
[0128] Based on the node attitude change sequence, the state recording operation is completed in the BIM 3D scene. First, the spatial position and orientation data of each node in the original state are locked in the 3D model environment, including the position 3D coordinates and attitude quadruples or Euler angles. Then, the current state is updated according to the adjustment value in the change sequence, and the difference data before and after is recorded. Then, all nodes are traversed to extract the state change path of each node. For example, if a node moves from position A to position B and the rotation angle changes from 15 degrees to 0 degrees, its path is defined as "node N, from A to B, attitude change Δ15 degrees". The change amplitude is calculated, and the displacement and rotation angle difference are obtained by using the 3D vector difference method. These change paths are clustered according to the component affiliation to generate the state change groups of sub-components. Finally, they are summarized to form the total construction simulation feedback dataset. This dataset contains component ID, node number, original state, updated state, change path and value information, which are used for model updates and construction visual comparison in the subsequent construction simulation process.
[0129] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A BIM-based metal roofing construction optimization system, characterized in that: The system includes a node normal feature extraction module, a contact area fitting and modeling module, an assembly path error analysis module, and an assembly path optimization and sorting module. The node normal feature extraction module obtains the spatial information of the metal roof panel grid nodes in the BIM component family model, and performs direction difference calculation on the node normal vectors to construct a set of node normal differences; The contact area fitting and modeling module performs assembly contact area identification on the set of node normal differences, and performs local curvature offset fitting on the contact surface of the contact area, outputting the contact area curvature offset fitting data set; The contact area fitting and modeling module includes: a contact surface node identification submodule, a direction offset fitting submodule, and a spline surface generation submodule; The contact surface node identification submodule retrieves the topological relationship of the node index pairs with significant directional differences in the node normal difference set, extracts the plate docking region formed by continuous plates, and generates a docking region plate index set. The orientation offset fitting submodule determines whether there is a continuous offset trend in the normal direction between nodes in each patch based on the patch index set of the docking area, and performs curvature direction fitting on the main vector of orientation change to generate the orientation offset feature structure of the contact area. The spline surface generation submodule, based on the contact area direction offset feature structure, inputs the three-dimensional spatial position of the node and the corresponding direction offset into the surface fitting function, performs spline surface interpolation operation on the spatial point cloud that constitutes the patch set, and generates a contact area curvature offset fitting data set. The assembly path error analysis module constructs a metal roof panel assembly path set by fitting the contact area curvature offset data set, and performs spatial offset error calculation of the path set to obtain the assembly path error set. The assembly path error analysis module includes: a contact path construction submodule, an attitude parameter extraction submodule, and an assembly offset judgment submodule; The contact path construction submodule obtains the spatial coordinates and normal directions of each node in the fitted patch of the contact area curvature offset fitting data group, extracts the node chains with continuous connection relationship according to the node index order, and combines them in sequence to form a contact path line segment sequence, generating an assembled node path set. The attitude parameter extraction submodule calls the assembly node path set, calculates the average normal direction of the nodes in each path segment and the spatial displacement vector between the first and last nodes, and combines the displacement value and the direction vector into an attitude parameter structure to generate the assembly path attitude parameter set. The assembly offset judgment submodule uses the RANSAC random sampling consensus algorithm to determine the direction difference of each path segment and the projection residual of the overall sample based on the assembly path attitude parameter set. It extracts the error distribution range for path segments whose deviation trend exceeds the consensus threshold and generates an assembly path error set. The assembly path optimization and sorting module filters the roof splicing panel groups through the assembly path error set, performs optimization sorting on the assembly path nodes, and outputs the optimized path panel index group.
2. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: The node normal difference set includes a node spatial coordinate set, normal vector direction difference pairs, and direction angle cosine values. The contact area curvature offset fitting data set includes a fitted contact surface coordinate surface, a node direction offset set, and a fitted residual distribution layer. The assembly path error set includes a path segment spatial offset value set, an assembly surface normal angle set, and a path segment assembly node index. The optimized path plate index set specifically includes a component number sequence, an assembly order set, and a path optimization node set.
3. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: The node normal feature extraction module includes: a component family node acquisition submodule, a node orientation angle calculation submodule, and a local curvature recognition submodule; The component family node acquisition submodule acquires metal roof panel block instances in the BIM component family, collects the spatial coordinates and unit normal vectors of all roof panel block grid nodes, constructs a node index sequence based on the topological arrangement order of nodes in the patch network, and generates a set of node positions and directions. The node orientation angle calculation submodule calculates the cosine of the angle between the normal vectors of any set of consecutively indexed adjacent nodes based on the set of node positions and orientations, filters out node pairs whose orientation changes exceed the change threshold, and generates node orientation difference mapping data. The local curvature recognition submodule calculates the overall variation of the normal vector in the neighborhood of the node in the triangular facet formed by the offset node pairs based on the node direction difference mapping data, extracts the node group with continuous normal change trend as the curvature significant region, and generates a node normal difference set.
4. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: The three-dimensional spatial position of the input node and its corresponding directional offset are fitted to the surface function. In the middle, the formula is used: ; Calculate the surface fitting function The output value represents the projection coordinates at the point. At that point, the directional offset angle of the node is used to form a continuous curvature trend in space formed by the directional offset of each node in the patch set; in, It is the highest polynomial order of the fitted function, indicating that it contains cubic terms. It is the first in the fitting function Step Item and the Step The coefficients of the term are obtained by solving the least squares fitting method using the directional offset data and coordinate input of all nodes in the set of facets. It is a polynomial function with respect to variables and The order subscript, Used for all Combined summation.
5. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: To determine the projection residual between the direction difference of each path segment and the overall sample, the formula is: ; Calculate the projection residual between the path segment and the main direction in each path segment. ; in, It is the first Segment path direction vector, It is the fitted main trend direction vector. It is the magnitude of the principal direction vector.
6. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: The assembly path optimization and sorting module includes: a path segment filtering submodule, a node structure extraction submodule, and a path sequence sorting submodule; The path segment filtering submodule extracts the directional offset and node spatial offset of the path segments in the assembly path error set, determines whether the offset and spatial error are simultaneously within the error interval, establishes a corresponding index identifier sequence, and generates a path segment filtering index set. The node structure extraction submodule calls the three-dimensional coordinate data of the nodes in the path segment corresponding to the path segment filtering index set, establishes the topological order relationship of the nodes in space, and generates the assembled path node structure set. The path sequence sorting submodule obtains the start and end node pairs of continuous path segments based on the assembled path node structure set, establishes a path segment connection graph in the path graph structure, and inputs it into the K-shortest path algorithm to perform a sorting operation on the path segment arrangement sequence, generating an optimized path block index group.
7. The BIM-based metal roofing construction optimization system according to claim 1, characterized in that: It also includes a parameter remapping and simulation back-substitution module, which performs component family parameter remapping on the optimized path block index group in the BIM model and performs node-level dynamic back-substitution on the three-dimensional scene to obtain a construction simulation feedback dataset. The construction simulation feedback dataset includes the spatial location nodes after back-substitution, the updated component family parameter group, and the construction path status record table.
8. The BIM-based metal roofing construction optimization system according to claim 7, characterized in that: The parameter remapping and simulation back-substitution module includes: a parameter remapping submodule, an attitude update submodule, and a back-substitution feedback generation submodule; The parameter remapping submodule extracts the component ID, family category and face number of each group of blocks based on the optimized path block index group, calls the parameter field structure in the BIM component family instance, and establishes a component family parameter mapping dataset according to the relationship between the index and the component instance. The attitude update submodule calls the component family parameter mapping dataset to identify the positioning coordinates of the splicing boundary nodes in the path segment and the reference position corresponding to the current family parameter, and adjusts the attitude vector and coordinate value of each splicing segment node to generate a node attitude change sequence. The back-substitution feedback generation submodule records the position and orientation data of the nodes before and after the state change in the BIM 3D scene according to the node posture change sequence, extracts the state switching path and change magnitude, and generates a construction simulation feedback dataset.
Citation Information
Patent Citations
Large-span steel structure canopy construction supervision method and system based on BIM
CN118332666A
Historical building model construction method and system based on BIM
CN119783237A