3D Model Data Extraction Optimization and Rendering Method, System, Device, and Medium

By finely abstracting and structuring Navisworks data, combined with Three.js parallel loading and adaptive rendering, the problems of low data extraction efficiency and bottlenecks in Web-side rendering performance are solved, and efficient and smooth three-dimensional visualization applications are achieved.

CN119941967BActive Publication Date: 2025-07-04LUCULENT SMART TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510436615.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-09
Publication Date
2025-07-04
Estimated Expiration
2045-04-09

AI Technical Summary

Technical Problem

The existing Navisworks data extraction methods are inefficient and have large data redundancy. The performance bottlenecks of web-side rendering technology are prominent and the user experience is poor. It is necessary to solve the problems of how to improve data extraction efficiency, optimize data structure, reduce data volume and improve web-side rendering performance.

Method used

Through refined data abstraction and structure based on the Navisworks model, Three.js loading is used to optimize data files, parallel scene loading based on web, visual perception-driven adaptive rendering, BVH data structure is constructed, including data semantic classification and labeling, hierarchical scene organization, multi-threaded parallel processing, visual significance analysis and progressive rendering.

Benefits of technology

It improves data processing speed and efficiency, reduces data redundancy, reduces file size, improves rendering performance and user experience, expands the application range, reduces dependence on hardware resources, and achieves smooth three-dimensional scene rendering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941967B_ABST
    Figure CN119941967B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, system, device and medium for optimizing the extraction and rendering of 3D model data, which relates to the technical fields of 3D modeling, data processing and rendering, and includes performing refined data abstraction and structuring based on the Navisworks model, loading and optimizing data files using Three.js, parallel scene loading based on the Web, visually-perception-driven adaptive rendering, and constructing a BVH data structure; the method of the present invention improves data processing efficiency, reduces the need for manual intervention, reduces data redundancy, can be seamlessly integrated into the existing workflow, and based on Web technology, can be applied to various platforms, enhancing compatibility and flexibility. By optimizing data and rendering strategies, the demand for hardware resources in the rendering process is reduced, enabling mid- to low-end devices to smoothly run complex 3D scenes, expanding the potential user base and application scope.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical fields of 3D modeling, data processing, and rendering, and specifically to a method, system, device, and medium for 3D model data extraction optimization and rendering. Background Art

[0002] In the current fields of Building Information Modeling (BIM) and 3D visualization, Navisworks, as a widely used professional software, demonstrates its powerful 3D model creation and management capabilities. Navisworks supports the construction of complex 3D models and provides a series of powerful tools to manage and analyze this data. With the continuous progress of Web technology, Web-based rendering engines such as three.js have gradually become the preferred tools for 3D visualization applications due to their cross-platform, easy integration, and efficient rendering characteristics.

[0003] Although Navisworks and three.js have made significant progress in their respective fields, there are still some significant deficiencies in practical applications. Navisworks only supports exporting FBX file data, and the extracted FBX file data often contains a large amount of redundant and duplicate information. The unoptimized data file has a large volume, which is not conducive to subsequent loading and rendering.

[0004] Existing 3D scene rendering technologies often face rendering performance bottlenecks when dealing with large-scale complex scenes. Due to the large number of objects and complex materials in the scene, problems such as lag are likely to occur during the rendering process, affecting the user experience.

[0005] In summary, there are still many deficiencies in the existing technologies for Navisworks data extraction and Web-based rendering. There is an urgent need for a more efficient, flexible, and compatible solution to overcome these challenges. Summary of the Invention

[0006] In view of the above existing problems, the present invention is proposed.

[0007] Therefore, the technical problem solved by the present invention is that the existing Navisworks data extraction method has low efficiency and large data redundancy, and the Web-based rendering technology has prominent performance bottlenecks and poor user experience. It is necessary to solve the problems of how to improve data extraction efficiency, optimize data structure, reduce data volume, and enhance Web-based rendering performance, and build a more efficient and smooth 3D visualization application.

[0008] To solve the above technical problems, the present invention provides the following technical solutions: a method for optimizing the extraction and rendering of three-dimensional model data, including performing refined data abstraction and structuring based on the Navisworks model; using Three.js to load and optimize data files and perform parallel scene loading based on the Web; performing adaptive rendering driven by visual perception and constructing a BVH data structure; the data abstraction and structuring include semantically classifying and tagging geometric, material, and attribute data based on Navisworks and adopting a hierarchical scene organization structure; the parallel scene loading includes storing data distributedly on the server using Three.js, performing multi-threaded parallel processing based on the Web Workers technology, and dynamically loading and unloading models using a caching mechanism; the adaptive rendering includes analyzing the user's visual perception and interaction behavior based on a visual saliency analysis algorithm.

[0009] As a preferred embodiment of the method for optimizing the extraction and rendering of three-dimensional model data according to the present invention, wherein: the refined data abstraction and structuring based on the Navisworks model includes starting a data extraction module in the Navisworks software, performing parsing, extraction, and hashing operations on the three-dimensional model, abstracting and structuring the attribute data and geometric data, parsing the three-dimensional model data, semantically classifying and tagging the attribute data and geometric data, reducing data redundancy, performing CTM format compression, and constructing a data extraction granularity control model for the model complexity.

[0010] As a preferred embodiment of the method for optimizing the extraction and rendering of three-dimensional model data according to the present invention, wherein: the data extraction granularity control model for the model complexity includes setting a threshold for the number of triangular faces of the Navisworks model. When the number of triangular faces exceeds the preset threshold for the number of triangular faces, a finer-grained data extraction strategy is adopted to decompose the ModelItem and extract the attribute data and geometric data separately; traversing the ModelItem in the Navisworks scene tree, assigning a unique ID to each ModelItem, collecting the attribute information of each ModelItem, and saving it to different CSV files; establishing a data structure for storing geometric data, material data, and texture image information, extracting the geometric data, performing integerization and hashing, completing format conversion and storage, and constructing the basic conditions for deduplication and compression processing of the extracted geometric data.

[0011] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, wherein: the duplicate removal and compression processing of the extracted geometric data includes processing the geometric data based on the CTM format to generate an l3d file and a geometryList.json.gz file, creating an OrderedGeometry.json.gz file, recording the index, volume, and ID of the geometric body, and sorting according to the surface area of the bounding box.

[0012] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, wherein: the Web-based parallel scene loading includes using Three.js to load the FragmentList.json.gz and GeometryList.json.gz files, downloading and decompressing the l3d files one by one, using multiple workers in the browser background to parallel download, decompress, and parse the files, and performing rendering in the foreground worker.

[0013] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, wherein: the visually-perceived-driven adaptive rendering includes calculating the visible objects to generate a rendering queue based on the position and angle changes of the camera and the sorting of the surface areas of the bounding boxes of the visible objects, setting a threshold for the rendering time per frame, and limiting the rendering time per frame.

[0014] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, wherein: the construction of the BVH data structure includes adopting a progressive rendering strategy, dynamically adjusting the priorities of the objects in the rendering queue based on user interaction operations, adding objects to the rendering queue one by one for rendering, and preferentially rendering the objects that the user is concerned about.

[0015] Another object of the present invention is to provide a three-dimensional model data extraction optimization and rendering system, which can perform refined data abstraction and structuring based on the Navisworks model, and solves the problems of low Navisworks data extraction efficiency, large data redundancy, prominent Web-side rendering performance bottleneck, and poor user experience.

[0016] As a preferred solution of the three-dimensional model data extraction optimization and rendering system described in the present invention, it includes a Navisworks data abstraction and structuring module, a Web-side optimized data loading and parallel processing module, and an InstancedMesh adaptive rendering module; the Navisworks data abstraction and structuring module is used to start the data extraction module based on the Navisworks software, perform parsing, extraction, and hashing operations on the three-dimensional model, abstract and structure the attribute data and geometric data, parse the three-dimensional model data, semantically classify and label the attribute data and geometric data, reduce data redundancy, perform CTM format compression, and construct a data extraction granularity control model for the model complexity; the Web-side optimized data loading and parallel processing module is used to load and optimize data files using Three.js, process the geometric data based on the CTM format, generate l3d files and geometryList.json.gz files, create an OrderedGeometry.json.gz file, and sort according to the surface area of the bounding box; the InstancedMesh adaptive rendering module is used to construct a BVH data structure and analyze the user's visual perception and interaction behavior based on the visual saliency analysis algorithm.

[0017] A computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the three-dimensional model data extraction optimization and rendering method are implemented.

[0018] A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the three-dimensional model data extraction optimization and rendering method are implemented.

[0019] The beneficial effects of the present invention: The three-dimensional model data extraction optimization and rendering method provided by the present invention automatically and efficiently extracts Navisworks data, generates a customized file set, improves the data processing speed and efficiency, reduces data redundancy, reduces the file size, saves storage space, and reduces the network transmission cost through data deduplication and merging. Based on the rendering optimization function of Three.js, without sacrificing quality, it improves the rendering performance, adopts progressive rendering, dynamically loads scene objects, shortens the initial loading time, improves the scene response speed and interaction fluency, and enhances the user experience. The present invention can be seamlessly integrated into the existing workflow, and based on Web technology, it can be applied to various platforms, enhancing compatibility and flexibility, optimizing data and rendering strategies, reducing the dependence on high-end hardware, expanding the application scope, and providing a more efficient and economical solution for three-dimensional modeling and visualization. Description of the Drawings

[0020] To more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the accompanying drawings required for the description of the embodiments. Obviously, the accompanying 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 accompanying drawings can be obtained based on these drawings.

[0021] Figure 1 It is the overall flowchart of the three-dimensional model data extraction optimization and rendering method provided for the first embodiment of the present invention. Specific embodiments

[0022] To make the above objects, features, and advantages of the present invention more obvious and understandable, the following will make a detailed description of the specific embodiments of the present invention with reference to the accompanying drawings of the specification. Obviously, the described embodiments are some embodiments of the present invention, not 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 shall fall within the protection scope of the present invention.

[0023] Embodiment 1, referring to Figure 1 , which is an embodiment of the present invention, provides a three-dimensional model data extraction optimization and rendering method, including:

[0024] S1: Perform refined data abstraction and structuring based on the Navisworks model.

[0025] Furthermore, performing refined data abstraction and structuring based on the Navisworks model includes starting the data extraction module in Autodesk's 3D design review software Navisworks, performing parsing, extraction, and hashing operations on the three-dimensional model, abstracting and structuring the attribute data and geometric data, parsing the three-dimensional model data, semantically classifying and tagging the attribute data and geometric data, reducing data redundancy, performing CTM format compression, and constructing a data extraction granularity control model for the model complexity.

[0026] It should be noted that the CTM format is a file format for storing three-dimensional model data, that is, three-dimensional model compression, data transmission, three-dimensional modeling, and rendering.

[0027] It should be noted that the data extraction granularity control model for model complexity includes setting the triangle face number threshold of the Navisworks model. When the triangle face number exceeds the preset triangle face number threshold, a finer-grained data extraction strategy is adopted to decompose the ModelItem, and the attribute data and geometric data are extracted separately; traverse the ModelItem in the Navisworks scene tree, assign a unique ID to each ModelItem, collect the attribute information of each ModelItem, and save it to different CSV files; establish a data structure for storing geometric data, material data, and texture image information, extract the geometric data, perform integerization and hashing processing, complete the format conversion and storage, and build the basic conditions for deduplication and compression processing of the extracted geometric data.

[0028] It should also be noted that an optimal scheme for setting the triangle face number threshold of the Navisworks model includes that high-end devices can handle more complex models, and the threshold can be set higher. For complex scenes, a lower threshold is required to ensure smooth rendering. When the model complexity exceeds the threshold, a finer-grained data extraction strategy is adopted to decompose the ModelItem, and the attributes and geometric data are extracted separately. A data structure is established to store geometric, material, and texture information, and integerization and hashing processing are performed.

[0029] It should also be noted that the deduplication and compression processing of the extracted geometric data includes processing the geometric data based on the CTM format to generate an l3d file and a geometryList.json.gz file, creating an OrderedGeometry.json.gz file to record the index, volume, and ID of the geometric body, and sorting by the surface area of the bounding box.

[0030] It should also be noted that the l3d file is a custom three-dimensional data format for storing three-dimensional model or scene data; the geometryList.json.gz file is a compressed JSON file containing a list of geometric bodies, and each geometric body includes detailed information such as vertices, edges, and faces.

[0031] It should also be noted that the refined data abstraction and structuring based on the Navisworks model effectively reduce the redundancy of three-dimensional model data through semantic classification and tagging, as well as the refined processing of attribute and geometric data; adopt automated data extraction and hashing operations to avoid manual intervention and improve the extraction efficiency; adopt a hierarchical scene organizational structure and establish a special data structure to store geometric, material, and texture information, making the data structure clearer and easier to manage and use.

[0032] S2: Use Three.js to load and optimize the data file, and perform parallel scene loading based on the Web.

[0033] Furthermore, the Web-based parallel scene loading includes using the JavaScript 3D rendering library Three.js to load the FragmentList.json.gz and GeometryList.json.gz files, downloading and decompressing the l3d files one by one, and using multiple workers in the browser background to download, decompress, and parse the files in parallel, and performing rendering in the foreground worker.

[0034] It should be noted that FragmentList.json.gz is a compressed JSON file containing a list of fragments or parts of a 3D scene, which is designed to accelerate frustum culling, so that it is possible to determine whether a fragment is displayed based on the view distance or other factors during rendering.

[0035] It should be noted that the Web-based parallel scene loading includes creating a BoundingVolume Hierarchy (BVH) data structure based on the data in fragmentList.json.gz.

[0036] It should be noted that the BoundingVolume Hierarchy (BVH) data structure, i.e., the bounding box hierarchy, is used to accelerate the frustum culling technique in 3D computer graphics.

[0037] It should also be noted that by downloading, decompressing, and parsing files in parallel, taking advantage of the multi-threading of the browser, the scene loading speed is increased, and the user waiting time is shortened; a caching mechanism is adopted to dynamically load and unload models, and according to user operations and scene changes, the loaded content is dynamically adjusted to optimize resource utilization and avoid excessive memory occupation; the optimization function of the Three.js rendering engine is utilized to improve the rendering efficiency and make the scene rendering more fluent.

[0038] S3: Vision perception-driven adaptive rendering, constructing the BVH data structure.

[0039] Furthermore, the vision perception-driven adaptive rendering includes calculating a rendering queue for visible objects based on the changes in the position and angle of the camera and the surface area sorting of the bounding boxes of visible objects, setting a threshold for the rendering time per frame, and limiting the rendering time per frame.

[0040] It should be noted that when calculating the rendering queue for visible objects, the 1000 InstancedMeshes in Three.js with the largest area for instance rendering always remain in the main scene. When the position and angle of the camera change, the 3D viewport needs to be redrawn. Combining with the algorithm related to frustum visibility calculation, it is calculated which fragments are visible, and the rendering queue of the sub-scene is constructed with the instancedMeshes involved in these fragments. It is sorted in reverse order according to the surface area of the bounding box, and the time-consuming for each frame of rendering is limited to 15 milliseconds. A sub-scene is taken out from the queue and added to the main scene, and it is judged whether the limited time is reached. If the limited time is not reached, continue to take out a sub-scene from the queue and add it to the main scene. The remaining sub-scenes in the queue are successively added to the main scene for rendering in subsequent frames. When all sub-scenes are added to the main scene and rendered, the program will stop rendering. After stopping rendering, when the position and angle of the camera change again, the program can start redrawing more quickly.

[0041] More specifically, it should be noted that constructing the BVH data structure includes adopting a progressive rendering strategy, dynamically adjusting the priority of objects in the rendering queue based on user interaction operations, adding objects one by one in the rendering queue for rendering, and giving priority to rendering the objects that the user is concerned about.

[0042] Embodiment 2 is an embodiment of the present invention, which provides a method for optimizing the extraction and rendering of 3D model data. In order to verify the beneficial effects of the present invention, scientific demonstration is carried out through economic benefit calculation and simulation experiments.

[0043] First, six 3D scenes with different complexities are selected as experimental objects, named Scene A to Scene F respectively. Each of the six 3D scenes contains multiple ModelItems, involving diverse geometries, materials, and texture data.

[0044] Specifically, in the experimental preparation stage, the data extraction module is started to initialize the data extraction process from the Navisworks software, and the Navisworks file is loaded to parse the 3D model data. Each ModelItem in the scene tree is traversed, and a unique number is assigned to each ModelItem, and the relevant attribute data and geometric data are collected. The attribute and geometric data are saved to four files, namely tree.csv, attrs.csv, vals.csv, and avs.csv respectively, to avoid duplicate data storage and optimize the data structure.

[0045] Furthermore, in the geometric data extraction stage, a fragment array, a dictionary of id and fragment index, a geometric data array GeometryList, and a material data array MaterialList are established. For each ModelItem, detailed geometric data and material data are extracted and optimized, including integerization, generating a json string, and establishing a hash value. The fragment array is also compressed, converted into a json string, and saved as the FragmentList.js file. Referring to Table 1, the data in the experimental part are recorded and analyzed.

[0046] Table 1 Performance comparison table of the inventive method and the traditional method in different scenarios

[0047]

[0048] Furthermore, after data optimization, the size of the model file is reduced. For example, the model file of Scenario A is reduced from 450MB to 40MB, and Scenario F also shows a similar optimization effect. This fully demonstrates the effectiveness of the data deduplication and compression algorithms, laying a foundation for subsequent fast loading and rendering.

[0049] It should be noted that the rendering time is significantly reduced as the model file size decreases. The rendering time of Scenario A is reduced from 125ms to 30ms, and Scenario F also achieves a similar improvement. This indicates that the optimized data is easier to process, significantly improving the rendering efficiency.

[0050] Furthermore, it is shown that the frame rate is effectively improved. The frame rate of Scenario A is increased from 8FPS to 29FPS, and Scenario F shows a similar improvement. This further proves that the optimized data can better maintain a high frame rate during rendering, enhancing the user experience.

[0051] More importantly, the reduction in the number of geometries and the amount of material data reflects the effectiveness of the data deduplication and merging algorithms, while the reduction in the texture file size demonstrates the advantages of texture optimization and compression techniques. The data comparison and analysis results in Table 1 jointly prove that the present invention shows significant advantages in data extraction, optimization, and rendering, reducing data redundancy, improving rendering efficiency, and embodying the innovation and practicality in 3D scene construction. Compared with the prior art, the present invention has obvious advantages in reducing data volume, improving rendering speed, and stabilizing the frame rate, providing a new solution for efficient 3D scene construction.

[0052] Embodiment 3, an embodiment of the present invention, provides a 3D model data extraction, optimization, and rendering system, including a Navisworks data abstraction and structuring module, a Web - end optimized data loading and parallel processing module, and an InstancedMesh adaptive rendering module.

[0053] Among them, X1: The Navisworks data abstraction and structuring module includes a data extraction sub-module and a data optimization sub-module.

[0054] Furthermore, the data extraction sub-module is used to parse Navisworks files, extract 3D model data, and store the extracted 3D model data in multiple CSV files and JSON files; the data optimization sub-module is used to remove duplicate geometry data and material data, compress it in CTM format to generate an l3d file, extract texture images, generate a materials.json.gz file, construct OrderedGeometry, and record the surface area size sorting of the bounding box.

[0055] It should be noted that the data optimization sub-module depends on the data extraction sub-module to analyze and optimize the data after extraction. The Navisworks data abstraction and structuring module is the core of the entire system, providing a data basis for optimizing data loading and parallel processing modules on the Web side.

[0056] It should also be noted that each sub-module inside the data optimization sub-module depends on each other. After optimizing the geometry data and material data, fragmented objects are generated, laying the foundation for generating OrderedGeometry.

[0057] X2: The Web-side optimized data loading and parallel processing module includes a data loading sub-module and a rendering sub-module.

[0058] Furthermore, the data loading sub-module is used to download and parse fragmentList.json.gz, geometryList.json.gz, and l3d files, and multiple workers in the browser background download and parse them in parallel; the rendering sub-module is used to load geometry data and material data with the three.js engine, create an InstancedMesh object for rendering, and construct a BVH data structure and a progressive rendering strategy.

[0059] It should be noted that the rendering sub-module is based on the data loading sub-module to load data for rendering and create and manage InstancedMesh.

[0060] It should also be noted that the data loading sub-module and the rendering sub-module jointly complete data loading and rendering, and jointly cooperate with the InstancedMesh adaptive rendering module.

[0061] X3: The InstancedMesh adaptive rendering module includes an InstancedMesh creation sub-module and an InstancedMesh management sub-module.

[0062] Furthermore, the InstancedMesh creation sub-module is used to create InstancedMesh objects and dynamically update the visibility status of the InstancedMesh objects according to the changes in the camera position and angle; the InstancedMesh management sub-module is used to manage the memory occupancy of the InstancedMesh objects.

[0063] It should be noted that the creation of InstancedMesh is the starting point of the entire module. It creates InstancedMesh objects and provides objects for InstancedMesh management.

[0064] It should also be noted that the InstancedMesh adaptive rendering module is a component of the Web-side optimized data loading and parallel processing module, which provides InstancedMesh objects for the rendering sub-module, and they are nested with each other.

[0065] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in various embodiments of the present invention. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.

[0066] The logic and / or steps represented in the flowchart or described in other ways herein, for example, can be considered as a definite sequence list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other systems that can fetch instructions from the instruction execution system, apparatus, or device and execute the instructions), or in combination with these instruction execution systems, apparatuses, or devices. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device.

[0067] More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection (electronic device) having one or more wirings, a portable computer diskette (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable media can even be paper or other suitable media on which a program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or otherwise processing it as appropriate, and then storing it in a computer memory.

[0068] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following techniques known in the art can be used: discrete logic circuits having logic gate circuits for implementing logical functions on data signals, application specific integrated circuits having appropriate combinational logic gate circuits, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc. It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that the technical solutions of the present invention can be modified or equivalently replaced without departing from the spirit and scope of the technical solutions of the present invention, and they should all be covered by the scope of the claims of the present invention.

Claims

1. A method for optimizing the extraction and rendering of 3D model data, characterized in that Including: Fine-grained data abstraction and structuring based on the Navisworks model; Using Three.js to load and optimize data files, and web-based parallel scene loading; Vision perception-driven adaptive rendering, and constructing a BVH data structure; The fine-grained data abstraction and structuring based on the Navisworks model includes Starting the data extraction module in the Navisworks software, parsing, extracting, and hashing the 3D model, and abstracting and structuring the attribute data and geometric data The operations of parsing, extracting, and hashing the 3D model include, for each ModelItem, extracting and optimizing detailed geometric data and material data, including integerization processing, generating a json string, and establishing a hash value; The abstraction and structuring include parsing the 3D model data, semantically classifying and tagging the attribute data and geometric data, reducing data redundancy, performing CTM format compression, and constructing a data extraction granularity control model for model complexity; The data extraction granularity control model for model complexity includes Setting the triangle face number threshold of the Navisworks model. When the triangle face number exceeds the preset triangle face number threshold, a finer-grained data extraction strategy is adopted to decompose the ModelItem and extract the attribute data and geometric data separately; Traversing the ModelItems in the Navisworks scene tree, assigning a unique ID to each ModelItem, collecting the attribute information of each ModelItem, and saving it to different CSV files; Establishing a data structure for storing geometric data, material data, and texture image information, extracting geometric data, performing integerization and hashing processing, completing format conversion and storage, and constructing the basic conditions for deduplication and compression processing of the extracted geometric data; The deduplication and compression processing of the extracted geometric data includes Processing the geometric data based on the CTM format to generate an l3d file and a geometryList.json.gz file, creating an OrderedGeometry.json.gz file to record the index, volume, and ID of the geometric body, and sorting by the surface area of the bounding box; The parallel scene loading includes using Three.js to store the data distributedly on the server, performing multi-threaded parallel processing based on the Web Workers technology, and using a caching mechanism to dynamically load and unload the model; The adaptive rendering includes analyzing the user's visual perception and interaction behavior based on the visual saliency analysis algorithm.

2. The three-dimensional model data extraction optimization and rendering method according to claim 1, characterized in that: The web-based parallel scene loading described above includes Using Three.js to load the FragmentList.json.gz and GeometryList.json.gz files, downloading and decompressing the l3d files one by one, using multiple workers in the browser background to parallelly download, decompress, and parse the files, and performing rendering in the foreground worker.

3. The three-dimensional model data extraction optimization and rendering method according to claim 2, characterized in that: The vision perception-driven adaptive rendering described above includes Based on the changes in the position and angle of the camera and the sorting of the surface areas of the bounding boxes of visible objects, calculate the rendering queue generated by visible objects, set a threshold for the rendering time per frame, and limit the rendering time per frame.

4. The three-dimensional model data extraction optimization and rendering method according to any one of claims 1, 2, or 3, characterized in that: The construction of the BVH data structure includes Adopt a progressive rendering strategy, dynamically adjust the priorities of objects in the rendering queue based on user interaction operations, add objects to the rendering queue one by one for rendering, and give priority to rendering objects that the user is concerned about.

5. A system for optimizing and rendering three-dimensional model data extraction, characterized in that: It includes a Navisworks data abstraction and structuring module, a Web-side optimized data loading and parallel processing module, and an InstancedMesh adaptive rendering module; The Navisworks data abstraction and structuring module is used to parse three-dimensional model data, semantically classify and label attribute data and geometric data, reduce data redundancy, perform CTM format compression, and construct a data extraction granularity control model for model complexity; set a threshold for the number of triangular faces of the Navisworks model. When the number of triangular faces exceeds the preset threshold of the number of triangular faces, adopt a finer-grained data extraction strategy to decompose the ModelItem and extract attribute data and geometric data separately; traverse the ModelItem in the Navisworks scene tree, assign a unique ID to each ModelItem, collect the attribute information of each ModelItem, and save it to different CSV files; establish a data structure for storing geometric data, material data, and texture image information, extract geometric data, perform integerization and hashing processing, complete format conversion and storage, and construct the basic conditions for deduplication and compression processing of the extracted geometric data; The Web-side optimized data loading and parallel processing module is used to process geometric data based on the CTM format, generate an l3d file and a geometryList.json.gz file, create an OrderedGeometry.json.gz file, record the index, volume, and ID of the geometric body, and sort by the surface area of the bounding box; parallelized scene loading includes storing data distributedly on the server using Three.js, performing multi-threaded parallel processing based on the Web Workers technology, and dynamically loading and unloading models using a caching mechanism; The InstancedMesh adaptive rendering module is used to analyze the user's visual perception and interaction behavior based on a visual saliency analysis algorithm.

6. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the three-dimensional model data extraction optimization and rendering method according to any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the three-dimensional model data extraction optimization and rendering method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method, device and equipment for processing BIM file based on Navisworks software and storage medium

    CN114443158A

  • Page rendering method and device, electronic equipment and computer readable medium

    CN118797199A