Three-dimensional model data extraction optimization and rendering method, system, equipment and medium
By performing refined data abstraction and structure on the Navisworks model, combined with Three.js and Web parallel loading technology, Navisworks' low data extraction efficiency and web-side rendering performance bottlenecks are solved, achieving more efficient data processing and smooth user experience.
Patent Information
- Application Number
- CN202510436615.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2045-04-09
AI Technical Summary
The existing Navisworks data extraction methods are inefficient and have large data redundancy. The performance bottlenecks of Web-side rendering technology are prominent, resulting in poor user experience.
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 the web, visual perception-driven adaptive rendering, build BVH data structures, reduce data redundancy, and improve rendering performance.
Improve data extraction efficiency, reduce data redundancy and file size, improve web-side rendering performance and user experience, and reduce dependence on high-end hardware.
Smart Images

Figure CN119941967A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional modeling, data processing and rendering technology, and specifically to a three-dimensional model data extraction optimization and rendering method, system, equipment and medium. Background Art
[0002] In the current field of building information modeling (BIM) and 3D visualization, Navisworks, as a widely used professional software, has demonstrated 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 these data. With the continuous advancement of Web technology, Web-side rendering engines such as three.js have gradually become the preferred tool 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 the export of FBX file data. The extracted FBX file data often contains a lot of redundant and repeated information. The data files that have not been optimized are huge in size, which is not conducive to subsequent loading and rendering.
[0004] Existing 3D scene rendering technologies often face rendering performance bottlenecks when processing large-scale complex scenes. Due to the large number of objects in the scene and the complex materials, problems such as freezes are prone to occur during the rendering process, affecting the user experience.
[0005] In summary, the existing technology still has many shortcomings in Navisworks data extraction and web rendering, and a more efficient, flexible and compatible solution is urgently needed to overcome these challenges. Summary of the invention
[0006] In view of the above-mentioned problems, the present invention is proposed.
[0007] Therefore, the technical problem solved by the present invention is: the existing Navisworks data extraction method is inefficient and has large data redundancy, the Web-side rendering technology has prominent performance bottlenecks, 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 to 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 3D model data extraction optimization and rendering method, including refined data abstraction and structuring based on the Navisworks model; using Three.js to load the optimized data file, and parallel scene loading based on the Web; visual perception driven adaptive rendering, building a BVH data structure; data abstraction and structuring including semantic classification and labeling of geometry, material, and attribute data based on Navisworks, and using a hierarchical scene organization structure; parallel scene loading including using Three.js to store data in a distributed manner on a server, multi-threaded parallel processing based on Web Workers technology, and using a cache mechanism to dynamically load and unload models; adaptive rendering including analyzing user visual perception and interactive behavior based on a visual saliency analysis algorithm.
[0009] As a preferred solution of the 3D model data extraction optimization and rendering method described in the present invention, the refined 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, abstracting and structuring the attribute data and geometric data, parsing the 3D model data, semantically classifying and labeling the attribute data and geometric data, reducing data redundancy, compressing the CTM format, and building a data extraction granularity control model for model complexity.
[0010] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, the data extraction granularity control model of the model complexity includes: setting a 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 attribute data and geometric data respectively; 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 in different CSV files; establish a data structure for storing geometric data, material data and texture image information, extract geometric data, perform integerization and hashing, complete format conversion and storage, and build 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, the deduplication and compression processing of the extracted geometric data includes processing the geometric data based on the CTM format, generating l3d files and geometryList.json.gz files, creating OrderedGeometry.json.gz files, recording the index, volume and ID of the geometric body, and sorting them 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, the Web-based parallel scene loading includes using Three.js to load FragmentList.json.gz and GeometryList.json.gz files, downloading and decompressing l3d files one by one, using multiple workers in the browser background to download, decompress and parse files in parallel, and 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, the visual perception-driven adaptive rendering includes calculating visible objects to generate a rendering queue based on changes in camera position and angle, sorting of visible object bounding boxes surface areas, setting a threshold for each frame rendering time, and limiting the rendering time for each frame.
[0014] As a preferred solution of the three-dimensional model data extraction optimization and rendering method described in the present invention, the construction of 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 to the rendering queue for rendering, and giving priority to rendering objects that the user is concerned about.
[0015] Another object of the present invention is to provide a 3D model data extraction optimization and rendering system, which can solve the current problems of low Navisworks data extraction efficiency, large data redundancy, prominent Web-side rendering performance bottleneck, and poor user experience by performing refined data abstraction and structuring based on the Navisworks model.
[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 extraction and optimization module for extracting attribute data and geometric data from Navisworks files, deduplicating, compressing and format converting the extracted geometric data, and generating optimized data files; a Web-side scene loading and rendering module for using Three.js to load the optimized data files, constructing three-dimensional scenes, dynamically adjusting the rendering queue based on camera changes and user interactions, and realizing progressive rendering; an InstancedMesh instantiation module for using InstancedMesh to create instances and set corresponding materials and transformation matrices.
[0017] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of a three-dimensional model data extraction optimization and rendering method.
[0018] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of a three-dimensional model data extraction, optimization and rendering method.
[0019] Beneficial effects of the present invention: The 3D model data extraction optimization and rendering method provided by the present invention automatically and efficiently extracts Navisworks data, generates a customized file set, improves data processing speed and efficiency, reduces data redundancy and file size through data deduplication and merging, saves storage space, and reduces network transmission costs. Based on the rendering optimization function of Three.js, the rendering performance is improved without sacrificing quality, and progressive rendering is adopted to dynamically load scene objects, shorten the initial loading time, improve the scene response speed and interactive fluency, and improve the user experience. The present invention can be seamlessly integrated into the existing workflow, is based on Web technology, can be applied to a variety of platforms, enhances compatibility and flexibility, optimizes data and rendering strategies, reduces dependence on high-end hardware, expands the scope of application, and provides a more efficient and economical solution for 3D modeling and visualization. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.
[0021] Figure 1 This is an overall flow chart of the 3D model data extraction, optimization and rendering method provided for the first embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the drawings of the specification. Obviously, the described embodiments are part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary persons in the art without creative work should fall within the scope of protection of the present invention.
[0023] Example 1, reference Figure 1 , as an embodiment of the present invention, provides a 3D model data extraction optimization and rendering method, comprising: S1: Refined data abstraction and structuring based on Navisworks models.
[0024] Furthermore, refined data abstraction and structuring based on the Navisworks model includes starting the data extraction module in Autodesk's 3D design review software Navisworks, parsing, extracting and hashing the 3D model, abstracting and structuring the attribute data and geometric data, parsing the 3D model data, semantically classifying and labeling the attribute data and geometric data, reducing data redundancy, compressing it in CTM format, and building a data extraction granularity control model for model complexity.
[0025] It should be noted that the CTM format is a file format used to store 3D model data, namely 3D model compression, data transmission, 3D modeling and rendering.
[0026] It should be noted that the data extraction granularity control model of 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 respectively; 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 in different CSV files; establish a data structure for storing geometric data, material data and texture image information, extract geometric data, perform integerization and hashing, complete format conversion and storage, and build the basic conditions for deduplication and compression processing of the extracted geometric data.
[0027] It should also be noted that a preferred solution for setting the triangle face count threshold of the Navisworks model includes: high-end devices can handle more complex models, the threshold can be set higher, and complex scenes require a lower threshold to ensure smooth rendering. When the model complexity exceeds the threshold, a more fine-grained data extraction strategy is adopted to decompose the ModelItem, extract attributes and geometric data separately, establish a data structure to store geometry, material and texture information, and perform integerization and hashing.
[0028] 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, generating l3d files and geometryList.json.gz files, creating OrderedGeometry.json.gz files, recording the index, volume and ID of the geometric body, and sorting according to the surface area of the bounding box.
[0029] It should also be noted that the l3d file is a custom 3D data format used to store 3D models or scene data; the geometryList.json.gz file is a compressed JSON file containing a list of geometries, each of which includes detailed information such as vertices, edges, and faces.
[0030] It should also be noted that the refined data abstraction and structuring based on the Navisworks model effectively reduces the redundancy of 3D model data through semantic classification and labeling, as well as refined processing of attribute and geometric data; adopts automated data extraction and hashing operations to avoid manual intervention and improve extraction efficiency; adopts a hierarchical scene organization structure and establishes a special data structure to store geometry, material and texture information, making the data structure clearer and easier to manage and use.
[0031] S2: Use Three.js to load optimized data files and Web-based parallel scene loading.
[0032] Furthermore, Web-based parallel scene loading includes using the JavaScript 3D rendering library Three.js to load FragmentList.json.gz and GeometryList.json.gz files, downloading and decompressing l3d files one by one, using multiple workers in the browser background to download, decompress, and parse files in parallel, and rendering them in the foreground worker.
[0033] 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 when rendering, it can be determined whether a fragment is displayed based on the view distance or other factors.
[0034] It should be noted that the Web-based parallel scene loading includes creating a Bounding Volume Hierarchy (BVH) data structure based on the data in fragmentList.json.gz.
[0035] It should be noted that the Bounding Volume Hierarchy (BVH) data structure is a bounding box hierarchy structure, which is used to accelerate the frustum culling technology in three-dimensional computer graphics.
[0036] It should also be noted that by downloading, decompressing and parsing files in parallel and taking advantage of browser multithreading, the scene loading speed is increased and user waiting time is shortened; a cache mechanism is used to dynamically load and unload models, and the loaded content is dynamically adjusted according to user operations and scene changes to optimize resource utilization and avoid excessive memory usage; the optimization function of the Three.js rendering engine is used to improve rendering efficiency and make scene rendering smoother.
[0037] S3: Adaptive rendering driven by visual perception, building BVH data structure.
[0038] Furthermore, adaptive rendering driven by visual perception includes calculating visible objects to generate a rendering queue based on changes in camera position and angle, sorting the surface area of the bounding boxes of visible objects, setting a threshold for the rendering time per frame, and limiting the rendering time per frame.
[0039] It should be noted that the calculation of visible objects to generate the rendering queue includes the 1000 largest objects in Three.js, InstancedMesh, which are used for instantiation rendering. They are always retained in the main scene. When the position and angle of the camera change, the 3D viewport needs to be redrawn. Combined with the algorithms related to the visibility calculation of the view cone, it is calculated which fragments are visible, and the instancedMesh involved in these fragments is used to construct the rendering queue of the sub-scene. The queue is sorted in reverse order according to the surface area of the bounding box, and the rendering time per frame is limited to 15 milliseconds. A sub-scene is taken out of the queue and added to the main scene. It is determined whether the time limit has arrived. If the time limit has not arrived, a sub-scene is taken out of the queue and added to the main scene. The remaining sub-scenes in the queue are added to the main scene in subsequent frames for rendering. When all sub-scenes are added to the main scene and the rendering is completed, 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.
[0040] It should be further explained 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 to the rendering queue for rendering, and giving priority to rendering objects that the user is concerned about.
[0041] Example 2 is an embodiment of the present invention, which provides a method for extracting, optimizing and rendering three-dimensional 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.
[0042] First, six 3D scenes with different complexities were selected as experimental objects, named Scene A to Scene F. All six 3D scenes contain multiple ModelItems, involving various geometric bodies, materials, and texture data.
[0043] Specifically, in the experimental preparation stage, the data extraction module is started, the data extraction process is initialized from the Navisworks software, and the Navisworks file is loaded to parse the 3D model data. Each ModelItem in the scene tree is traversed, 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 in four files, tree.csv, attrs.csv, vals.csv, and avs.csv, respectively, to avoid duplicate data storage and optimize the data structure.
[0044] Furthermore, in the geometric data extraction stage, a fragment array, a dictionary of id and fragment index, a geometry data array GeometryList and a material data array MaterialList are established. For each ModelItem, detailed geometry data and material data extraction and optimization are performed, including integer processing, generating json strings and establishing hash values. The fragment array is also compressed, converted into a json string and saved as a FragmentList.js file. Referring to Table 1, the data of the experimental part is recorded and analyzed.
[0045] Table 1 Performance comparison of the invented method and the traditional method in different scenarios Scenario Model file size (inventive method) Model file size (traditional method) Rendering time (invented method) Rendering time (traditional method) Frame rate (inventive method) Frame rate (traditional method) Geometry Reduction Rate Texture data reduction rate Scenario A 40 450 30 125 29 8 15 20 Scenario B 38 430 33 111 30 9 14 19 Scenario C 36 410 32 100 31 10 13 18 Scenario D 34 390 31 91 32 11 12 17 Scenario E 32 370 30 83 33 12 11 16 Scenario F 30 350 28 77 36 13 10 15
[0046] Furthermore, after data optimization, the model file size was reduced, for example, the model file of scene A was reduced from 450MB to 40MB, and scene F also showed a similar optimization effect. This fully proves the effectiveness of the data deduplication and compression algorithm, laying the foundation for subsequent fast loading and rendering.
[0047] It should be noted that the rendering time is significantly reduced as the model file size is reduced, and the rendering time of scene A is reduced from 125ms to 30ms, and a similar improvement is achieved in scene F. This shows that the optimized data is easier to process and significantly improves the rendering efficiency.
[0048] It is further shown that the frame rate is effectively improved, with the frame rate of scene A increasing from 8FPS to 29FPS, and scene F showing similar improvements. This further proves that the optimized data can better maintain a higher frame rate when rendering, improving the user experience.
[0049] It should be noted that the reduction in the number of geometric bodies and the amount of material data reflects the effectiveness of the data deduplication and merging algorithm, and the reduction in the size of texture files demonstrates the advantages of texture optimization and compression technology. The data comparison and analysis results in Table 1 jointly prove that the present invention has significant advantages in data extraction, optimization processing and rendering, reduces data redundancy, improves rendering efficiency, and reflects the innovation and practicality in three-dimensional scene construction. Compared with the prior art, the present invention has obvious advantages in reducing the amount of data, improving the rendering speed and stabilizing the frame rate, and provides a new solution for efficient three-dimensional scene construction.
[0050] Embodiment 3 is an embodiment of the present invention, which provides a 3D model data extraction, optimization and rendering system, including a Navisworks data extraction and optimization module, a Web-side scene loading and rendering module, and an InstancedMesh instantiation module.
[0051] Among them, X1: Navisworks data extraction and optimization module includes data extraction submodule and data optimization submodule.
[0052] Furthermore, the data extraction submodule 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 submodule is used to remove duplicate geometry data and material data, compress them using the CTM format, generate l3d files, extract texture images, generate materials.json.gz files, construct OrderedGeometry, and record the sorting of the bounding box surface area size.
[0053] It should be noted that the data optimization submodule is attached to the data extraction submodule to extract data for analysis and optimization. The Navisworks data extraction and optimization module is the core of the entire system and provides a data basis for the Web-side scene loading and rendering module.
[0054] It should also be noted that the sub-modules within the data optimization sub-module are interdependent. After the geometry data and material data are optimized, fragment objects are generated, laying the foundation for the generation of OrderedGeometry.
[0055] X2: The Web-side scene loading and rendering module includes a data loading submodule and a rendering submodule.
[0056] Furthermore, the data loading submodule 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 submodule is used by the three.js engine to load geometry data and material data, create InstancedMesh objects for rendering, and build BVH data structures and progressive rendering strategies.
[0057] It should be noted that the rendering submodule is based on the data loading submodule, loads data for rendering, and creates and manages InstancedMesh.
[0058] It should also be noted that the data loading submodule and the rendering submodule jointly complete data loading and rendering, and collaborate with the InstancedMesh instantiation module.
[0059] X3: The InstancedMesh instantiation module includes the InstancedMesh creation submodule and the InstancedMesh management submodule.
[0060] Furthermore, the InstancedMesh creation submodule is used to create InstancedMesh objects and dynamically update the visibility state of InstancedMesh objects according to changes in camera position and angle; the InstancedMesh management submodule is used to manage the memory usage of InstancedMesh objects.
[0061] It should be noted that InstancedMesh creation is the starting point of the entire module, which creates InstancedMesh objects and provides objects for InstancedMesh management.
[0062] It should also be noted that the InstancedMesh instantiation module is a component of the Web-side scene loading and rendering module, providing InstancedMesh objects for the rendering sub-module, and the two are nested.
[0063] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0064] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in conjunction with such instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in conjunction with such instruction execution systems, devices or apparatuses.
[0065] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic devices), a portable computer disk case (magnetic devices), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a computer memory.
[0066] 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-mentioned 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, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logical function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc. It should be noted that the above embodiments are only used to illustrate the technical solution of the present invention and are not limited. Although the present invention is described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that the technical solution of the present invention can be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present invention, which should be included in the scope of the claims of the present invention.
Claims
1. A three-dimensional model data extraction optimization and rendering method, characterized in that: include: Refined data abstraction and structuring based on Navisworks models; Use Three.js to load optimized data files and Web-based parallel scene loading; Adaptive rendering driven by visual perception, building BVH data structure; Data abstraction and structuring include semantic classification and labeling of geometry, material, and attribute data based on Navisworks, and the use of a hierarchical scene organization structure; Parallel scene loading includes using Three.js to store data in a distributed manner on the server, multi-threaded parallel processing based on Web Workers technology, and using a cache mechanism to dynamically load and unload models; Adaptive rendering includes analyzing user visual perception and interaction behavior based on visual saliency analysis algorithms.
2. The three-dimensional model data extraction, optimization and rendering method according to claim 1, characterized in that: The refined data abstraction and structuring based on the Navisworks model includes: Based on the data extraction module started in the Navisworks software, the 3D model is parsed, extracted and hashed, the attribute data and geometric data are abstracted and structured, the 3D model data is parsed, the attribute data and geometric data are semantically classified and labeled, the data redundancy is reduced, the CTM format is compressed, and a data extraction granularity control model for model complexity is constructed.
3. The three-dimensional model data extraction, optimization and rendering method according to claim 2, characterized in that: The data extraction granularity control model of the model complexity includes: Set the triangle face count threshold of the Navisworks model. When the triangle face count exceeds the preset triangle face count threshold, a more fine-grained data extraction strategy is used to decompose the ModelItem and extract attribute data and geometric data respectively. Traverse the ModelItems in the Navisworks scene tree, assign a unique ID to each ModelItem, collect the attribute information of each ModelItem, and save it in different CSV files; Establish a data structure to store geometric data, material data and texture image information, extract geometric data, perform integerization and hashing, complete format conversion and storage, and build the basic conditions for deduplication and compression processing of the extracted geometric data.
4. The three-dimensional model data extraction, optimization and rendering method according to claim 3, characterized in that: The deduplication and compression processing of the extracted geometric data includes: Based on the CTM format, the geometric data is processed to generate l3d files and geometryList.json.gz files, and OrderedGeometry.json.gz files are created to record the index, volume and ID of the geometric body, and sort them according to the surface area of the bounding box.
5. The three-dimensional model data extraction, optimization and rendering method according to claim 4, characterized in that: The Web-based parallel scene loading includes: Use Three.js to load FragmentList.json.gz and GeometryList.json.gz files, download and decompress l3d files one by one, use multiple workers in the browser background to download, decompress and parse files in parallel, and render them in the foreground worker.
6. The three-dimensional model data extraction, optimization and rendering method according to claim 5, characterized in that: The visual perception driven adaptive rendering includes: Based on the position and angle changes of the camera and the sorting of the surface areas of the bounding boxes of visible objects, the visible objects are calculated to generate a rendering queue, and a threshold for the rendering time per frame is set to limit the rendering time per frame.
7. The method for extracting, optimizing and rendering three-dimensional model data according to claim 6, characterized in that: The constructing of the BVH data structure includes: A progressive rendering strategy is adopted to dynamically adjust the priority of objects in the rendering queue based on user interaction operations. Objects are added to the rendering queue one by one for rendering, and objects that the user is concerned about are rendered first.
8. A system for extracting, optimizing and rendering three-dimensional model data, characterized in that: Including Navisworks data extraction and optimization module, Web scene loading and rendering module, InstancedMesh instantiation module; The Navisworks data extraction and optimization module is used to extract attribute data and geometric data from the Navisworks file, perform deduplication, compression and format conversion on the extracted geometric data, and generate an optimized data file; The Web-side scene loading and rendering module is used to load the optimized data file using Three.js, construct a three-dimensional scene, dynamically adjust the rendering queue based on camera changes and user interactions, and realize progressive rendering; The InstancedMesh instantiation module is used to create instances using InstancedMesh and set corresponding materials and transformation matrices.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the three-dimensional model data extraction, optimization and rendering method described in any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the three-dimensional model data extraction, optimization and rendering method described in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Data rendering method applied to BIM model file
CN112270756A
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
Lightweight conversion and visualization method based on state grid GIM model
CN118839453A
Providing virtual reality experiences based on three-dimensional designs produced using three-dimensional design software
US9367950B1
Cited By
Data visualization method and system based on digital model
CN120807744A
Rendering scene division and storage optimization method and system for large-volume model
CN121095413A
Method and system for rendering scene division and storage optimization of large volume model
CN121095413B