A BIM model rendering method, device, medium and equipment
By filtering and building grid-level sets and tile sets in BIM model rendering, filtering target grid codes and generating rendering data, the problem of low rendering efficiency of BIM model in the existing technology is solved, and efficient and multi-level rendering effect is achieved.
Patent Information
- Application Number
- CN202510202400.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2045-02-24
AI Technical Summary
The existing BIM model rendering methods are inefficient when dealing with large-scale scenarios and complex models, resulting in significant lag and delays when loading models, which cannot meet the construction industry's efficient rendering needs for BIM models.
By obtaining the vertex coordinates and preset grid data of the building components in the BIM model, the degree of matching between the building components and each initial grid level is calculated, the reference grid level set and the intermediate grid level set are filtered out, the first tile set and the second tile set are constructed, the target grid code is filtered, the grid triangle set is generated, and the target rendering data is finally obtained for rendering.
It improves the rendering efficiency of the BIM model, reduces data processing volume and calculation complexity, avoids rendering lags and delays, and meets the rendering needs of different levels.
Smart Images

Figure CN119693521B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of building information modeling, and particularly to a BIM model rendering method, device, medium and equipment. Background Art
[0002] With the wide application of building information modeling (BIM) technology in the construction industry, efficient rendering of BIM models has become a key requirement in the construction industry. Existing rendering methods usually rely on the tile pyramid technology, which divides spatial data into multiple resolution levels. The spatial data at each resolution level is divided into regular grid cells, i.e., tiles, and each tile contains spatial data within a certain range, corresponding to different levels of detail. When dealing with large-scale scenes and complex BIM models, existing rendering methods need to pay attention to more details and have a large amount of data, resulting in low rendering efficiency, and there are obvious lags and delays when loading the model, which cannot meet the efficient rendering requirements of BIM models in the construction industry.
[0003] Therefore, how to improve the rendering efficiency of BIM models has become an urgent problem to be solved. Summary of the Invention
[0004] In view of the above technical problems, the technical solution adopted by the present invention is a BIM model rendering method, which includes the following steps:
[0005] S1, obtaining a plurality of building components in the BIM model, the first vertex coordinate set corresponding to each building component, and preset grid data, where the first vertex coordinate set includes the coordinates of each vertex corresponding to the building component, and the preset grid data includes a plurality of initial grid levels, the grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and the grid code and grid range of each grid.
[0006] S2, for any building component, obtaining the matching degree between the current building component and each initial grid level according to the first vertex coordinate set corresponding to the current building component and the preset grid data.
[0007] S3, obtaining the reference grid level set and the intermediate grid level set corresponding to the current building component according to the matching degree between the current building component and each initial grid level and the preset grid data, where the reference grid level set includes N reference grid levels, the intermediate grid level set includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0.
[0008] S4. Based on the reference grid level set, the intermediate grid level set, and the preset grid data, obtain a first tile set and a second tile set corresponding to the current building component. Among them, the first tile set includes several first tiles, several reference grid levels corresponding to each first tile, and all grid codes. The second tile set includes several second tiles, several intermediate grid levels corresponding to each second tile, and all grid codes.
[0009] S5. Based on the reference grid level set, the first vertex coordinate set corresponding to the current building component, the preset grid data, and several reference grid levels corresponding to each first tile, obtain a target grid code set corresponding to the current building component under each first tile. Among them, the target grid code set includes several target grid codes.
[0010] S6. Based on the target grid code set and the grid range corresponding to each grid code, obtain a grid triangle face set corresponding to the current building component under each first tile.
[0011] S7. Based on the first tile set, the second tile set corresponding to the current building component, the target grid code set corresponding to the current building component under each first tile, and the grid triangle face set, obtain target rendering data corresponding to the current building component. The target rendering data is used to render the current building component.
[0012] The present invention also provides a BIM model rendering device, which includes:
[0013] A data acquisition module, configured to acquire several building components in the BIM model, a first vertex coordinate set corresponding to each building component, and preset grid data. Among them, the first vertex coordinate set includes the coordinates of each vertex corresponding to the building component, and the preset grid data includes several initial grid levels, the grid size corresponding to each initial grid level, several grids corresponding to each initial grid level, and the grid code and grid range of each grid.
[0014] A matching degree acquisition module, configured to, for any building component, obtain the matching degree between the current building component and each initial grid level according to the first vertex coordinate set corresponding to the current building component and the preset grid data.
[0015] A grid level screening module, which is used to obtain a reference grid level set and an intermediate grid level set corresponding to the current building component according to the matching degree between the current building component and each initial grid level and the preset grid data. Among them, the reference grid level set includes N reference grid levels, the intermediate grid level set includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0.
[0016] A tile set obtaining module, which is used to obtain a first tile set and a second tile set corresponding to the current building component according to the reference grid level set, the intermediate grid level set and the preset grid data. Among them, the first tile set includes several first tiles, several reference grid levels corresponding to each first tile, and all grid codes, and the second tile set includes several second tiles, several intermediate grid levels corresponding to each second tile, and all grid codes.
[0017] A target grid code screening module, which is used to obtain a target grid code set corresponding to the current building component under each first tile according to the reference grid level set, the first vertex coordinate set, the preset grid data corresponding to the current building component, and several reference grid levels corresponding to each first tile. Among them, the target grid code set includes several target grid codes.
[0018] A triangular face obtaining module, which is used to obtain a grid triangular face set corresponding to the current building component under each first tile according to the target grid code set and the grid range corresponding to each grid code.
[0019] A target rendering data obtaining module, which is used to obtain target rendering data corresponding to the current building component according to the first tile set, the second tile set, the target grid code set corresponding to the current building component under each first tile, and the grid triangular face set. Among them, the target rendering data is used to render the current building component.
[0020] The present invention also provides a non-transitory computer-readable storage medium, in which at least one instruction or at least one program segment is stored, and at least one instruction or at least one program segment is loaded and executed by a processor to implement the above-mentioned BIM model rendering method.
[0021] The present invention also provides an electronic device, which includes a processor and the above-mentioned non-transitory computer-readable storage medium.
[0022] The present invention has at least the following beneficial effects: Starting from the vertex coordinates of the building component, gradually construct the bounding box, obtain the size of the bounding box, and finally determine the matching degree with each initial grid level. According to the matching degree between the building component and each initial grid level and the preset grid data, screen and determine two sets of key grid level sets, namely the reference grid level set and the intermediate grid level set. Through the reference grid level set, divide and render the building component from a relatively macroscopic perspective, display the overall outline, and at the same time avoid excessive data processing, improve the rendering efficiency, and present the more refined detail parts of the building component through the intermediate grid level set to meet the rendering requirements in scenarios such as when in-depth viewing of local details is needed. Further, based on the reference grid level set and the intermediate grid level set, construct the first tile set and the second tile set, which helps to achieve a reasonable division and rendering of the building component from different levels, meet diverse display requirements, and screen out the target grid codes related to the building component under each first tile and the corresponding reference grid level from multiple grid codes, which is an important link for further refining data association and accurately positioning the grid data related to the building component in the entire BIM model rendering process. Then, based on information such as the target grid code set and the grid range, gradually construct and integrate the grid triangle surface set corresponding to the building component under each first tile. While optimizing the amount of rendering data, accurately determine the triangle surface data for rendering the outer surface of the building component, and greatly improve the rendering efficiency on the basis of ensuring the rendering effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0024] Figure 1 It is a flowchart of a BIM model rendering method provided in Embodiment 1 of the present invention;
[0025] Figure 2 It is a structural schematic diagram of a BIM model rendering device provided in Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0026] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.
[0027] It should be noted that the terms "first", "second", etc. in the description, claims and above-mentioned drawings of the present invention are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It can be understood that, under appropriate circumstances, the above-mentioned terms for distinguishing similar objects can be interchanged, so that the present invention can also implement other embodiments other than the above-mentioned illustrated embodiments or described embodiments. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or server that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0028] Embodiment 1,
[0029] Embodiment 1 provides a BIM model rendering method, and the BIM model rendering method includes the following steps, as Figure 1 shown:
[0030] S1, obtain a plurality of building components in the BIM model, the first vertex coordinate set corresponding to each building component, and preset grid data. Among them, the first vertex coordinate set includes the coordinates of each vertex of the corresponding building component, and the preset grid data includes a plurality of initial grid levels, the grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and the grid code and grid range of each grid.
[0031] Among them, in the BIM model, a building component is the basic unit that constitutes the entire building model. For example, various entity elements such as walls, columns, beams, and floors can be identified and extracted through corresponding model parsing technologies or software interfaces. Because different building components have their own unique geometric shapes, spatial positions and other characteristics, they need to be considered separately to achieve high-quality rendering effects, laying a data foundation for subsequent refined rendering-related processing for each specific component.
[0032] Each building component is represented by a geometric shape determined by multiple vertices in three-dimensional space. The first vertex coordinate set records the coordinate information of each vertex of the corresponding building component in three-dimensional space, which is used to accurately describe the position, specific shape and size of the corresponding building component in the three-dimensional space coordinate system of the entire BIM model. It is convenient to reasonably adapt it to the corresponding grid system based on the actual occupied space range of the building component when judging the matching degree between the building component and the preset grid, performing grid division and other operations in the subsequent process, so as to improve the accuracy of rendering. For example, the first vertex coordinate set corresponding to a column component in the shape of a cuboid contains the (x, y, z) coordinate values of 8 vertices respectively.
[0033] The three-dimensional space can be hierarchically divided through a preset grid system, corresponding to multiple different initial grid levels. Among them, the higher-level initial grid levels correspond to smaller-scale spatial divisions and are suitable for presenting the detailed parts of building components. The lower-level initial grid levels, on the other hand, correspond to more refined spatial divisions and are suitable for presenting the overall outlines of building components. There is a certain scale ratio relationship between different levels, and all the grids corresponding to each initial grid level, the grid codes corresponding to each grid, and the grid ranges are defined. For example, the preset grid system can be a grid system set based on 3Dtiles.
[0034] The grid size corresponding to each initial grid level defines the spatial size occupied by each grid at that initial grid level. The unique grid code corresponding to each grid is used to identify and distinguish different grids, and the grid range corresponding to each grid defines the specific spatial area occupied by the grid in the three-dimensional space.
[0035] As described above, by collecting the basic data necessary for subsequent BIM model rendering processing, including the geometric vertex information of the building components themselves and the data related to the preset grid system, it provides data support for operations such as reasonably matching building components with grids and generating the final target rendering data in the subsequent steps.
[0036] S2. For any building component, according to the first vertex coordinate set corresponding to the current building component and the preset grid data, obtain the matching degree between the current building component and each initial grid level.
[0037] In a specific embodiment, S2 includes the following steps:
[0038] S21. For any building component, according to the first vertex coordinate set corresponding to the current building component, obtain the second vertex coordinate set of the bounding box corresponding to the current building component, where the second vertex coordinate set includes the coordinates of each vertex of the bounding box corresponding to the current building component.
[0039] S22. According to the second vertex coordinate set of the bounding box corresponding to the current building component, obtain the size of the bounding box corresponding to the current building component.
[0040] S23. According to the grid size corresponding to each initial grid level and the size of the bounding box, obtain the matching degree between the current building component and each initial grid level.
[0041] Among them, the first vertex coordinate set contains the coordinate values of all vertices of the current building component in three-dimensional space. Based on the first vertex coordinate set, new second vertex coordinates are obtained to represent the smallest bounding box that can enclose all vertices of the current building component, thereby intuitively reflecting the approximate occupied range of the current building component in three-dimensional space.
[0042] According to the second vertex coordinate set of the bounding box, the size of the bounding box is obtained by calculating the differences in each dimension, which is used to measure the matching degree between the building component and the initial grid level. For example, in the x direction, the maximum coordinate value in the x direction is subtracted from the minimum coordinate value, and the resulting difference is the length dimension of the bounding box in the x direction.
[0043] By calculating the proportional relationship between the bounding box size and the grid size, or by comparing the closeness of the bounding box size and the grid size in each dimension, the matching degree between the current building component and each initial grid level is determined, and a quantitative evaluation of the matching degree between the building component and all initial grid levels is carried out, providing a basis for subsequent operations such as selecting a suitable initial grid level.
[0044] In a specific embodiment, S21 includes the following steps:
[0045] S211, based on the first vertex coordinate set, obtain the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction.
[0046] S212, based on the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction, obtain all the second vertex coordinates corresponding to the current building component.
[0047] S213, based on all the second vertex coordinates corresponding to the current building component, construct the bounding box corresponding to the current building component and form the second vertex coordinate set of the bounding box corresponding to the current building component.
[0048] Among them, the maximum and minimum value information in each coordinate direction reflects the boundary conditions of the space occupied by the current building component in each dimension. By combining the maximum and minimum value information in each coordinate direction, new second vertex coordinates can be obtained, and then the smallest bounding box that can enclose all vertices of the current building component can be obtained.
[0049] For example, in three-dimensional space, an enclosing box in the shape of a cuboid consists of 8 vertices. Taking the x, y, and z directions as examples, the 8 second vertex coordinates can be determined by combinations of the minimum and maximum values, namely (minimum x value, minimum y value, minimum z value), (minimum x value, minimum y value, maximum z value), (minimum x value, maximum y value, minimum z value), (minimum x value, maximum y value, maximum z value), (maximum x value, minimum y value, minimum z value), (maximum x value, minimum y value, maximum z value), (maximum x value, maximum y value, minimum z value), and (maximum x value, maximum y value, maximum z value).
[0050] In a specific embodiment, S23 includes the following steps:
[0051] S231. For the grid size corresponding to any initial grid level, calculate the ratio of the enclosing box size to the current grid size in each direction.
[0052] S232. Determine the degree of difference between the enclosing box size and the current grid size in each direction as the absolute value of the difference between the ratio in each direction and the preset value.
[0053] S233. Determine the matching degree between the enclosing box size and the current grid size as the reciprocal of the average value of the degrees of difference between the enclosing box size and the current grid size in all directions.
[0054] The above process of gradually constructing the enclosing box starting from the vertex coordinates of the building component, obtaining the enclosing box size, and finally determining the matching degree with each initial grid level is an effective process for adapting and analyzing based on the actual space occupancy of the building component and the preset grid system, providing a basis for the reasonable progress of the entire BIM model rendering process.
[0055] S3. According to the matching degree between the current building component and each initial grid level and the preset grid data, obtain the set of reference grid levels and the set of intermediate grid levels corresponding to the current building component, where the set of reference grid levels includes N reference grid levels, the set of intermediate grid levels includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0.
[0056] In a specific embodiment, S3 includes the following steps:
[0057] S31. Compare the matching degree between each initial grid level and the current building component with the preset matching degree threshold to obtain the maximum matching degree and all network levels greater than the preset matching degree threshold.
[0058] S32. Determine the initial grid level corresponding to the maximum matching degree as the first reference grid level, and determine the initial grid levels greater than the preset matching degree threshold as candidate grid levels.
[0059] S33. Among all candidate grid levels, determine the number of candidate grid levels whose corresponding initial grid levels are less than the initial grid level corresponding to the first reference grid level as the number N of reference grid levels.
[0060] S34. For any candidate grid level, if the difference between the initial grid level corresponding to the first reference grid level and the initial grid level corresponding to the current candidate grid level is i - 1, then determine the current candidate grid level as the i-th reference grid level, where i = 2, 3,..., N.
[0061] S35. For any initial grid level, if the difference between the current initial grid level and the initial grid level corresponding to the first reference grid level is j, then determine the current initial grid level as the j-th intermediate grid level, where j = 1, 2,..., M, and M can be obtained by subtracting the initial grid level corresponding to the first reference level from the maximum value of the initial grid levels.
[0062] Among them, the specific value of the preset matching degree threshold can be set by the implementer according to the actual situation.
[0063] The initial grid level corresponding to the maximum matching degree is the initial grid level closest to the size of the current building component, representing a key division scale that best fits the building component. Then, determine the initial grid level corresponding to the maximum matching degree as the first reference grid level, serving as a reference point for subsequent determination of other reference grid levels and the entire set of reference grid levels.
[0064] The initial grid levels that are lower than the initial network level corresponding to the first reference grid level and whose corresponding matching degree is greater than the preset matching degree threshold are used as the reference grid levels. Specifically, first, a batch of candidate grid levels with relatively high adaptability are screened out based on the preset matching degree threshold. Further, the initial grid levels that are lower than the network level corresponding to the first reference grid level are screened out from the candidate grid levels, which can retain certain detailed information while further presenting the overall outline of the building component, and will not completely lose the key features of the building component due to overly large grids. It can reasonably represent details such as the main shape and general structure of the building component from a macroscopic perspective. Moreover, because the large grids cover a wide spatial range, fewer grids can be used to enclose the building component. Compared with using initial grid levels with higher levels, smaller grid sizes, and greater fineness, selecting levels with relatively larger grids will significantly reduce the number of grids. In subsequent processes such as constructing tiles and generating rendering data, which involve operations based on grids, the amount of data to be processed will be significantly reduced, greatly simplifying the model structure, reducing the computational complexity, and making the rendering process more efficient. This is especially suitable for processing BIM models of large-scale and complex building components, avoiding problems such as rendering lags and excessive resource occupancy caused by too much data.
[0065] The initial grid levels that are higher than the network level corresponding to the first reference grid level are used as the intermediate grid levels. Specifically, the grid sizes of the intermediate grid levels are smaller, and the grid division is more refined, which can capture more and more subtle detailed features of the building component.
[0066] The combination of the intermediate grid levels and the reference grid levels can construct tile sets with different levels and different fineness degrees. For example, for the tiles of the high-level intermediate grid levels, they can be used in scenarios where users need to view the details of the building component up close or conduct refined design reviews. The tiles corresponding to the reference grid levels can play a role in quickly browsing the overall layout of the building and showing the general effect.
[0067] As described above, based on the matching degree between the building component and each initial grid level and the preset grid data, two key sets of grid levels are screened and determined, namely the reference grid level set and the intermediate grid level set. The reference grid level set can divide and render the building component from a relatively macroscopic perspective, presenting the overall outline while avoiding excessive data processing and improving the rendering efficiency. The intermediate grid level set can be used to present more refined detailed parts of the building component, meeting the rendering requirements in scenarios such as when in-depth viewing of local details is needed, helping to achieve reasonable division and rendering of the building component at different levels, meeting diverse display requirements, and at the same time taking into account the control of rendering efficiency and data volume.
[0068] S4. Obtain a first tile set and a second tile set corresponding to the current building component according to the reference grid level set, the intermediate grid level set, and the preset grid data. In the first tile set, there are several first tiles, several reference grid levels corresponding to each first tile, and all grid codes. In the second tile set, there are several second tiles, several intermediate grid levels corresponding to each second tile, and all grid codes.
[0069] In a specific embodiment, S4 includes the following steps:
[0070] S41. Set the (k - 1)×T + 1-th reference grid level to the k×T-th reference grid level as the k-th first tile, where T is the preset number of initial grid levels included in each first tile and each second tile, T > 1, k = 1, 2,..., P, P is the number of first tiles, and N - T < P×T ≤ N.
[0071] S42. Obtain the first tile set according to P first tiles, T reference grid levels corresponding to each first tile, and all grid codes included in each reference grid level.
[0072] S43. Set the (u - 1)×T + 1-th intermediate grid level to the u×T-th intermediate grid level as the u-th second tile, where u = 1, 2,..., Q, Q is the number of second tiles, and M - T < Q×T ≤ M.
[0073] S44. Obtain the second tile set according to Q second tiles, T intermediate grid levels corresponding to each second tile, and all grid codes included in each intermediate grid level.
[0074] Among them, the specific value of the preset number T of initial grid levels included in each first tile and each second tile can be set by the implementer according to the actual situation. For example, set T = 5.
[0075] By setting the preset number T, group multiple reference grid levels and intermediate grid levels regularly, so that each first tile contains an appropriate number of reference grid levels, and each second tile contains an appropriate number of intermediate grid levels, which is convenient for subsequent data organization and management, and also fits the overall rendering strategy, helping to achieve different levels of rendering effects.
[0076] Correspondingly, the first tile set is mainly used to display the overall outline of building components from a macroscopic perspective, and can quickly present the shape and positional relationship of building components at a larger spatial scale during rendering. The second tile set is based on a finer intermediate mesh level and can be used to present the detailed parts of building components. During the rendering process, by combining the two tile sets, an organic combination of macroscopic and microscopic rendering is achieved to meet different levels of rendering requirements.
[0077] As described above, the first tile set and the second tile set are constructed based on the reference mesh level set and the intermediate mesh level set, providing a solid data foundation for further generating the target rendering data corresponding to building components and realizing efficient and multi-level BIM model rendering.
[0078] S5. According to the reference mesh level set, the first vertex coordinate set, the preset mesh data, and several reference mesh levels corresponding to each first tile of the current building component, obtain the target mesh code set corresponding to the current building component under each first tile, where the target mesh code set includes several target mesh codes.
[0079] In a specific embodiment, S5 includes the following steps:
[0080] S51. For any mesh code in any reference mesh level corresponding to any first tile, compare the mesh range corresponding to the current mesh code with each first vertex coordinate in the first vertex coordinate set. If any first vertex coordinate is within the mesh range corresponding to the current mesh code, determine the current mesh code as the target mesh code.
[0081] S52. Traverse all mesh codes in the current reference mesh level corresponding to the current first tile to obtain all target mesh codes corresponding to the current building component under the current reference mesh level corresponding to the current first tile.
[0082] S53. Traverse all reference mesh levels corresponding to the current first tile to obtain all target mesh codes corresponding to the current building component under each reference mesh level corresponding to the current first tile.
[0083] S54. Combine all target mesh codes corresponding to the current building component under all reference mesh levels corresponding to the current first tile to obtain the target mesh code set corresponding to the current building component under the current first tile.
[0084] Among them, if any first vertex coordinate is within the grid range corresponding to the current grid code, it means that a part of the building component is located inside the current grid, that is, the grid range covers some vertices of the building component and some geometric shapes formed by connecting these vertices. Then, the current grid code is determined as the target grid code, which serves as the grid basis for rendering the building component, avoiding the processing of irrelevant grids in the entire three-dimensional space, effectively narrowing the rendering range, and thus reducing the amount of rendering data and calculation volume.
[0085] As described above, screening out the target grid codes related to the building component at each first tile and the corresponding reference grid level from multiple grid codes and integrating them into a set is an important link in further refining data association and accurately positioning grid data related to the building component in the entire BIM model rendering process, laying a solid foundation for generating high-quality rendering data subsequently.
[0086] S6. According to the target grid code set and the grid range corresponding to each grid code, obtain the grid triangle face set corresponding to the current building component under each first tile.
[0087] In a specific embodiment, the grid range corresponding to each grid code includes the preset coordinates of each vertex of the corresponding grid. S6 includes the following steps:
[0088] S61. For any target grid code under any first tile, according to the grid range corresponding to the current target grid code, obtain several adjacent grid codes corresponding to the current target grid code, and the common vertices between the current target grid code and each adjacent grid code.
[0089] S62. For any adjacent grid code corresponding to the current target grid code, if the current adjacent grid code does not belong to the target grid code in the target grid code set, then construct a triangular face of the current target grid code relative to the current adjacent grid code according to the common vertex between the current grid code and the current adjacent grid code.
[0090] S63. Traverse all adjacent grid codes corresponding to the current target grid code, and form a grid triangle face subset corresponding to the current target grid code according to all grid triangle faces corresponding to the current target grid code.
[0091] S64. Traverse all target grid codes under the current first tile, and form a grid triangle face set corresponding to the current building component under the current first tile according to the grid triangle face subset corresponding to each target grid code.
[0092] S65. Traverse all first tiles to obtain the grid triangle face set corresponding to the current building component under each first tile.
[0093] Among them, the grid codes that have common vertices with the current target grid code are determined as the adjacent grid codes corresponding to the current target grid code.
[0094] If the adjacent grid code does not belong to the target grid code set, it means that the grid corresponding to the current target grid code is truly related to the current building component. To ensure the integrity of rendering and improve the rendering effect, it is necessary to render the outer surface of the grid corresponding to the target grid code. If the adjacent grid code belongs to the target grid code set, it means that there are duplicate surfaces between the grid corresponding to the current target grid code and the grid corresponding to the adjacent grid code. To reduce the rendering data volume and improve the rendering efficiency, it is not necessary to render the outer surface of the grid corresponding to the target grid code.
[0095] Therefore, the triangular faces constructed in this embodiment can be used to represent the outer surface part of the grid represented by the current target grid code, only focusing on the rendering of the effective outer surface of the building component and ignoring the rendering of the ineffective outer surface. On the basis of ensuring the rendering effect, it can reduce unnecessary rendering data volume and greatly improve the rendering efficiency.
[0096] As described above, based on information such as the target grid code set and the grid range, the grid triangular face sets corresponding to the building component under each first tile are gradually constructed and integrated. While optimizing the rendering data volume, the triangular face data for rendering the outer surface of the building component is accurately determined, greatly improving the rendering efficiency on the basis of ensuring the rendering effect.
[0097] S7. According to the first tile set, the second tile set, the target grid code set and the grid triangular face set corresponding to the current building component under each first tile, the target rendering data corresponding to the current building component is obtained, where the target rendering data is used to render the current building component.
[0098] As described above, integrating the first tile set, the second tile set, the target grid code set and the grid triangular face set to generate the target rendering data realizes a comprehensive consideration of the building component from the whole to the details, from the spatial positioning to the construction of the specific geometric shape, enabling the BIM model to present the building component efficiently and with high quality during rendering. It not only meets the requirements for different levels of detail display of the building model in different application scenarios, but also optimizes the calculation amount and data processing amount during rendering through reasonable data organization and utilization, avoiding unnecessary data redundancy and rendering errors, and improving the rendering efficiency while ensuring the practicality and accuracy of the entire BIM model rendering.
[0099] As described above, starting from the vertex coordinates of the building component, the bounding box is gradually constructed, the size of the bounding box is obtained, and finally the matching degree with each initial grid level is determined. Based on the matching degree between the building component and each initial grid level and the preset grid data, two sets of key grid level sets are screened and determined, namely the reference grid level set and the intermediate grid level set. The building component is divided and rendered from a relatively macroscopic perspective through the reference grid level set, showing the overall outline, while avoiding excessive data processing and improving the rendering efficiency. At the same time, the more detailed parts of the building component are presented through the intermediate grid level set to meet the rendering requirements in scenarios such as when in-depth viewing of local details is needed. Further, based on the reference grid level set and the intermediate grid level set, the first tile set and the second tile set are constructed, which helps to reasonably divide and render the building component at different levels, meet diverse display requirements, and screen out the target grid codes related to the building component under each first tile and the corresponding reference grid level from multiple grid codes, which is an important link for further refining data association and accurately positioning the grid data related to the building component in the entire BIM model rendering process. Then, based on information such as the target grid code set and the grid range, the grid triangle face set corresponding to the building component under each first tile is gradually constructed and integrated. While optimizing the amount of rendering data, the triangle face data for rendering the outer surface of the building component is accurately determined, greatly improving the rendering efficiency on the basis of ensuring the rendering effect.
[0100] Embodiment 2
[0101] Embodiment 2 provides a BIM model rendering device, which includes, as Figure 2 shown:
[0102] A data acquisition module 21, configured to acquire a plurality of building components in the BIM model, the first vertex coordinate set corresponding to each building component, and preset grid data, where the first vertex coordinate set includes the coordinates of each vertex of the corresponding building component, and the preset grid data includes a plurality of initial grid levels, the grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and the grid code and grid range of each grid.
[0103] A matching degree acquisition module 22, configured to obtain the matching degree between the current building component and each initial grid level for any building component according to the first vertex coordinate set corresponding to the current building component and the preset grid data.
[0104] The grid level screening module 23 is used to obtain a set of reference grid levels and a set of intermediate grid levels corresponding to the current building component according to the matching degree between the current building component and each initial grid level and the preset grid data. Among them, the set of reference grid levels includes N reference grid levels, the set of intermediate grid levels includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0.
[0105] The tile set obtaining module 24 is used to obtain a first tile set and a second tile set corresponding to the current building component according to the set of reference grid levels, the set of intermediate grid levels and the preset grid data. Among them, the first tile set includes several first tiles, several reference grid levels corresponding to each first tile, and all grid codes, and the second tile set includes several second tiles, several intermediate grid levels corresponding to each second tile, and all grid codes.
[0106] The target grid code screening module 25 is used to obtain a set of target grid codes corresponding to the current building component under each first tile according to the set of reference grid levels corresponding to the current building component, the set of first vertex coordinates, the preset grid data, and several reference grid levels corresponding to each first tile. Among them, the set of target grid codes includes several target grid codes.
[0107] The triangular face obtaining module 26 is used to obtain a set of grid triangular faces corresponding to the current building component under each first tile according to the set of target grid codes and the grid range corresponding to each grid code.
[0108] The target rendering data obtaining module 27 is used to obtain the target rendering data corresponding to the current building component according to the first tile set, the second tile set corresponding to the current building component, the set of target grid codes corresponding to the current building component under each first tile, and the set of grid triangular faces. Among them, the target rendering data is used to render the current building component.
[0109] In a specific embodiment, the matching degree obtaining module 22 includes:
[0110] The second vertex coordinate set obtaining sub-module is used to obtain a set of second vertex coordinates of the bounding box corresponding to the current building component according to the set of first vertex coordinates corresponding to the current building component for any building component. Among them, the set of second vertex coordinates includes the coordinates of each vertex of the bounding box corresponding to the current building component.
[0111] The bounding box size obtaining sub-module is used to obtain the bounding box size of the bounding box corresponding to the current building component according to the set of second vertex coordinates of the bounding box corresponding to the current building component.
[0112] A matching degree obtaining sub-module, configured to obtain the matching degree between the current building component and each initial grid level according to the grid size and the bounding box size corresponding to each initial grid level.
[0113] In a specific embodiment, the second vertex coordinate set obtaining sub-module includes:
[0114] A maximum and minimum value obtaining unit, configured to obtain the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction according to the first vertex coordinate set.
[0115] A second vertex coordinate obtaining unit, configured to obtain all the second vertex coordinates corresponding to the current building component according to the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction.
[0116] A second vertex coordinate set obtaining unit, configured to construct a bounding box corresponding to the current building component according to all the second vertex coordinates corresponding to the current building component, and form a second vertex coordinate set of the bounding box corresponding to the current building component.
[0117] In a specific embodiment, the grid level screening module 23 includes:
[0118] A matching degree comparison sub-module, configured to compare the matching degree between each initial grid level and the current building component with a preset matching degree threshold, and obtain the maximum matching degree and all network levels greater than the preset matching degree threshold.
[0119] A candidate grid level obtaining sub-module, configured to determine the initial grid level corresponding to the maximum matching degree as the first reference grid level, and determine the initial grid levels greater than the preset matching degree threshold as candidate grid levels.
[0120] A first quantity obtaining sub-module, configured to determine, among all the candidate grid levels, the quantity of candidate grid levels whose corresponding initial grid levels are less than the initial grid level corresponding to the first reference grid level as the quantity N of the reference grid level.
[0121] A reference grid level obtaining sub-module, configured to, for any candidate grid level, if the difference between the initial grid level corresponding to the first reference grid level and the initial grid level corresponding to the current candidate grid level is i - 1, determine the current candidate grid level as the i-th reference grid level, where i = 2, 3,..., N.
[0122] The intermediate grid level obtaining sub-module is used for any initial grid level. If the difference between the current initial grid level and the initial grid level corresponding to the first reference level grid is j, then the current initial grid level is determined as the j-th intermediate grid level, where j = 1, 2, ……, M, and M can be obtained by subtracting the difference between the maximum value of the initial grid level and the initial grid level corresponding to the first reference level grid.
[0123] In a specific embodiment, the tile set obtaining module 24 includes:
[0124] The first tile obtaining sub-module is used to set the (k - 1)×T + 1-th reference grid level to the k×T-th reference grid level as the k-th first tile, where T refers to the preset number of initial grid levels included in each first tile and each second tile, T > 1, k = 1, 2, ……, P, P refers to the number of first tiles, and N - T < P×T ≤ N.
[0125] The first tile set obtaining sub-module is used to obtain the first tile set according to P first tiles, the T reference grid levels corresponding to each first tile, and all grid codes included in each reference grid level.
[0126] The second tile obtaining sub-module is used to set the (u - 1)×T + 1-th intermediate grid level to the u×T-th intermediate grid level as the u-th second tile, where u = 1, 2, ……, Q, Q refers to the number of second tiles, and M - T < Q×T ≤ M.
[0127] The second tile set obtaining sub-module is used to obtain the second tile set according to Q second tiles, the T intermediate grid levels corresponding to each second tile, and all grid codes included in each intermediate grid level.
[0128] In a specific embodiment, the target grid code screening module 25 includes:
[0129] The target grid code obtaining sub-module is used for any grid code in any reference grid level corresponding to any first tile. Compare the grid range corresponding to the current grid code with each first vertex coordinate in the first vertex coordinate set. If any first vertex coordinate is within the grid range corresponding to the current grid code, then the current grid code is determined as the target grid code.
[0130] The third traversal sub-module is used to traverse all grid codes in the current reference grid level corresponding to the current first tile, and obtain all target grid codes corresponding to the current building component in the current reference grid level corresponding to the current first tile.
[0131] The fourth traversal sub-module is used to traverse all the reference grid levels corresponding to the current first tile, and obtain all the target grid codes corresponding to the current building component at each reference grid level corresponding to the current first tile.
[0132] The target grid code set acquisition sub-module is used to combine all the target grid codes corresponding to the current building component at all the reference grid levels corresponding to the current first tile, and obtain the target grid code set corresponding to the current building component under the current first tile.
[0133] In a specific embodiment, the grid range corresponding to each grid code includes the preset coordinates of each vertex of the corresponding grid. The triangular face acquisition module 26 includes:
[0134] The adjacent grid code acquisition sub-module is used to, for any target grid code under any first tile, obtain several adjacent grid codes corresponding to the current target grid code and the common vertices between the current target grid code and each adjacent grid code according to the grid range corresponding to the current target grid code.
[0135] The triangular face construction sub-module is used to, for any adjacent grid code corresponding to the current target grid code, if the current adjacent grid code does not belong to the target grid codes in the target grid code set, construct the triangular face of the current target grid code relative to the current adjacent grid code according to the common vertex between the current grid code and the current adjacent grid code.
[0136] The fifth traversal sub-module is used to traverse all the adjacent grid codes corresponding to the current target grid code, and form the grid triangular face subset corresponding to the current target grid code according to all the grid triangular faces corresponding to the current target grid code.
[0137] The sixth traversal sub-module is used to traverse all the target grid codes under the current first tile, and form the grid triangular face set corresponding to the current building component under the current first tile according to the grid triangular face subsets corresponding to each target grid code.
[0138] The seventh traversal sub-module is used to traverse all the first tiles, and obtain the grid triangular face sets corresponding to the current building component under each first tile.
[0139] It should be noted that the information interaction, execution process, etc. between the above modules, due to being based on the same concept as the method embodiment of the present invention, for their specific functions and the technical effects brought, please refer to the method embodiment part specifically, and will not be elaborated here.
[0140] Embodiment III
[0141] Embodiment 3 of the present invention provides a non-transitory computer-readable storage medium, in which at least one instruction or at least one segment of program is stored, and the at least one instruction or at least one segment of program is loaded and executed by a processor to implement the steps:
[0142] S1. Obtain a plurality of building components in the BIM model, a first vertex coordinate set corresponding to each building component, and preset grid data, where the first vertex coordinate set includes the coordinates of each vertex of the corresponding building component, and the preset grid data includes a plurality of initial grid levels, a grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and a grid code and a grid range of each grid.
[0143] S2. For any building component, obtain the matching degree between the current building component and each initial grid level according to the first vertex coordinate set corresponding to the current building component and the preset grid data.
[0144] S3. According to the matching degree between the current building component and each initial grid level and the preset grid data, obtain a reference grid level set and an intermediate grid level set corresponding to the current building component, where the reference grid level set includes N reference grid levels, the intermediate grid level set includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0.
[0145] S4. According to the reference grid level set, the intermediate grid level set, and the preset grid data, obtain a first tile set and a second tile set corresponding to the current building component, where the first tile set includes a plurality of first tiles, a plurality of reference grid levels corresponding to each first tile, and all grid codes, and the second tile set includes a plurality of second tiles, a plurality of intermediate grid levels corresponding to each second tile, and all grid codes.
[0146] S5. According to the reference grid level set corresponding to the current building component, the first vertex coordinate set, the preset grid data, and the plurality of reference grid levels corresponding to each first tile, obtain a target grid code set corresponding to the current building component under each first tile, where the target grid code set includes a plurality of target grid codes.
[0147] S6. According to the target grid code set and the grid range corresponding to each grid code, obtain a grid triangular surface set corresponding to the current building component under each first tile.
[0148] S7. Based on the first tile set, the second tile set corresponding to the current building component, the set of target grid codes and the set of grid triangular faces corresponding to the current building component under each first tile, the target rendering data corresponding to the current building component is obtained, where the target rendering data is used to render the current building component.
[0149] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to the memory, storage, database or other media used in the various embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchronization Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.
[0150] Those skilled in the art can clearly understand that for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0151] Embodiment 4
[0152] Embodiment 4 of the present invention provides an electronic device, which includes a processor and the non-transitory computer-readable storage medium in Embodiment 3 of the present invention.
[0153] The above are only the preferred embodiments of the present invention and do not impose any form of limitation on the present invention. Although the present invention has been disclosed above with the preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some changes or modifications to equivalent embodiments with equivalent changes within the scope of the technical solution of the present invention by using the above-disclosed technical content. However, as long as it does not depart from the content of the technical solution of the present invention, any simple modification, equivalent change and modification made to the above embodiments based on the technical essence of the present invention still fall within the scope of the technical solution of the present invention.
Claims
1. A BIM model rendering method, characterized in that: The BIM model rendering method comprises the following steps: S1, obtaining a plurality of building components in a BIM model, a first vertex coordinate set corresponding to each building component, and preset grid data, wherein the first vertex coordinate set includes the coordinates of each vertex of the corresponding building component, and the preset grid data includes a plurality of initial grid levels, a grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and a grid code and a grid range of each grid; S2, for any building component, obtaining a matching degree between the current building component and each initial grid level according to a first vertex coordinate set corresponding to the current building component and the preset grid data; S3, according to the matching degree between the current building component and each initial grid level and the preset grid data, obtaining a reference grid level set and an intermediate grid level set corresponding to the current building component, wherein the reference grid level set includes N reference grid levels, the intermediate grid level set includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0; S4, acquiring a first tile set and a second tile set corresponding to the current building component according to the reference grid level set, the intermediate grid level set and the preset grid data, wherein the first tile set includes a plurality of first tiles, a plurality of reference grid levels corresponding to each first tile and all grid codes, and the second tile set includes a plurality of second tiles, a plurality of intermediate grid levels corresponding to each second tile and all grid codes; S5, acquiring a target grid code set corresponding to the current building component under each first tile according to the reference grid level set and the first vertex coordinate set corresponding to the current building component, the preset grid data, and a plurality of reference grid levels corresponding to each first tile, wherein the target grid code set includes a plurality of target grid codes; S6, acquiring a grid triangle face set corresponding to the current building component under each first tile according to the target grid code set and the grid range corresponding to each grid code; S7, acquiring target rendering data corresponding to the current building component according to the first tile set, the second tile set, and the target grid code set and grid triangle face set corresponding to each first tile of the current building component, wherein the target rendering data is used to render the current building component.
2. The BIM model rendering method according to claim 1, characterized in that: S2 includes the following steps: S21, for any building component, obtaining a second vertex coordinate set of a bounding box corresponding to the current building component according to a first vertex coordinate set corresponding to the current building component, wherein the second vertex coordinate set includes the coordinates of each vertex of the bounding box corresponding to the current building component; S22, acquiring a bounding box size corresponding to the bounding box corresponding to the current building structure according to a second vertex coordinate set corresponding to the bounding box corresponding to the current building structure; S23, obtaining a matching degree between the current building component and each initial grid level according to the grid size corresponding to each initial grid level and the bounding box size.
3. The BIM model rendering method according to claim 2, characterized in that: S21 includes the following steps: S211, acquiring the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction according to the first vertex coordinate set; S212, acquiring all second vertex coordinates corresponding to the current building component according to the maximum coordinate value and the minimum coordinate value of the current building component in each coordinate direction; S213: construct a bounding box corresponding to the current building component according to all second vertex coordinates corresponding to the current building component, and form a second vertex coordinate set of the bounding box corresponding to the current building component.
4. The BIM model rendering method according to claim 1, characterized in that: S3 includes the following steps: S31, comparing the matching degree between each initial grid level and the current building component with a preset matching degree threshold, and obtaining all network levels with the maximum matching degree and a degree greater than the preset matching degree threshold; S32, determining the initial grid level corresponding to the maximum matching degree as the first reference grid level, and determining the initial grid level greater than the preset matching degree threshold as the candidate grid level; S33, among all candidate grid levels, determining the number of candidate grid levels whose corresponding initial grid levels are smaller than the initial grid level corresponding to the first reference grid level as the number N of reference grid levels; S34, for any candidate grid level, if the difference between the initial grid level corresponding to the first reference grid level and the initial grid level corresponding to the current candidate grid level is i-1, the current candidate grid level is determined as the i-th reference grid level, where i=2, 3, ..., N; S35, for any initial grid level, if the difference between the current initial grid level and the initial grid level corresponding to the first reference level grid is j, the current initial grid level is determined as the jth intermediate grid level, where j=1, 2, ..., M, and M can be obtained by subtracting the difference between the initial grid level corresponding to the first reference level grid from the maximum value of the initial grid level.
5. The BIM model rendering method according to claim 4, characterized in that: S4 includes the following steps: S41, setting the (k-1)×T+1th reference grid level to the k×Tth reference grid level as the kth first tile, wherein T refers to a preset number of initial grid levels included in each first tile and each second tile, T>1, k=1, 2, ..., P, P refers to the number of first tiles, and NT<P×T≤N; S42, acquiring a first tile set according to the P first tiles, the T reference grid levels corresponding to each first tile, and all grid codes included in each reference grid level; S43, setting the (u-1)×T+1th intermediate grid level to the u×Tth intermediate grid level as the uth second tile, where u=1, 2, ..., Q, Q refers to the number of second tiles, and MT<Q×T≤M; S44 , acquiring a second tile set according to the Q second tiles, the T intermediate grid levels corresponding to each second tile, and all grid codes included in each intermediate grid level.
6. The BIM model rendering method according to claim 1, characterized in that: S5 includes the following steps: S51, for any grid code in any reference grid level corresponding to any first tile, compare the grid range corresponding to the current grid code with each first vertex coordinate in the first vertex coordinate set, and if any first vertex coordinate is within the grid range corresponding to the current grid code, determine the current grid code as the target grid code; S52, traversing all grid codes in the current reference grid level corresponding to the current first tile, and acquiring all target grid codes corresponding to the current building component in the current reference grid level corresponding to the current first tile; S53, traversing all reference grid levels corresponding to the current first tile, and acquiring all target grid codes corresponding to the current building component at each reference grid level corresponding to the current first tile; S54: Combine all target grid codes corresponding to the current building component at all reference grid levels corresponding to the current first tile to obtain a target grid code set corresponding to the current building component at the current first tile.
7. The BIM model rendering method according to claim 1, characterized in that: The grid range corresponding to each grid code includes the preset coordinates of each vertex of the corresponding grid, and S6 includes the following steps: S61, for any target grid code under any first tile, according to the grid range corresponding to the current target grid code, obtain a number of adjacent grid codes corresponding to the current target grid code, and a common vertex between the current target grid code and each adjacent grid code; S62, for any adjacent grid code corresponding to the current target grid code, if the current adjacent grid code does not belong to the target grid code in the target grid code set, constructing a triangular face of the current target grid code relative to the current adjacent grid code according to common vertices between the current grid code and the current adjacent grid code; S63, traversing all adjacent grid codes corresponding to the current target grid code, and forming a grid triangle subset corresponding to the current target grid code according to all grid triangles corresponding to the current target grid code; S64, traversing all target grid codes under the current first tile, and composing a grid triangle face set corresponding to the current building component under the current first tile according to a grid triangle face subset corresponding to each target grid code; S65, traverse all first tiles to obtain a set of mesh triangle faces corresponding to the current building component under each first tile.
8. A BIM model rendering device, characterized in that: The BIM model rendering device comprises: A data acquisition module, used to acquire a plurality of building components in the BIM model, a first vertex coordinate set corresponding to each building component, and preset grid data, wherein the first vertex coordinate set includes the coordinates of each vertex of the corresponding building component, and the preset grid data includes a plurality of initial grid levels, a grid size corresponding to each initial grid level, a plurality of grids corresponding to each initial grid level, and a grid code and a grid range of each grid; A matching degree acquisition module, for acquiring, for any building component, a matching degree between the current building component and each initial grid level according to a first vertex coordinate set corresponding to the current building component and the preset grid data; A grid level screening module, used for acquiring a reference grid level set and an intermediate grid level set corresponding to the current building component according to the matching degree between the current building component and each initial grid level and the preset grid data, wherein the reference grid level set includes N reference grid levels, the intermediate grid level set includes M intermediate grid levels, the initial grid level corresponding to the intermediate initial grid level is greater than the initial grid level corresponding to the reference initial grid level, and N and M are integers greater than 0; A tile set acquisition module, configured to acquire a first tile set and a second tile set corresponding to the current building component according to the reference grid level set, the intermediate grid level set and the preset grid data, wherein the first tile set includes a plurality of first tiles, a plurality of reference grid levels corresponding to each first tile and all grid codes, and the second tile set includes a plurality of second tiles, a plurality of intermediate grid levels corresponding to each second tile and all grid codes; A target grid code screening module is used to obtain a target grid code set corresponding to the current building component under each first tile according to a reference grid level set and a first vertex coordinate set corresponding to the current building component, the preset grid data and a plurality of reference grid levels corresponding to each first tile, wherein the target grid code set includes a plurality of target grid codes; A triangle face acquisition module, used to acquire a set of mesh triangle faces corresponding to the current building component under each first tile according to the target mesh code set and the mesh range corresponding to each mesh code; The target rendering data acquisition module is used to acquire the target rendering data corresponding to the current building component according to the first tile set and the second tile set corresponding to the current building component, and the target grid code set and the grid triangle face set corresponding to each first tile of the current building component, wherein the target rendering data is used to render the current building component.
9. A non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the non-transitory computer-readable storage medium, characterized in that: The at least one instruction or the at least one program is loaded and executed by the processor to implement the BIM model rendering method as described in any one of claims 1 to 7.
10. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 9.
Citation Information
Patent Citations
BIM model data optimization method and device, electronic equipment and storage medium
CN118429500A
LOD-based BIM model lightweight construction and display method
WO2023124842A1