Bridge BIM model visualization method and system

CN119741413BActive Publication Date: 2026-08-11ZHONGSHAN JINBAIHUI TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

[0003]针对在移动端的web页面加载桥梁BIM模型速度慢,而且容易卡顿的问题,在第一个方面,本发明提供了一种桥梁BIM模型可视化方法,所述方法包括:

Benefits of technology

[0035]针对移动端Web页面加载BIM模型速度慢和卡顿的问题,本发明通过计算每个边的折叠代价和折叠后局部优化程度确定待折叠边,然后进行拓扑检查和边界保持检查,在精简桥梁BIM模型的同时,保持模型的拓扑结构和边界特征;此外,通过计算三角形邻域的法向量偏差,选择曲面更平滑的区域的三角形作为起始三角形,提高压缩率,有效地解决了移动端Web页面加载桥梁BIM模型速度慢和卡顿的问题。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119741413B_ABST
    Figure CN119741413B_ABST
Patent Text Reader

Abstract

This invention relates to a method and system for visualizing a bridge BIM model. Specifically, the method involves acquiring a bridge BIM model, calculating the folding cost and the degree of local optimization after folding for each edge, sorting the edges according to the folding cost and the degree of local optimization, and placing them into a priority queue. Edges are then sequentially removed from the priority queue, and topology and boundary preservation checks are performed. If the checks pass, the two vertices of the removed edge are merged into a new vertex, and the folding cost and the degree of local optimization after folding for the affected edge are updated; otherwise, the removed edge is skipped. The simplified BIM model is divided into multiple components, and a starting triangle is determined from each component based on the normal vector of the triangle neighborhood in the component. The component is compressed using the starting triangle and then sent to a mobile device. The mobile device decompresses and renders the BIM model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of architecture, specifically to a method and system for visualizing bridge BIM models. Background Technology

[0002] Bridge BIM visualization transforms abstract BIM data into intuitive 3D models. Through visualization, design reviews, construction process simulations, and operation and maintenance monitoring can be conducted, thereby improving project efficiency, reducing costs, and ensuring safety. However, BIM model data is massive, and while traditional desktop software is powerful, it struggles to handle the smooth display and interaction of large-scale models. Furthermore, with the development of mobile internet and virtual reality / augmented reality (VR / AR) technologies, people have higher demands for cross-platform, immersive visualization experiences, which traditional desktop software cannot meet. Web-based BIM visualization technology utilizes browsers and web technologies to enable the display and interaction of BIM models on the web, offering advantages such as cross-platform compatibility and no need for client installation. WebGL, as the 3D graphics standard for the web, provides strong technical support for web-based BIM visualization. Three.js, a JavaScript 3D library based on WebGL, simplifies WebGL development and is widely used in web-based BIM visualization development. However, large-scale models contain a large amount of geometry and textures, and traditional Three.js rendering methods can easily cause browser lag or even crashes. Moreover, loading large-scale models takes a long time, impacting the user experience. Improving the speed of loading bridge BIM models on mobile web pages is of great significance for enhancing the application of BIM. Summary of the Invention

[0003] To address the issues of slow loading speed and frequent lag when loading bridge BIM models on mobile web pages, this invention provides, in a first aspect, a method for visualizing bridge BIM models, the method comprising:

[0004] Obtain the bridge BIM model and calculate the folding cost and local optimization degree of each edge. Sort the edges according to the folding cost and local optimization degree and put them into a priority queue. Take the edges out of the priority queue in order and perform topology check and boundary preservation check. If the check passes, merge the two vertices of the taken edge into a new vertex and update the folding cost and local optimization degree of the affected edge; otherwise, skip the taken edge.

[0005] The simplified BIM model is divided into multiple components. Based on the normal vector of the triangle neighborhood in the component, a starting triangle is determined from each component. The component is then compressed using the starting triangle and sent to the mobile terminal.

[0006] The BIM model is rendered on the mobile device after decompression.

[0007] Optionally, the calculation of the folding cost of each edge and the degree of local optimization after folding specifically involves:

[0008] A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded.

[0009] Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area;

[0010] A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost.

[0011] Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding.

[0012] Optionally, the step of sorting the edges and placing them into a priority queue based on folding cost and local optimization degree specifically involves:

[0013] The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

[0014] Optionally, the step of determining an initial triangle from each component based on the normal vector of the triangle's neighborhood in the component specifically involves:

[0015] The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles.

[0016] Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

[0017] Optionally, determining the distance threshold based on the component type and size specifically involves:

[0018] For each type of component, a predefined adjustment coefficient is defined. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold.

[0019] In another aspect, the present invention provides a bridge BIM model visualization system, the system comprising:

[0020] The simplification module is used to acquire the bridge BIM model and calculate the folding cost and local optimization degree of each edge. The edges are sorted according to the folding cost and local optimization degree and put into a priority queue. Edges are taken out from the priority queue in order and topology and boundary preservation checks are performed. If the checks pass, the two vertices of the taken edge are merged into a new vertex, and the folding cost and local optimization degree of the affected edge are updated; otherwise, the taken edge is skipped.

[0021] The compression module is used to divide the simplified BIM model into multiple components. Based on the normal vector of the triangle neighborhood in the component, a starting triangle is determined from each component. The component is then compressed using the starting triangle and sent to the mobile terminal.

[0022] The rendering module renders the BIM model after decompression by the mobile device.

[0023] Optionally, the calculation of the folding cost of each edge and the degree of local optimization after folding specifically involves:

[0024] A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded.

[0025] Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area;

[0026] A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost.

[0027] Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding.

[0028] Optionally, the step of sorting the edges and placing them into a priority queue based on folding cost and local optimization degree specifically involves:

[0029] The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

[0030] Optionally, the step of determining an initial triangle from each component based on the normal vector of the triangle's neighborhood in the component specifically involves:

[0031] The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles.

[0032] Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

[0033] Optionally, determining the distance threshold based on the component type and size specifically involves:

[0034] For each type of component, a predefined adjustment coefficient is defined. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold.

[0035] To address the issues of slow loading speed and lag when loading BIM models on mobile web pages, this invention determines the edges to be folded by calculating the folding cost of each edge and the degree of local optimization after folding. Then, topology checks and boundary preservation checks are performed to simplify the bridge BIM model while maintaining its topological structure and boundary features. In addition, by calculating the normal vector deviation of the triangle's neighborhood, triangles in regions with smoother surfaces are selected as the starting triangles to improve the compression ratio, effectively solving the problem of slow loading speed and lag when loading bridge BIM models on mobile web pages. Attached Figure Description

[0036] Figure 1 This is a flowchart illustrating Example 1;

[0037] Figure 2 Here are before and after photos of the folded edge;

[0038] Figure 3 This is a schematic diagram of the normal vector of a triangle. Detailed Implementation

[0039] 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, and 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.

[0040] In a specific embodiment, this invention provides a method for visualizing bridge BIM models, such as... Figure 1 As shown, the method includes:

[0041] Step 1: Obtain the bridge BIM model and calculate the folding cost and local optimization degree of each edge. Sort the edges according to the folding cost and local optimization degree and put them into a priority queue. Take the edges out of the priority queue in order and perform topology checks and boundary preservation checks. If the checks pass, merge the two vertices of the taken edge into a new vertex and update the folding cost and local optimization degree of the affected edge; otherwise, skip the taken edge.

[0042] A BIM (Building Information Modeling) model is a digital model containing all information about an engineering project such as a building or bridge. Bridge BIM model data is imported or read from CAD software, BIM software (such as Revit, Bentley OpenBridge), or other data sources. In a BIM model, an edge connects two vertices, forming a line in the model. Folding an edge merges the two vertices of that edge into one, thereby reducing the number of faces and vertices in the model, achieving simplification. The folding cost is an indicator of the quality of the folding operation; a higher cost indicates greater model deformation or error caused by folding the edge. For example, folding a very long edge may lead to severe distortion of the model's shape. Furthermore, folding an edge changes the geometry around that edge; the degree of local optimization measures the impact of folding on the model's quality. In one embodiment, the midpoint of the folded edge is taken as the new vertex, and the length of the folded edge is used as the folding cost. Specifically, the lengths of all edges are normalized, and the normalized edge lengths are used as the folding cost. The average ratio of the longest and shortest sides of all newly generated triangles after folding is used as the degree of local optimization. Specifically, the average value is normalized, and the normalized average value is used as the degree of local optimization.

[0043] In an optional embodiment, calculating the folding cost of each edge and the degree of local optimization after folding specifically involves:

[0044] A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded.

[0045] Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area;

[0046] A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost.

[0047] Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding.

[0048] Mobile devices typically have limited computing power; the weaker the performance, the higher the threshold, resulting in more edges being collapsed, thus reducing the complexity of the BIM model received by the mobile device. In one embodiment, mobile devices are categorized based on their CPU model: low-end, mid-range, and high-end. The coefficients for these categories are w1, w2, and w3, respectively, where 1 > w1 > w2 > w3 > 0. The product of these coefficients and the average value of the edges in the BIM model is used as the threshold. If the length of an edge is less than the threshold, that edge is considered to be collapsed.

[0049] Folding an edge will affect the triangles adjacent to that edge. More specifically, all triangles containing any endpoint of the edge to be folded are affected by the fold. For example, if the two endpoints of the edge to be folded are p1 and p2, any triangle in the BIM model whose vertex is either p1 or p2 is affected. Figure 2 Triangles 1-5 in the left-hand pattern are the triangles affected before folding. For each affected triangle, its geometric center and area are calculated. The larger the area of ​​a triangle, the higher its importance in the model. A weight is assigned to each affected triangle based on its area; triangles with larger areas have larger weights. The new vertex is the result after folding the edge, replacing the two vertices of the original edge to be folded. The new vertex is calculated by weighted averaging based on the weights and geometric centers of the affected triangles, making the new vertex closer to the important triangles, thus better preserving the shape of the model. After calculating the new vertex, before folding, the distance from the new vertex to each affected triangle is calculated. This distance is the perpendicular distance from the point to the triangle plane. All these distances are summed to obtain a total distance value. To make the folding cost comparable, the total distance is further normalized. The sum of the normalized distances is the final folding cost. The higher the cost, the greater the model deformation or error caused by folding this edge. After folding one side, the shape of the affected triangle changes. The ratio of the longest side to the shortest side is used as a metric. The closer the ratio is to 1, the closer the triangle is to an equilateral triangle, and the better its shape. The larger the ratio, the narrower and less attractive the triangle. Similarly, to make the local optimization levels comparable, the local optimization levels are normalized and scaled to the range [0, 1]. The normalized average ratio is taken as the final local optimization level after folding. The higher the optimization level, i.e., the closer the normalized value is to 0, the better the quality of the local geometry after folding.

[0050] Edges with lower costs and higher optimization levels have higher priority and are processed first. In an optional embodiment, sorting edges based on folding cost and local optimization level and placing them into a priority queue specifically involves:

[0051] The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

[0052] The cost is multiplied by a weight, and the degree of optimization is multiplied by another weight. The folding cost and the degree of local optimization are combined into a single priority value. All edges are then sorted according to this priority value, and the sorted edges are placed into a priority queue.

[0053] Before performing the folding operation, several checks are conducted to ensure that the folding operation does not compromise the model's validity. First, a topology check is performed. Topology studies the properties of geometry that remain unchanged under continuous deformation. The topology check ensures that the folding operation does not disrupt the model's topological structure; for example, it prevents the creation of non-manifold geometry, where a point simultaneously belongs to multiple unconnected faces, leading to holes or connection errors in the model. Second, a boundary preservation check is performed. Bridge models typically have well-defined boundaries, such as the edges of the bridge deck and piers. The boundary preservation check ensures that the folding operation does not affect the integrity and correctness of these boundaries; for example, it does not cause the loss or deformation of boundary segments. If an edge passes both the topology and boundary preservation checks, it means that folding this edge will not compromise the model's validity, and the two vertices of that edge can be merged into a new vertex. Since the vertex's position has changed, the geometric properties of other edges connected to the new vertex also change. Therefore, the folding cost and local optimization level of the edges connected to the new vertex are further updated to ensure that the priority of these edges is correctly evaluated in subsequent iterations. If an edge fails the topology check or boundary preservation check, and folding this edge would compromise the model's validity (e.g., causing holes or boundary deformation), then this edge is skipped and not folded. The algorithm then retrieves the next highest-priority edge from the priority queue and repeats the topology and boundary preservation checks until the queue is empty. Figure 2 The image shows the effect of folding a single edge. The affected triangles are those whose shape changes due to the folding. Figure 2 Triangles 1-3 in the pattern on the right are the triangles affected after folding.

[0054] Step 2: Divide the simplified BIM model into multiple components. Based on the normal vector of the triangle neighborhood in the component, determine a starting triangle from each component. Compress the component using the starting triangle and send it to the mobile terminal.

[0055] In a BIM model, components are the basic units that make up engineering projects such as buildings or bridges, such as beams, columns, slabs, and walls. The simplified BIM model is divided into multiple components. This division can be based on existing component information or automatically based on geometric features such as connection relationships and spatial location. Each component is processed as an independent compressed unit. The normal vector of each triangle in the component is calculated, and the neighborhood of each triangle is determined. The average or weighted average of the normal vectors of all triangles in its neighborhood is calculated. The triangle with the smallest change in normal vector (e.g., the smallest angle between its normal vector and the average normal vector of its neighbors) is selected as the starting triangle. This selected starting triangle is usually located in a flat area of ​​the component, which helps with subsequent compression coding. In one embodiment, the neighborhood refers to other triangles that share edges with it. The compression algorithm typically starts from the starting triangle and encodes according to certain rules. Preferably, the compression uses the EdgeBreaker coding method.

[0056] Different components have different sizes of flat areas. For example, the bridge deck is mostly flat, while the flat areas are smaller for components like bridge piers. In an optional embodiment, determining an initial triangle from each component based on the normal vector of the triangle's neighborhood in the component specifically involves:

[0057] The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles.

[0058] Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

[0059] Different component types and sizes, as well as their geometric features and mesh densities, can vary significantly. In one embodiment, an adjustment coefficient is predefined for each type of component. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold. The bounding box can be an AABB bounding box or an OBB bounding box. Multiplying the shortest side length of the bounding box by the adjustment coefficient yields the final distance threshold.

[0060] If the distance between the center points of two triangles is less than a preset distance threshold, then these two triangles are considered neighboring triangles. This allows triangles that are spatially very close but do not share edges to also be considered neighboring triangles, thus taking local geometric features more comprehensively into account. For each triangle, the deviation of the normal vectors of all triangles in its neighborhood is calculated. The smaller the deviation, the more consistent the normal vector directions of the triangles in the neighborhood, meaning a smoother surface in that region. The triangle with the smallest deviation of its normal vectors in its neighborhood is selected as the starting triangle, thereby improving the compression ratio. Selecting the triangle with the smallest deviation of its normal vectors in its neighborhood as the starting triangle means calculating the deviation of the normal vectors of the triangles in its neighborhood for each triangle. Figure 3 The normal vectors of two triangles are shown. The triangle with the smallest deviation in normal vectors is taken as the starting triangle. The neighboring triangles include the triangle itself. For example, if triangle A has three neighboring triangles BD, then the deviation of the normal vectors of the four triangles AD is calculated. In one embodiment, the deviation is calculated by the angle between the normal vectors.

[0061] Step 3: Render the BIM model on the mobile device after decompression.

[0062] After receiving the compressed BIM model data, the mobile device decompresses it to restore the original BIM model data. The decompression process uses the same decompression algorithm as the compression. If the compression used the Edgebreaker algorithm, then the decompression uses the corresponding Edgebreaker decompression algorithm. The decompressed model data is then sent to the rendering pipeline for processing, and finally the bridge BIM model is displayed on the mobile device.

[0063] In a second specific embodiment, the present invention provides a bridge BIM model visualization system, the system comprising:

[0064] The simplification module is used to acquire the bridge BIM model and calculate the folding cost and local optimization degree of each edge. The edges are sorted according to the folding cost and local optimization degree and put into a priority queue. Edges are taken out from the priority queue in order and topology and boundary preservation checks are performed. If the checks pass, the two vertices of the taken edge are merged into a new vertex, and the folding cost and local optimization degree of the affected edge are updated; otherwise, the taken edge is skipped.

[0065] The compression module is used to divide the simplified BIM model into multiple components. Based on the normal vector of the triangle neighborhood in the component, a starting triangle is determined from each component. The component is then compressed using the starting triangle and sent to the mobile terminal.

[0066] The rendering module renders the BIM model after decompression by the mobile device.

[0067] Optionally, the calculation of the folding cost of each edge and the degree of local optimization after folding specifically involves:

[0068] A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded.

[0069] Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area;

[0070] A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost.

[0071] Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding.

[0072] Optionally, the step of sorting the edges and placing them into a priority queue based on folding cost and local optimization degree specifically involves:

[0073] The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

[0074] Optionally, the step of determining an initial triangle from each component based on the normal vector of the triangle's neighborhood in the component specifically involves:

[0075] The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles.

[0076] Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

[0077] Optionally, determining the distance threshold based on the component type and size specifically involves:

[0078] For each type of component, a predefined adjustment coefficient is defined. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold.

[0079] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital versatile discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

Claims

1. A method for visualizing bridge BIM models, characterized in that, The method includes: Obtain the bridge BIM model and calculate the folding cost and local optimization degree of each edge. Sort the edges according to the folding cost and local optimization degree and put them into a priority queue. Take the edges out of the priority queue in order and perform topology check and boundary preservation check. If the check passes, merge the two vertices of the taken edge into a new vertex and update the folding cost and local optimization degree of the affected edge; otherwise, skip the taken edge. The simplified BIM model is divided into multiple components. Based on the normal vector of the triangle neighborhood in the component, a starting triangle is determined from each component. The component is then compressed using the starting triangle and sent to the mobile terminal. The BIM model is rendered on the mobile device after decompression. The calculation of the folding cost of each edge and the degree of local optimization after folding is specifically as follows: A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded. Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area; A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost. Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding; The method of determining an initial triangle from each component based on the normal vector of the triangle neighborhood in the component is as follows: The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles. Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

2. The method as described in claim 1, characterized in that, The process of sorting edges based on folding cost and local optimization degree and placing them into a priority queue is as follows: The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

3. The method as described in claim 1, characterized in that, The determination of the distance threshold based on the component type and size is specifically as follows: For each type of component, a predefined adjustment coefficient is defined. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold.

4. A bridge BIM model visualization system, characterized in that, The system includes: The simplification module is used to acquire the bridge BIM model and calculate the folding cost and local optimization degree of each edge. The edges are sorted according to the folding cost and local optimization degree and put into a priority queue. Edges are taken out from the priority queue in order and topology and boundary preservation checks are performed. If the checks pass, the two vertices of the taken edge are merged into a new vertex, and the folding cost and local optimization degree of the affected edge are updated; otherwise, the taken edge is skipped. The compression module is used to divide the simplified BIM model into multiple components. Based on the normal vector of the triangle neighborhood in the component, a starting triangle is determined from each component. The component is then compressed using the starting triangle and sent to the mobile terminal. The rendering module renders the BIM model after decompression by the mobile device; The calculation of the folding cost of each edge and the degree of local optimization after folding is specifically as follows: A threshold is determined based on the mobile device's computing power, and edges that are less than the threshold are designated as edges to be folded. Take the triangle containing any endpoint of the edge to be folded as the triangle affected by the folding, calculate the geometric center and area of ​​each affected triangle, and determine the weight of the affected triangle based on the area; A new vertex is calculated based on the weights and geometric center. The sum of the distances from the new vertex to the affected triangles is calculated, and the normalized sum of distances is used as the folding cost. Calculate the average of the ratios of the longest and shortest sides of the triangles affected by the folding, and normalize the average value as the degree of local optimization after folding; The method of determining an initial triangle from each component based on the normal vector of the triangle neighborhood in the component is as follows: The distance threshold is determined based on the component type and size. If the distance between the center points of two triangles is less than the threshold, then the two triangles are neighboring triangles. Calculate the normal vector of each triangle. For each triangle, find other triangles in its neighborhood and select the triangle with the smallest deviation of the normal vector in the neighborhood as the starting triangle.

5. The system as described in claim 4, characterized in that, The process of sorting edges based on folding cost and local optimization degree and placing them into a priority queue is as follows: The edges to be folded are sorted in ascending order of weighted values ​​of folding cost and the degree of local optimization after folding, and then placed into a priority queue.

6. The system as described in claim 4, characterized in that, The determination of the distance threshold based on the component type and size is specifically as follows: For each type of component, a predefined adjustment coefficient is defined. The shortest side length of the component's bounding box is calculated, and the product of the shortest side length and the adjustment coefficient is used as the distance threshold.

Citation Information

Patent Citations

  • Bridge construction management visualization method and device based on lightweight BIM

    CN110516303A

  • Feature constraint-based triangular mesh optimization method

    CN113689566A