A BIM model storage system and method based on lightweight data

Through tree segmentation management, segmentation multiplexing and parallel rendering and data compression technologies, the problems of data redundancy and management complexity in BIM model storage are solved, and BIM model management with efficient storage and fast transmission is realized, improving rendering performance and user experience.

CN119442441BActive Publication Date: 2025-07-11NORTHWEST ENGINEERING CORPORATION LIMITED
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510046784.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-13
Publication Date
2025-07-11
Estimated Expiration
2045-01-13

AI Technical Summary

Technical Problem

The existing BIM model storage technology based on lightweight data has shortcomings in data storage efficiency, organizational structure design and transmission capabilities, and it is difficult to meet the multi-level data correlation requirements of complex models, resulting in high data redundancy and management complexity, affecting rendering efficiency and user experience.

Method used

The tree-like segmented management module is used to build a storage unit, manage the parent-child relationship through the attribute inheritance mechanism, introduce segmented multiplexing and style segmentation, combine parallel rendering and data compression modules to generate lightweight binary data files, optimize data organization and transmission.

Benefits of technology

It improves data storage and reading efficiency, reduces redundancy, improves rendering performance, adapts to multi-scenario applications, reduces hardware resource requirements, and realizes BIM model management with efficient storage and fast transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119442441B_ABST
    Figure CN119442441B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of data processing, and discloses a BIM model storage system and method based on lightweight data. The system includes: a tree-shaped segmentation management module for constructing a tree-shaped segmentation structure and using each segmentation as a storage unit; a segmentation reuse creation module for creating reusable segments in the tree-shaped segmentation structure, realizing data reuse through reference, and creating style segments for centralized management of drawing attribute information; a parallel rendering module for rendering model primitives using a parallel computing method based on the geometric information and attribute information in the reusable segments; a lightweight data generation module for organizing BIM model data according to the tree-shaped segmentation structure and generating binary data files; and a data compression module for compressing the binary data files to generate compressed format storage files. It solves the technical problem that the prior art is difficult to meet the requirements of efficient storage, transmission, and application of BIM models.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] With the wide application of Building Information Modeling (BIM) technology in industries such as construction, water conservancy and hydropower, and new energy, various data formats have emerged from BIM design software for different specialties, leading to an increasing complexity and data volume of BIM models. Especially on mobile devices and hardware with lower performance, rendering high-polygon models is inefficient, easily resulting in frame rate drops and lag phenomena, seriously affecting the user experience. Therefore, model lightweighting has gradually become a key technology to improve rendering efficiency and performance.

[0003] However, in the related BIM model storage technologies based on lightweight data, in terms of the reuse of model data, existing methods usually achieve the reuse of the model by repeatedly storing the same geometric information or attribute data. This approach not only increases the redundancy of data storage but also poses higher requirements for the efficiency of data management, making it difficult to flexibly adapt to applications in multiple scenarios. In addition, regarding the drawing attributes of the model, traditional technologies are configured independently in different segments, lacking means of centralized management, resulting in redundancy in the storage and invocation of drawing attribute information, increasing the storage volume and processing complexity.

[0004] In terms of the organization of lightweight data, existing technologies mostly use a single storage structure to process BIM model data, which is difficult to meet the needs of complex models for multi-level data association. This storage method lacks flexible organization capabilities when facing diverse geometric information and attribute information, making it difficult to accurately maintain the inheritance relationship between data.

[0005] In summary, the existing BIM model storage technologies based on lightweight data have significant deficiencies in data management and organizational capabilities, and are difficult to meet the requirements of efficient storage, transmission, and application of BIM models. Summary of the Invention

[0006] This application provides a BIM model storage system based on lightweight data, a BIM model storage method based on lightweight data, an electronic device, and a computer-readable storage medium, aiming to solve the technical problems in the existing BIM model storage technology of lightweight data, such as insufficient data storage efficiency, organizational structure design, and transmission capabilities, and being difficult to meet the requirements of actual engineering applications.

[0007] Additional aspects and advantages of the present disclosure will be partly set forth in the description below, and partly will be obvious from the description, or can be learned through the practice of the present disclosure.

[0008] According to a first aspect of the present disclosure, there is provided a BIM model storage system based on lightweight data. The BIM model storage system based on lightweight data includes: a tree-shaped segmentation management module for constructing a tree-shaped segmentation structure, taking each segmentation as a storage unit, setting the parent-child relationship between storage units, and managing the relationship between the parent segmentation and the child segmentation through an attribute inheritance mechanism; a segmentation reuse creation module for creating reusable segments in the tree-shaped segmentation structure, realizing data reuse through reference, and creating style segments for centralized management of drawing attribute information; a parallel rendering module for rendering model primitives based on the geometric information and attribute information in the reusable segments using a parallel computing method and managing rendering parameters; a lightweight data generation module for organizing BIM model data according to the tree-shaped segmentation structure and generating a binary data file including a data header, a data block, and a data tail; and a data compression module for performing compression processing on the binary data file to generate a compressed format storage file.

[0009] According to a second aspect of the present disclosure, there is provided a BIM model storage method based on lightweight data, which is applied to the BIM model storage system based on lightweight data as described in any of the above embodiments. The method includes: constructing a tree-shaped segmentation structure, taking each segmentation as a storage unit, setting the parent-child relationship between storage units, and managing the relationship between the parent segmentation and the child segmentation through an attribute inheritance mechanism; creating reusable segments in the tree-shaped segmentation structure, realizing data reuse through reference, and creating style segments for centralized management of drawing attribute information; rendering model primitives based on the geometric information and attribute information in the reusable segments using a parallel computing method and managing rendering parameters; organizing BIM model data according to the tree-shaped segmentation structure and generating a binary data file including a data header, a data block, and a data tail; and performing compression processing on the binary data file to generate a compressed format storage file.

[0010] It can be seen from the above technical solutions that the present disclosure has at least one of the following advantages and positive effects:

[0011] The BIM model storage system based on lightweight data in the present disclosure is composed of a tree-shaped segmentation management module, a segmentation reuse creation module, a parallel rendering module, a lightweight data generation module, and a data compression module. Among them:

[0012] The tree - shaped segmented management module, through the tree - shaped segmented management mechanism, organizes BIM model data into multiple associated segments according to the hierarchical structure. Each segment is an independent storage unit, setting the parent - child segment relationship and using the attribute inheritance mechanism for management. This design reduces redundancy in the data storage process, improves the flexibility of data organization, and at the same time provides an effective solution for the complex association requirements of multi - level models, significantly enhancing the storage and reading efficiency of complex model data, and optimizing the storage and access performance of BIM models in an environment with limited hardware resources.

[0013] The segment reuse creation module avoids the problem of repeated storage of geometric information and attribute data through the reference mechanism, and at the same time introduces style segments to centrally manage drawing attribute information, reducing the redundant configuration of attribute data in segments and improving the standardization and consistency of drawing attribute management. This centralized management mode enhances the flexibility of data reuse, adapts to the needs of diverse application scenarios, and reduces the complexity of drawing attribute management and storage.

[0014] The parallel rendering module, based on the segmented organization of geometric information and attribute information, uses parallel computing methods to render model primitives. By optimizing the allocation of computing resources, it improves the rendering efficiency and model visualization performance, enabling high - polygon models to be smoothly displayed on hardware devices with limited performance. At the same time, based on the segmented - based rendering method, it can dynamically adjust rendering parameters to improve the overall efficiency of the rendering engine.

[0015] The lightweight data generation module organically integrates geometric information, attribute information, and organizational structure information through a segmented structure to generate a binary data file containing a data header, data blocks, and a data tail. The lightweight data format not only reduces the storage volume but also completely retains the key information of the model, effectively avoiding the loss of model information, and at the same time providing a good foundation for subsequent data compression and fast transmission.

[0016] The data compression module, based on the structural characteristics of the lightweight data file, collaboratively compresses geometric information, attribute information, and organizational structure information to generate a compressed - format storage file. Through a reasonable compression strategy, it reduces the storage volume and improves the model transmission efficiency, avoiding the problems of low traditional model file transmission efficiency and slow loading, while ensuring data integrity.

[0017] In summary, the BIM model storage system based on lightweight data in this disclosure can solve the defects in the prior art from multiple dimensions of data storage, reuse, management, and rendering, realizing a BIM model storage solution with efficient storage, fast transmission, and multi - scenario adaptation, and achieving better performance on multi - terminal devices. Brief Description of the Drawings

[0018] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings required for use in the embodiments or the description of the prior art. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0019] Figure 1 It is a structural block diagram of a BIM model storage system based on lightweight data in an embodiment of the present disclosure;

[0020] Figure 2 It is a composition schematic diagram of a tree-like segmented structure in an embodiment of the present disclosure;

[0021] Figure 3 It is a structural block diagram of a BIM model storage system based on lightweight data in another embodiment of the present disclosure;

[0022] Figure 4 It is a schematic diagram of the operation process of a BIM model storage system based on lightweight data in an embodiment of the present disclosure;

[0023] Figure 5 It is a schematic diagram of the organizational structure of an Include Segment node in an embodiment of the present disclosure;

[0024] Figure 6 It is a schematic diagram of the organizational structure of a Style Segment node in an embodiment of the present disclosure;

[0025] Figure 7 It is a schematic diagram of the organizational structure of a Driver Segment root node in an embodiment of the present disclosure;

[0026] Figure 8 It is a schematic diagram of the application structure of a BIM model storage system based on lightweight data in an embodiment of the present disclosure;

[0027] Figure 9 It is a schematic diagram of the hierarchical organization form of the Segment data structure in an embodiment of the present disclosure;

[0028] Figure 10 It is a schematic diagram of the composition structure of a binary data file in an embodiment of the present disclosure;

[0029] Figure 11 It is a schematic diagram of the writing process of a binary data file in an embodiment of the present disclosure;

[0030] Figure 12 It is a schematic diagram of the process of a method for storing a BIM model based on lightweight data in an embodiment of the present disclosure;

[0031] Figure 13 Schematically shows a structural diagram of a computer system of an electronic device according to some embodiments of the present disclosure;

[0032] Figure 14 Is a schematic diagram of a computer-readable storage medium according to some embodiments of the present disclosure.

[0033] In the drawings, the same or corresponding reference numerals indicate the same or corresponding parts. Detailed implementation manners

[0034] The following will further describe in detail the specific implementation manners of the present application in conjunction with the drawings and embodiments. The following embodiments are used to illustrate the present application, but are not used to limit the scope of the present application. Similarly, the following embodiments are only some embodiments of the present application rather than all embodiments. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.

[0035] In the description of the present invention, terms such as "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "clockwise", "counterclockwise", "axial", "radial", etc. indicating the orientation or positional relationship are based on the drawings shown, and are only for convenience of description and simplification of the description, and do not mean that the device or element must have a specific orientation, be constructed and operated in a specific orientation, and cannot be regarded as a limitation of the present invention.

[0036] The terms "first" and "second" are only used for description and do not indicate relative importance or imply the number of technical features. Therefore, the features of "first" and "second" may explicitly or implicitly include at least one of such features. The meaning of "a plurality" is at least two, unless otherwise clearly defined.

[0037] In the exemplary embodiments of the present disclosure, first, a BIM model storage system based on lightweight data is provided. Figure 1 Schematically shows a structural block diagram of a BIM model storage system based on lightweight data in an embodiment of the present disclosure. Refer to Figure 1As shown in the figure, the BIM model storage system based on lightweight data includes a tree-shaped segmentation management module 1, a segmentation reuse creation module 2, a parallel rendering module 3, a lightweight data generation module 4, and a data compression module 5. Among them, the tree-shaped segmentation management module 1 can be used to construct a tree-shaped segmentation structure, take each segmentation as a storage unit, set the parent-child relationship between storage units, and manage the relationship between the parent segmentation and the child segmentation through the attribute inheritance mechanism; the segmentation reuse creation module 2 can be used to create reusable segments in the tree-shaped segmentation structure and achieve data reuse through reference methods, and at the same time create style segments for centralized management of drawing attribute information; the parallel rendering module 3 can be used to render model primitives based on the geometric information and attribute information in the reusable segments by using parallel computing methods and manage rendering parameters; the lightweight data generation module 4 can be used to organize BIM model data according to the tree-shaped segmentation structure and generate a binary data file containing a data header, data blocks, and a data tail; the data compression module 5 can be used to perform compression processing on the binary data file to generate a compressed format storage file.

[0038] Next, the functional principles of the tree-shaped segmentation management module 1, the segmentation reuse creation module 2, the parallel rendering module 3, the lightweight data generation module 4, and the data compression module 5 in the BIM model storage system based on lightweight data will be described in detail.

[0039] Among them, the tree-shaped segmentation management module 1 organizes BIM model data into multi-level storage units by constructing a tree-shaped segmentation structure. The composition schematic diagram of the tree-shaped segmentation structure can be as Figure 2 shown. It contains two tree structures. The top-level node represents the root node of the entire scene graph, that is, the BIM model. The second-level nodes and third-level nodes below the root node represent the sub-segments in the model. Each segment is defined as an independent storage unit, including geometric information, attribute information, and possible sub-segments. Its structure is represented in the form of nodes. The parent node and the child node are linked through a logical relationship to form a tree-shaped hierarchical organization. The setting of the parent-child relationship is realized through the reference mechanism of the segmentation node. Each sub-segment references its parent segment, thus establishing an inheritance chain. The attribute inheritance mechanism is realized by storing common attributes on the parent node and automatically applying these attributes in the child node, avoiding the problem of repeated configuration of the same attributes. In this way, the segmentation management module ensures the efficient organization and access of complex model data. In addition, this module supports dynamic adjustment of the depth of the tree structure and the distribution of segmentation nodes to adapt to the storage requirements of different BIM model data. In actual operation, the storage of segmentation nodes adopts the memory mapping method, records the parent-child relationship in the form of pointers or indexes, and supports fast query and efficient operation.

[0040] Based on the tree-like segmentation structure, the segmented multiplexing creation module 2 introduces multiplexing segments to reduce duplicate data storage. The creation process of multiplexing segments includes the analysis of geometric information and attribute information, classifying the same or similar data according to the duplication rate, and storing them as shared multiplexing segments. The reference mechanism is used in the actual application of multiplexing segments. Each reference node only needs to record the unique identifier of the multiplexing segment, thus achieving data multiplexing. The style segment is used to centrally manage the drawing attribute information. By associating the style segment with the segmentation node, the redundant storage of attribute data is reduced. The attributes defined in the style segment include drawing information such as color, transparency, and line type, and its content is stored in a structured manner, for example, managed in the form of key-value pairs or attribute tables. In actual operation, the creation of multiplexing segments calculates the unique values of geometric information and attribute information through a hash algorithm, and the management of style segments achieves efficient memory utilization and real-time update through the reference counting method.

[0041] The parallel rendering module 3 utilizes the geometric information and attribute information in the multiplexing segments to achieve efficient rendering of model primitives through task partitioning and scheduling mechanisms. The task allocation unit in the module splits the rendering tasks into multiple subtasks according to the segmentation structure. Each subtask corresponds to a specific segmentation range to ensure balanced task partitioning. The task scheduling unit sorts the task allocation results and dynamically adjusts the priority of the rendering tasks based on the status of hardware resources and the thread pool to ensure the maximum utilization of parallel computing resources. During the rendering process, the module generates rendering instructions based on the geometric information of the segments and sets the drawing parameters in combination with the attribute information, including lighting, texture, and transparency. The management of rendering parameters is achieved through a parameter caching mechanism, reducing the overhead of repeated calculations. In actual operation, the task scheduling of parallel rendering adopts a depth-first-based algorithm, and the merging of rendering results is completed through graphics hardware acceleration, supporting multi-threaded real-time rendering processing.

[0042] The lightweight data generation module 4 integrates and processes geometric information, attribute information, and organizational structure information according to the tree-like segmented structure to generate a lightweight binary data file. The binary file consists of a data header, data blocks, and a data tail. The data header records the basic information and index table of the file. The data blocks contain the geometric information and attribute information of the model. The data tail is used to store the checksum and metadata. The module adopts a block storage method, maps the segmented structure to continuous binary blocks, and achieves fast positioning through the index table. The generation of the data header is achieved by analyzing the attributes of each segmented node in the segmented structure, extracting key meta-information, and encoding it into a fixed format. The generation of the data blocks includes the compression processing of geometric information and the streamlined storage of attribute information. The compression algorithm supports the sparse matrix representation of point, line, and surface data. The attribute information is encoded in the form of binary key-value pairs. The data tail part calculates the check value through the hash algorithm after the file generation is completed for integrity verification. In actual operation, the module manages the multi-threaded data generation process through a dynamic buffer and supports the adaptation of file formats for different storage media.

[0043] Based on the generated binary data file, the data compression module 5 further optimizes the storage efficiency through the compression processing of geometric information, attribute information, and organizational structure information. It first scans the data file in segments, extracts the key information in each segment, including vertex data, attribute key-value pairs, and segment indexes. The compression process is divided into three stages: geometric information compression, attribute information compression, and structure information compression. Geometric information compression uses the sparse matrix representation method to organize vertex and patch data into a sparse matrix, and significantly reduces the data volume through row and column compression algorithms. Attribute information compression realizes the combined storage of duplicate attributes through the hash encoding method of attribute key-value pairs, and optimizes the storage efficiency by reference. Structure information compression is based on the tree-like segmented structure, extracts the association relationship between parent and child nodes, and generates a compact index table through depth-first traversal. The compression algorithm selection of the data compression module can be dynamically adjusted according to the structure information and data volume of the file. In the file scanning stage, the optimal compression algorithm is selected by calculating the complexity metrics of the file, including the number of data blocks, vertex density, and attribute types. For example, for geometric data with a high vertex density, the module preferentially selects a geometric compression algorithm based on block coding; for files with complex attribute types, a compression strategy of hierarchical key-value merging is adopted. The finally compressed file is stored in a block storage form, and is quickly located and decompressed through the index information in the file header. The data compression module supports parallel processing of different data blocks. Each thread independently is responsible for the compression tasks of geometric information, attribute information, or structure information, and finally realizes the unified output of data through thread pool management and scheduling. The compressed binary file is stored in a fixed format, including the compression algorithm identifier, compressed block index, and check information of the data block, ensuring the integrity and compatibility of the file in subsequent transmissions.

[0044] The tree - shaped segmented management module 1, the segmented reuse creation module 2, the parallel rendering module 3, the lightweight data generation module 4, and the data compression module 5 achieve the efficient storage, transmission, and application of lightweight data through multi - dimensional and multi - level technical means. Through the association of the tree - shaped segmented structure and binary data files among the modules, a complete lightweight BIM model storage system is formed. The overall design of the system not only considers the optimization of storage efficiency but also takes into account the flexibility and scalability of data management, providing reliable technical support for the practical application of complex BIM models.

[0045] In addition, in other embodiments of the present disclosure, as shown in Figure 3 the BIM model storage system based on lightweight data further includes: an attribute processing module 6, a geometry processing module 7, an update processing module 8, a multi - thread processing module 9, an event processing module 10, and an interface definition module 11. Among them, the attribute processing module 6 can be used to obtain and set the color attribute, visibility attribute, and selection attribute of the BIM model; the geometry processing module 7 can be used to perform editing, insertion, and display operations on geometric primitives, and the geometric primitives include points, lines, planes, circles, and ellipses; the update processing module 8 can be used to set and update rendering states, geometric data, shading, fonts, viewports, and camera parameters; the multi - thread processing module 9 can be used to manage thread tasks, including adding, executing, and ending operations of thread tasks; the event processing module 10 can be used to manage application - layer events, including adding, executing, and deleting operations of events; the interface definition module 11 can be used to provide interfaces for application - layer calls, and the interfaces support access to and operations on the functions of different modules.

[0046] Among them, the attribute processing module 6 can be used to obtain and set the key attributes of the BIM model. The color attribute is used to define the display color of geometric primitives in the BIM model, which can be expressed by the primary color values (RGB) or other color spaces, and supports separate color settings for different primitives. The visibility attribute is used to control the display state of geometric primitives in the view, and its visibility is represented by a boolean value, while allowing separate configuration of the display state for different views. The selection attribute is used to identify whether a primitive can be selected by the user, which is represented by a status value and can be linked with the user interaction module to respond to the user's selection behavior. The attribute processing module uniformly manages the color, visibility, and selection attributes of the target primitive through the same operation method, thus ensuring the integrity and consistency of model attributes during storage and use.

[0047] The geometric processing module 7 can be used to perform editing, insertion, and display operations on geometric elements in the BIM model. Geometric elements include points, lines, planes, circles, and ellipses. Among them, points are represented by three-dimensional coordinates, lines are formed by connecting two or more points, planes are enclosed by line segments, and circles and ellipses are defined by their center points, radii, or major and minor axis parameters. The geometric processing module allows for position adjustment, shape change, and topological relationship maintenance of geometric elements, supports adding new geometric elements to a specified position and rendering them for display, and ensures the consistency and integrity of geometric data.

[0048] The update processing module 8 can be used to set and dynamically update the rendering state, geometric data, shading, font, viewport, and camera parameters of the BIM model. The rendering state includes the enabling and disabling of rendering effects such as lighting, shadows, and transparency. Geometric data update allows for modification of vertex and topological information and synchronous update in the rendering pipeline. Shading settings include adjustment of parameters such as texture mapping, color gradient, and transparency to meet diverse visual requirements. Font settings support adjustment of text style, color, size, and spacing for fine-grained display of model annotations. Viewport parameter adjustment covers zooming and panning of the view range, and camera parameter update involves dynamic change of viewing angle, projection method, and focal length. Through these functions, the update processing module can quickly adapt to the visualization and interaction requirements of the model.

[0049] The multi-threaded processing module 9 can be used to manage the addition, execution, and termination of thread tasks. Task addition allows tasks from different modules to be added to the task queue, and the task queue is sorted according to task priority or dependency. Task execution is achieved through a thread pool, and different types of tasks are assigned to suitable threads to ensure the orderly processing of parallel tasks. When a task ends, the occupied resources are released, and the completed task is removed from the task queue. The multi-threaded processing module also supports dynamically adjusting the size of the thread pool according to system load to optimize system resource utilization.

[0050] The event processing module 10 can be used to manage the addition, execution, and deletion of application layer events. Event addition listens for input operations on the user interface or system, wraps the captured input as a standardized event object, and stores it in the event queue. Event execution is through a distribution mechanism, where events are assigned to corresponding processing functions or modules according to event type to complete event response operations. Event deletion supports explicit calls or an automatic cleanup mechanism to remove expired or invalid event objects. The event processing module can achieve efficient management of user input and system behavior and improve the sensitivity of interaction response.

[0051] The interface definition module 11 can be used to provide interfaces for application layer calls, supporting access to and operations on the functions of the attribute processing module, geometric processing module, update processing module, multi-thread processing module, and event processing module. The interface design follows the modular principle, corresponding to the core functions of each functional module, and supports a standardized call process for parameter passing and result return. The interface definition module allows for flexible selection of synchronous calls and asynchronous calls, ensuring efficient operation of the system in multiple scenarios and with multiple requirements.

[0052] In addition, as shown in Figure 3 , the BIM model storage system based on lightweight data may further include an element copy management module 12, a bounding volume calculation module 13, a picking function module 14, and an interface management module 15. Among them, the element copy management module 12 can be used to store the geometric information and attribute information of segmented nodes based on a tree-like segmented structure, generate corresponding element copies, and store the element copies in a display list to support rapid modification and traversal of graphic information; the bounding volume calculation module 13 can be used to calculate the bounding volume according to the geometric information of the element copies, store the bounding volume as the spatial position range of the element, and cull invisible elements during rendering; the picking function module 14 can be used to determine the target element pointed to by the user cursor through the element copies and geometric information in the display list, and generate a selection result; the interface management module 15 can be used to provide external call interfaces, and the interfaces include an initialization interface, an operation interface, and a resource release interface.

[0053] Among them, the element copy management module 12 stores the geometric information and attribute information of segmented nodes based on a tree-like segmented structure and generates corresponding element copies. An element copy refers to a copy of the geometric and attribute data stored in the display list, which can quickly respond to modification and access operations on element information. The geometric information includes coordinate data and topological relationships of basic geometric primitives such as points, lines, and planes, and the attribute information includes content related to the appearance of the element such as color, transparency, and material. During the generation of element copies, the module sequentially extracts the geometric information and attribute information of the nodes according to the hierarchical relationship of the segmented nodes, organizes them into a unified copy data structure, and stores them in the display list. The display list is a data structure optimized for graphic rendering, which can efficiently store and manage the copy data of a large number of elements. Through the display list, when the system needs to access element information, it does not need to calculate repeatedly or read from the original data, but directly calls the copy data, which greatly improves the efficiency of element modification and traversal.

[0054] The boundary volume calculation module 13 calculates the boundary volume based on the geometric information of the primitive copies, which is used to store the spatial position range of the primitives and cull invisible primitives during rendering. The boundary volume refers to the smallest spatial geometric range that encloses the primitive, such as a bounding box or a bounding sphere, etc., which can be calculated by analyzing the vertex coordinates and topological relationships of the primitive. During the calculation process, the module first extracts the geometric information of the primitive and determines the minimum and maximum boundary values of the primitive in the three-dimensional space according to the coordinate data. Subsequently, the module converts these boundary values into a standardized boundary volume data structure, such as an axis-aligned bounding box or a bounding sphere (Bounding Sphere), and stores it in the associated primitive copy. During the rendering process, the module makes a spatial judgment between the boundary volume of each primitive and the view frustum according to the range of the camera view frustum, and quickly culls the invisible primitives located outside the view frustum, thereby optimizing the rendering performance.

[0055] The picking function module 14 determines the target primitive pointed to by the user cursor and generates a selection result through the primitive copies and geometric information in the display list. Picking refers to a function in which the graphics system responds to user input and determines the target of the user operation, usually implemented by the ray casting algorithm. When the picking function module is in user interaction, it quickly obtains the primitive copy data related to the user operation through the display list and calculates the ray at the position of the cursor using the geometric information. The module performs a spatial intersection detection between the ray and the geometric data of the primitive copy to determine whether the cursor intersects a specific primitive, and filters the target primitive closest to the user's perspective according to the depth value of the intersection point. The picking result includes the unique identifier and related attribute information of the target primitive, and the module passes the picking result to the user interaction module or the application layer for subsequent operations. Through the display list, the picking function module avoids repeated access to the original data, thereby significantly improving the response speed of the picking operation.

[0056] The interface management module 15 provides external call interfaces, including an initialization interface, an operation interface, and a resource release interface. The initialization interface is used to set the basic state of the graphics system, including the initialization of the display list, memory allocation, and pre-configuration of data structures; the operation interface supports external programs to call the core function modules of the system, such as primitive copy management, boundary volume calculation, and picking operations; the resource release interface is used to release the allocated memory and clean up the data structures when the system is shut down or the resources are no longer used, ensuring the efficient utilization and security of the system resources.

[0057] In the above embodiments, the BIM model storage system based on lightweight data realizes the efficient storage, fast transmission, and flexible application of the BIM model through the coordinated action of each module, by optimizing the data organization, reuse, compression, and rendering processes, significantly improving the performance and scalability of the system. The operation process of the BIM model storage system based on lightweight data can be as Figure 4As shown, it demonstrates the startup, operation, and termination processes of the BIM model storage system based on lightweight data, including the complete processes of initialization, interface calls, and resource release.

[0058] When the application starts, it first calls the GS_Init_Database interface to enter the system initialization phase. This phase includes the following operations: creating a Root Segment node as the root node of the entire segment tree to provide a basis for subsequent node management; creating a Driver Segment root node to manage driver module data; creating Include Segment nodes for including shared data segments; creating Style Segment nodes to centrally manage styles and drawing attributes. Subsequently, the rendering state of the system is initialized, including setting the blending rendering state, culling rendering state, and culling geometry rendering state to support rendering performance optimization. At the same time, the state machine is initialized to manage different states of the system operation, the event processor is initialized to ensure that the system can efficiently handle user events, and finally, the multi-threaded service is initialized to support parallel computing and task distribution.

[0059] After initialization is completed, the application enters the operation phase, and the system's functional modules can be called through the GS_xxx_xxx interface to perform management operations on the lightweight BIM model. In this phase, the system supports the following operations: creating a scene to organize the overall structure of the model, creating views to provide multiple viewing methods; setting the transformation parameters of the model, including translation, rotation, and scaling; renaming the segment nodes to improve the flexibility of model management. The system allows processing of the rendering attributes and styles of the model, including obtaining and setting the color, visibility, and other attribute information of the nodes, and at the same time supports cleaning up style data to optimize storage efficiency. In addition, the system supports reading and saving of the model, as well as insertion and operation of geometric data, such as adding lighting or inserting pictures. During rendering, the system also provides functions for setting and cleaning up visibility and text attributes to ensure the rendering effect of the model in different scenarios. In addition, the system also provides functions such as updating the scene, geometric acquisition, inserting lighting, and clearing child nodes.

[0060] When the application needs to terminate, it calls the GS_Fina_Database interface to complete the resource release of the system. In this phase, the system stops the operation of the state machine, terminates the multi-threaded service, cleans up the event processor, and releases all allocated event resources to ensure the safe shutdown of the system and the complete recycling of resources.

[0061] In addition, the organizational structure of the Include Segment nodes is as Figure 5As shown, the IncludeSegment is a special node for data reuse and is a reference to a normal sub-segment elsewhere in the graph database. The IncludeSegment is associated with the target segment through a linking mechanism, and the linked target segment exists as an instance, retaining its geometric information, attribute information, and sub-segment information. The IncludeSegment can be instantiated multiple times in the graph tree. As shown, multiple Instance nodes, such as Instance 1 and Instance 2, point to the same target segment through the Include instruction, which is the IncludeSegment. The IncludeSegment can be connected to multiple segments. When the data of the target segment is modified, all associated instances will be updated synchronously, thus achieving efficient data consistency management.

[0062] The organizational structure of the Style Segment node is as Figure 6 shown. The Style Segment is a node specifically used to store drawing attribute data. Different from a regular Segment, it usually does not contain a geometric shape and only stores attribute data for controlling the drawing effect. These attributes include Alpha, Color, Texture, Visibility, Selectability, and ModellingMatrix, etc. In the model structure, the modification of the Style Segment will automatically take effect on all Segments that reference this segment, without the need for individual adjustment, thus improving the efficiency and consistency of attribute management. In addition, the system provides a location defined as "Style Library" for centralized storage and management of these Style Segments.

[0063] The organizational structure of the Driver Segment root node is as Figure 7 shown. The Driver Segment root node is used to manage the interaction between the system and different graphics device drivers. This root node can be defined as "driver", and it contains multiple sub-segments below, such as "emscripten", "opengl3", "longan gui", and other driver sub-segments. Each sub-segment corresponds to a specific graphics device driver format. The design of these sub-segments allows the system to flexibly support different types of graphics hardware or rendering environments and simplifies the complexity for developers when dealing with these differences through a unified structure. In addition, the root node is also linked to other support modules, such as "include library" and "style library", to achieve effective integration of drawing instructions, styles, and device drivers.

[0064] Furthermore, the BIM model storage system based on lightweight data in the embodiments of the present disclosure can be developed in C language, using the OpenGL graphics rendering library and WebAssembly technology, and encapsulating three major development frameworks, namely LonganFx, LonganFx Cloud, and LonganFx Service, for the development and invocation of desktop applications, web front-ends, and server-side graphics applications respectively. The application structure of the BIM model storage system based on lightweight data can be as Figure 8 shown. Among them, the application structure of the BIM model storage system based on lightweight data includes three main parts: a graphics driver layer, a development framework layer, and a business application layer, which provide underlying rendering support, intermediate layer framework functions, and upper-layer business scenario adaptation respectively. The graphics driver layer realizes the underlying support for graphics rendering through OpenGL and WebAssembly technologies, and is responsible for converting lightweight BIM data into rendering instructions understandable by graphics hardware. The development framework layer includes three major modules: LonganFx, LonganFx Cloud, and LonganFx Service. These modules constitute the core tools for developers to build 3D graphics applications. LonganFx is used for the development of desktop graphics applications and provides high-performance local graphics processing capabilities; LonganFx Cloud is oriented to the development of web front-end graphics applications and realizes the online loading, interaction, and display of lightweight models in combination with WebAssembly technology; LonganFx Service is for server-side graphics applications and supports the processing and distribution of large-scale BIM data in multi-user collaboration scenarios, providing underlying support for distributed graphics computing. The business application layer covers three scenarios: desktop graphics, front-end graphics, and server-side graphics, corresponding to different business requirements respectively. Desktop graphics are suitable for high-performance local BIM model editing and visualization scenarios; front-end graphics are suitable for scenarios where lightweight BIM models are accessed through browsers and support real-time operations by users on low-performance devices; server-side graphics are suitable for centralized model management and rendering service scenarios, and efficiently process complex models by coordinating multi-user requests.

[0065] Next, in other embodiments, the components and technical details of the tree-like segmented management module 1, segmented reuse creation module 2, parallel rendering module 3, lightweight data generation module 4, and data compression module 5 will be introduced in detail.

[0066] In some embodiments, the tree-shaped segmentation management module includes a segmentation creation unit, a parent-child association unit, a segmentation hierarchy construction unit, and a data mapping unit. Among them, the segmentation creation unit can be used to create multiple segmentation nodes. The segmentation nodes contain geometric information, attribute information, and sub-segment information, and a unique identifier is set for each segmentation node; the parent-child association unit can be used to establish a parent-child relationship between the segmentation nodes based on the segmentation nodes, and transfer the attributes of the parent segment through the attribute inheritance mechanism, while allowing the sub-segment to override the inherited attributes; the segmentation hierarchy construction unit can be used to organize the segmentation nodes into a tree-shaped segmentation structure by using the parent-child relationship established by the parent-child association unit, and associate the corresponding sub-segment nodes with each parent segment node; the data mapping unit can be used to map the geometric information, attribute information, and organizational structure information of the BIM model to the segmentation nodes generated by the segmentation creation unit to complete the construction of the tree-shaped segmentation structure. Specifically:

[0067] The segmentation creation unit is used to create multiple segmentation nodes. Each segmentation node serves as an independent unit for storing geometric information, attribute information, and sub-segment information. When creating a segmentation node, the system assigns a unique identifier to each node. The identifier adopts a specific data format to ensure that the segmentation node is uniquely identified without conflict in the entire tree-shaped segmentation structure. The geometric information includes the vertex coordinates and topological relationships of geometric primitives such as points, lines, and surfaces. The attribute information includes characteristics such as color, transparency, and material that describe the appearance of geometric primitives. The sub-segment information is used to record the association between a segment and its lower-level segments. The creation of the segmentation node is completed by initializing the geometric and attribute data fields, and at the same time, storage space is reserved for the sub-segment information to support subsequent tree-shaped relationship construction. Through the segmentation creation unit, the system can organize and store multi-dimensional information in the BIM model in a standardized manner, providing an efficient storage foundation for subsequent operations.

[0068] The parent-child association unit establishes a parent-child relationship based on the segmentation nodes and realizes attribute transfer and management through the attribute inheritance mechanism. When constructing the parent-child relationship, the system records each child node as an associated object of its parent node, and at the same time stores a reverse reference to the parent node in the child node, thus forming a two-way association. The attribute inheritance mechanism is realized by defining global attributes in the parent node and automatically inheriting them in the child node. The child node does not need to explicitly store duplicate attributes, thus reducing data redundancy. When a sub-segment needs to override the inherited attributes, the parent-child association unit supports local rewriting of the attributes, and ensures that the attribute settings of the child node can take effect correctly by marking the priority of the rewritten attributes. The operation logic of this unit is realized by traversing the segmentation nodes, mapping the parent-child relationship into a node hierarchy, and ensuring the organization and access efficiency of the segments.

[0069] The segmented hierarchical construction unit organizes all segmented nodes into a tree-like segmented structure by using the parent-child relationship established by the parent-child association unit. During the segmented hierarchical construction process, the system recursively associates its child nodes layer by layer starting from the root node, nesting the segmented nodes step by step to form a hierarchical tree-like structure. Each parent segmented node maintains a list of its direct child segmented nodes, and at the same time stores the depth and width information of the tree in the node structure to support subsequent traversal and rendering operations. Through the segmented hierarchical construction unit, the system can efficiently generate a complete tree-like segmented structure, providing a storage architecture with clear logic and distinct levels for the organization and management of the BIM model. In addition, the tree-like segmented structure can also be called the Segment data structure. In the embodiments of the present disclosure, the design rules of the Segment data structure can be defined as follows: A Segment encapsulates a common interface; a Segment uses data hiding to protect the internal details it represents; a Segment has attributes similar to member variable objects; a Segment can have one or more child Segments. The hierarchical structure formed by these Segments in the graphic database is similar to the class hierarchy in object-oriented languages; just as member variables are inherited by subclasses, attributes are also inherited by child Segments. This form of inheritance is called attribute inheritance; a Segment can be reused by using include segments and style segments; a Segment contains a single list of geometries belonging to that Segment.

[0070] Furthermore, the hierarchical organization form of the Segment data structure can be as Figure 9As shown in the figure. Among them, the Segment data structure mainly consists of four parts: drawing structure, geometric data, drawing data, and attribute data. The drawing structure (Structures) includes three structural units: Segment, Include, and Style. Segment is the basic segmentation unit, used to define independent geometric information and attribute information; Include realizes data reuse by referring to other Segments, reducing redundant storage; Style is used to centrally manage style attributes such as color and texture, uniformly control the drawing style of segments, and optimize the simplicity and flexibility of data management. Geometric (Geometries) data includes various basic geometric primitives in the model, such as points, lines, planes, polylines, circles, ellipses, polygons, and text, etc. Drawing (Attributes) data contains the core attributes related to graphic rendering, including camera parameters, material information, visibility, and selectability. Attribute (Properties) data contains the identifier (id), element type, numerical attributes, and other custom properties (Properties) of each Segment node. Through this hierarchical design, the Segment data structure ensures the efficient organization and access of geometric information and attribute information, minimizing the switching of the hardware context during the drawing process. At the same time, the optimized display list improves throughput and can quickly respond to graphic rendering and update requests for complex scenes, thus meeting the efficient application of BIM models in multiple scenarios and with multiple requirements.

[0071] The data mapping unit is responsible for mapping the geometric information, attribute information, and organizational structure information in the BIM model to the segment nodes generated by the segment creation unit. During the data mapping process, the system parses the source data of the BIM model, extracts geometric primitives and their attribute information, and standardizes these data according to the storage format of the segment nodes. The geometric information is mapped to the geometric fields of the segment nodes, the attribute information is decomposed into key-value pairs and stored in the attribute fields, and the organizational structure information is mapped by matching the hierarchical relationship with the segment nodes. Through the data mapping unit, the data of the BIM model can be efficiently incorporated into the tree-like segment structure, thus realizing the lightweight organization and management of complex model data.

[0072] In some embodiments, the segmented multiplexing creation module includes a multiplexing segment generation unit, a multiplexing segment reference unit, a style segment definition unit, and a style segment association unit. Among them, the multiplexing segment generation unit can be used to create multiplexing segments based on the tree-like segment management module's constructed tree-like segment structure, configure geometric information and attribute information for the multiplexing segments, and assign unique reference identifiers; the multiplexing segment reference unit can be used to reference the multiplexing segments to multiple segment nodes through the reference identifiers generated by the multiplexing segment generation unit, and ensure the consistency of geometric information and attribute information between the segment nodes; the style segment definition unit can be used to define style segments based on the segment node reference relationships completed by the multiplexing segment reference unit, and store drawing attributes in the style segments, including color, transparency, material, and visibility information; the style segment association unit can be used to associate the style segments generated by the style segment definition unit with multiple multiplexing segment nodes, and apply the drawing attributes in the style segments in the segment nodes to achieve unified setting of drawing parameters. Specifically:

[0073] The multiplexing segment generation unit is used to create multiplexing segments based on the tree-like segment structure constructed by the tree-like segment management module, configure geometric information and attribute information for the multiplexing segments, and simultaneously assign unique reference identifiers. The geometric information includes vertex coordinates, geometric body types, and their topological relationships, which are used to define the geometric form of the multiplexing segments; the attribute information covers color, transparency, material, and visibility, etc., which are used to describe the visual characteristics and interaction attributes of the geometric bodies. When generating multiplexing segments, the unit extracts necessary information from the tree-like segment structure and encapsulates the geometric information and attribute information into the data structure of the multiplexing segments according to preset data organization rules. To ensure reference consistency, the unit assigns a unique reference identifier to each multiplexing segment, which is generated based on a hash algorithm or other unique identifier generation rules, and can uniquely mark the multiplexing segments in the entire tree-like segment structure, facilitating subsequent reference and management.

[0074] The multiplexing segment reference unit references the multiplexing segments to multiple segment nodes through the reference identifiers generated by the multiplexing segment generation unit, and ensures the consistency of geometric information and attribute information between the segment nodes. During the reference process, the unit maps the data of the multiplexing segments to the nodes through the reference identifiers according to the requirements of the target segment nodes, without the need to repeatedly store geometric information and attribute information, thus effectively reducing data redundancy. The implementation of the reference is completed through a pointer or index mechanism. Each target node maintains a reference relationship to the multiplexing segment, and simultaneously records the usage scope and conditions of the reference identifier. The reference unit also verifies the integrity and consistency of the reference to ensure that all referenced segment nodes share the same geometric information and attribute information, thereby achieving consistent management of data between segments.

[0075] The style segment definition unit defines the style segment based on the segment node reference relationship completed by the reusable segment reference unit, and stores the drawing attributes in the style segment, including color, transparency, material, and visibility information. The style segment is used to uniformly manage the drawing attributes of reusable segments, thereby reducing the complexity of repeated storage and configuration. When defining the style segment, the unit extracts the common or shared drawing attributes in the reusable segment and stores them in the attribute field of the style segment. The color and transparency attributes are represented by a standardized color model and transparency value. The material information includes rendering parameters such as texture mapping and lighting effects. The visibility attribute marks the display state of the segment through a boolean value. The data structure design of the style segment allows for dynamic expansion and update of attributes to meet diverse drawing requirements.

[0076] The style segment association unit associates the style segment generated by the style segment definition unit with multiple reusable segment nodes, and applies the drawing attributes in the style segment to the segment nodes to achieve unified setting of drawing parameters. During the association process, the unit records the reference information of the style segment into the drawing attribute field of each target segment node, and the segment node obtains the drawing attributes by parsing the reference relationship of the style segment. The unit supports dynamic association operations, allowing the association relationship between the segment node and the style segment to be modified at runtime, thereby flexibly adjusting the application scope of the drawing attributes. Through the style segment association unit, the update of the drawing attributes can be completed centrally in the style segment without modifying each segment node one by one, significantly improving the efficiency and consistency of the drawing parameter setting.

[0077] In some embodiments, the parallel rendering module includes a rendering task allocation unit, a rendering priority setting unit, a parallel computing unit, a view clipping unit, and a rendering result synthesis unit. Among them, the rendering task allocation unit can be used to analyze the rendering requirements of each segment node according to the geometric information and attribute information in the reusable segment, and divide the rendering requirements into several independent rendering tasks; the rendering priority setting unit can be used to calculate the complexity of each rendering task according to the rendering tasks divided by the rendering task allocation unit, and assign a rendering priority to each task; the parallel computing unit can be used to use multi-threading technology to allocate the tasks assigned by the rendering priority setting unit to multiple threads, and perform the rendering operation of geometric primitives based on the geometric information and attribute information in each thread; the view clipping unit can be used to clip the invisible part of the geometric information according to the visible area of the current view before the parallel computing unit performs the rendering operation, and transfer the clipped geometric information to the parallel computing unit; the rendering result synthesis unit can be used to receive the multi-threaded rendering results completed by the parallel computing unit, synthesize the partial rendering data generated by each thread, and generate a complete rendering image. Specifically:

[0078] The rendering task allocation unit is used to analyze the rendering requirements of each segmentation node based on the geometric information and attribute information in the multiplexed segments, and divide the rendering requirements into several independent rendering tasks. The geometric information includes the vertex coordinates, topological relationships, and spatial positions of the primitives, and the attribute information includes parameters related to rendering such as materials, textures, lighting, and transparency. The analysis of the rendering requirements is determined by traversing each node in the tree-like segmentation structure and combining its geometric information and attribute information to determine the required rendering computation amount and resource requirements. According to the analysis results, the rendering task allocation unit splits the complex rendering requirements into multiple independent subtasks, and each subtask corresponds to a specific geometric primitive or attribute set. During the task division process, the unit also standardizes the input and output data of each task for subsequent parallel computing.

[0079] The rendering priority setting unit calculates the complexity of each rendering task based on the rendering tasks divided by the rendering task allocation unit, and assigns a rendering priority to each task. The calculation of the complexity is based on the scale and type of the geometric information and attribute information involved in the task, including the number of vertices, material complexity, resolution of texture mapping, and processing overhead of transparency parameters, etc. By comprehensively considering these factors, the unit uses a preset priority calculation model or dynamic weight adjustment algorithm to assign priorities to each task. The result of the priority assignment directly affects the scheduling order of the tasks in the rendering queue. High-priority tasks will be preferentially assigned to threads with sufficient computing resources, thereby optimizing the overall rendering efficiency.

[0080] The parallel computing unit uses multi-threading technology to allocate the tasks assigned by the rendering priority setting unit to multiple threads, and performs the rendering operations of geometric primitives in each thread based on the geometric information and attribute information. The number of threads is dynamically adjusted according to the system's hardware resources and task scale to achieve maximum resource utilization. When allocating tasks to threads, the unit combines the priority of the task and the current load of the thread to ensure load balancing. In the thread, the unit performs rendering processes such as vertex shading, rasterization, and pixel filling according to the geometric information, and applies materials, textures, and lighting effects according to the attribute information. The rendering operations are completed by means of GPU acceleration, and the characteristics of parallel computing are used to greatly shorten the rendering time.

[0081] Before the parallel computing unit performs the rendering operations, the view clipping unit clips the invisible parts in the geometric information according to the visible area of the current view, and transfers the clipped geometric information to the parallel computing unit. The clipping operation defines the visible area through the camera's frustum. The unit makes a spatial judgment on the vertex coordinates of the geometric information according to the frustum and eliminates the primitives outside the frustum. In addition, the clipping unit also performs splitting processing on some occluded primitives and only retains the geometric information of the visible parts. The clipped data not only reduces the amount of geometric information transferred to the parallel computing unit, but also reduces the computational complexity of subsequent rendering operations.

[0082] The rendering result synthesis unit is used to receive the multi-threaded rendering results completed by the parallel computing unit, synthesize the partial rendering data generated by each thread, and generate a complete rendered image. The rendering result is usually stored in the form of a frame buffer. The unit extracts partial image data from the frame buffer of each thread and splices and merges them according to the spatial position of the segmentation nodes or the task partition information. During the synthesis process, the unit performs depth testing and color blending on the pixel data in the overlapping areas to ensure the integrity and correctness of the image.

[0083] In some embodiments, the lightweight data generation module includes a data classification unit, a segmented data writing unit, a rendering data generation unit, and a binary file encapsulation unit. Among them, the data classification unit can be used to classify the geometric information, attribute information, structural information, and rendering information in the BIM model into geometric data, attribute data, structural data, and rendering data according to the tree-like segmentation structure; the segmented data writing unit can be used to write the geometric data, attribute data, and structural data classified by the data classification unit into the corresponding segmented data blocks according to the hierarchical order of the segmentation nodes; the rendering data generation unit can be used to extract rendering parameters based on the geometric data and attribute data generated by the segmented data writing unit and generate rendering data for rendering; the binary file encapsulation unit can be used to encapsulate the data generated by the segmented data writing unit and the rendering data generation unit into a binary data file according to the lightweight file format. The binary data file includes a data header, data blocks, and a data tail. Specifically:

[0084] The data classification unit is used to classify the geometric information, attribute information, structural information, and rendering information in the BIM model into geometric data, attribute data, structural data, and rendering data according to the tree-like segmentation structure. The geometric information includes the spatial coordinates and topological relationships of geometric primitives such as points, lines, and faces. The attribute information includes attribute parameters related to the rendering of primitives such as color, material, transparency, and visibility. The structural information includes the parent-child hierarchical relationship and reference relationship of the segmentation nodes. The rendering information includes drawing parameters such as lighting, texture, and rendering mode. During the classification process, the unit traverses the segmentation nodes level by level according to the tree-like segmentation structure, extracts the geometric information and attribute information associated with the nodes, and extracts the structural information by parsing the hierarchical structure and reference relationship of the segments. The classified geometric data, attribute data, structural data, and rendering data are respectively stored in the corresponding data buffers to ensure the clarity of data organization and the efficiency of subsequent operations.

[0085] The segmented data writing unit is used to write the geometric data, attribute data, and structure data classified by the data classification unit into the corresponding segmented data blocks according to the hierarchical order of the segmented nodes. During the writing process, the unit recursively processes from the root node according to the tree-like segmented structure. The data block of each node consists of a geometric data block, an attribute data block, and a structure data block, which store the geometric information, attribute information, and structure information of the node respectively. The writing order is strictly arranged according to the hierarchical relationship of the segmented nodes to ensure that the data block of the parent node is written before the data block of its child node. When writing, the unit standardizes the format of each data block, including the vertex coordinate sequence of the geometric data, the key-value pair form of the attribute data, and the parent-child relationship mapping table of the structure data. The writing of the segmented data is completed by pre-allocating memory and gradually filling it, thereby optimizing the writing efficiency and reducing the storage overhead.

[0086] Based on the geometric data and attribute data generated by the segmented data writing unit, the rendering data generation unit extracts rendering parameters and generates rendering data for rendering. The rendering parameters include lighting information, texture mapping, rendering mode, depth test settings, etc., which are jointly determined by the geometric data and attribute data. During the rendering data generation process, the unit first parses the geometric data to determine the primitive type and vertex distribution, and then combines the attribute data to extract the rendering attributes associated with the primitive, such as material and color. After extraction, the unit normalizes the rendering parameters to generate a standardized rendering data format that meets the lightweight rendering requirements. The generated rendering data is stored in binary form and associated with the corresponding segmented node for direct invocation by subsequent rendering operations.

[0087] The binary file encapsulation unit is used to encapsulate the data generated by the segmented data writing unit and the rendering data generation unit into a binary data file according to the lightweight file format. The binary data file consists of a data header, data blocks, and a data tail. The data header contains file identification, version number, and metadata information. The data blocks store geometric data, attribute data, structure data, and rendering data. The data tail contains the check information and end flag of the file. During the encapsulation process, the unit first generates the metadata of the file, including the number of segments, data format, and other file information, and writes it into the data header. Then, it encapsulates the segmented data blocks one by one in hierarchical order, and each data block is associated through pointer or index links. Finally, the unit calculates the integrity check value of the file and writes it into the data tail to ensure data security during file transmission. Through binary encapsulation, the generated file has the characteristics of efficient storage and fast parsing, providing support for the transmission and application of lightweight BIM models. Among them, the binary data file can be defined as a gsl file, and its composition structure can be as Figure 10As shown, the data header stores the basic information of the file, including metadata information such as file identification (e.g., ETX), file type (e.g., gsl), version number, etc., which is used to identify and parse the file format. The data block contains the core data content and stores the information of Segments and sub-Segments in the tree-like segmented structure, including geometric data, attribute data, and structural relationships, which is the main data carrier of the file. The data tail is used to identify the end of the file and usually contains verification information or flag bits (e.g., "0") to ensure the integrity and correctness of the file data.

[0088] Furthermore, in the embodiments of the present disclosure, the writing process of the binary data file can be as Figure 11 shown. Specifically, first, obtain the geometric information and attribute information of the BIM model, and organize the data structure according to the tree-like segmentation. The process starts from writing the file type and version, and gradually writes the segment number, segment name, attribute data, geometric data, included data, and style data. Subsequently, it is judged whether there are sub-segments. If there are sub-segments, continue to write the data of the sub-segments. If there are no sub-segments, the writing of the binary data file is completed, ensuring the hierarchy and data integrity of the entire process.

[0089] In some embodiments, the data compression module includes a compression algorithm selection unit, a data chunking unit, a compression processing unit, and a compressed data integration unit. Among them, the compression algorithm selection unit can be used to select a compression algorithm according to the structure information and data volume of the binary data file, and set compression parameters; the data chunking unit can be used to split the binary data file into multiple data chunks, where each data chunk corresponds to the segmented data chunk generated by the lightweight data generation module; the compression processing unit can be used to perform per-block compression processing on each data chunk split by the data chunking unit using the compression algorithm, and generate corresponding compressed data chunks; the compressed data integration unit can be used to integrate the multiple compressed data chunks generated by the compression processing unit according to the file structure, and form a complete compressed format storage file. Specifically:

[0090] The compression algorithm selection unit is used to select a compression algorithm according to the structure information and data volume of the binary data file, and set compression parameters. The structure information includes the organization form and its association relationship of the data header, data block, and data tail, and the data volume refers to the storage size of each data part in the binary file. The unit obtains the segmentation level, data redundancy, and storage characteristics of each part of the file by parsing the binary file structure, and determines the applicable compression algorithm according to the preset algorithm selection rules. For example, the LZMA algorithm is used for high compression ratio scenarios, or the RLE algorithm is used for cases with high data repetition. After the algorithm is determined, the unit sets compression parameters in combination with the specific storage characteristics of the file, including dictionary size, compression level, and processing buffer size, etc. The selection process of the compression algorithm and parameters is completed through the algorithm performance evaluation model to ensure the balance between compression efficiency and decompression speed.

[0091] The data chunking unit is used to split a binary data file into multiple data chunks, where each data chunk corresponds to a segmented data chunk generated by the lightweight data generation module. The splitting process is completed by parsing the segmented structure of the binary file, and the range of the corresponding segmented data chunk is determined according to the storage location and size of the geometric data, attribute data, and structure data of each segmented node. The unit logically splits the data chunks in the order of the segmented levels in the file structure and assigns an independent index identifier to each data chunk to support subsequent chunk management and compression operations. At the same time, the unit preprocesses the chunked data, including data alignment and padding operations, to ensure that the storage format of each data chunk meets the input requirements of the compression algorithm.

[0092] The compression processing unit is used to perform per-chunk compression processing on each data chunk split by the data chunking unit using a compression algorithm and generate the corresponding compressed data chunk. During the per-chunk compression process, the unit selects the algorithm and parameters specified by the unit based on the compression algorithm, and loads each data chunk into the compression engine for encoding. During the encoding process, the geometric data, attribute data, and structure data are sequentially read according to the storage rules within the data chunk and converted into an efficient storage format through dictionary encoding, entropy encoding, or other compression techniques. After compression, the unit attaches metadata to each compressed data chunk, including the original size, compressed size, and index identifier, to support subsequent decompression operations and data integrity verification. The design of the compression processing unit ensures the independence of each data chunk, facilitating parallel compression and independent decoding.

[0093] The compressed data integration unit is used to integrate the multiple compressed data chunks generated by the compression processing unit according to the file structure and form a complete compressed format storage file. During the integration process, the unit recombines each compressed data chunk into a complete file structure according to the original segmented level and data chunk index of the binary file. The unit first generates data header information in the order of the data chunk index, including file identifier, compression algorithm type, and file metadata, etc.; then sequentially adds the compressed data chunks and updates the segment offset information in the file to indicate the storage location of each data chunk in the file; finally, adds data tail information, including file check value and end flag. In addition, the file suffix format of the compressed format storage file can be defined as ".gsz".

[0094] In some embodiments, the compression algorithm selection unit includes a data characteristic analysis subunit, a candidate algorithm performance calculation subunit, a compression algorithm selection subunit, a selection of the optimal compression algorithm, and a dynamic parameter optimization subunit. Specifically:

[0095] The data characteristic analysis subunit can be used to calculate the characteristic weight index based on each data chunk in the binary data file. The calculation formula is:

[0096]

[0097] Among them, represents the data block size, represents the probability density function of the data block, represents the normalization factor of, which is calculated according to and obtained. represents the data block domain of definition, represents a single data point in the data block, represents with respect to second-order partial derivative of, represents the entropy of the data block, represents the characteristic weight index.

[0098] The candidate algorithm performance calculation subunit can be used to calculate the comprehensive performance index of each algorithm in the candidate compression algorithm set based on the characteristic weight index. The calculation formula is:

[0099]

[0100] Among them, represents the comprehensive performance index of the candidate compression algorithm , represents the number of data blocks, represents the complexity factor of the compression algorithm , represents the second norm of the data characteristic matrix, which is calculated according to and obtained. represents the th type of characteristic value of the th data block.

[0101] The compression algorithm selection subunit can be used to select the optimal compression algorithm based on the comprehensive performance index according to the formula:

[0102]

[0103] Among them, represents the optimal compression algorithm, represents the compression parameter adjustment function, which is calculated according to and obtained. represents the adjustment factor of the compression parameter.

[0104] The dynamic parameter optimization subunit can be used to adjust the compression parameters based on the optimal compression algorithm. The adjustment formula is:

[0105]

[0106] Among them, represents the optimization parameter under time represents the parameter adjustment weight, represents the intermediate variable at any time point during the dynamic parameter optimization process, represents with respect to the second-order partial derivative.

[0107] For the BIM model storage system based on lightweight data in the above embodiments, on the one hand, it stores using a custom lightweight binary file format, achieving seamless exchange and sharing of three-dimensional model data between different BIM design software platforms and application systems, eliminating data conversion barriers caused by format incompatibility, improving data integrity and interoperability, and enabling teams from different specialties to work on the same lightweight platform, such as architecture, structure, mechanical and electrical, etc., thus promoting collaborative work among multiple specialties, simplifying the three-dimensional model processing workflow from design to construction and then to the operation and maintenance stage, reducing the workload of data conversion and format conversion, and improving overall work efficiency. On the other hand, by introducing Include Segment nodes and Style Segment nodes, geometric and attribute data can be inherited, achieving efficient reuse of graphic data, reducing data storage redundancy, and improving the efficiency of data processing and management, thereby reducing the requirements for hardware performance. On the further hand, by optimizing the tree-like segmented data structure and compression algorithm, the storage space and transmission bandwidth requirements of the BIM model are significantly reduced, enabling users to upload and download model data faster, while reducing the pressure on local storage. Moreover, the system provides rich interfaces and functions, supporting the construction of application programs on Windows and Linux systems as well as the Internet, greatly simplifying the development of 3D model visualization application programs. Thus, the BIM model storage system based on lightweight data in the present disclosure enables efficient storage, transmission, and application of BIM data, not only improving the processing efficiency and performance of three-dimensional BIM model data, but also enhancing data security and interoperability, simplifying the work process, reducing the requirements for hardware, and being of great significance for the application and popularization of BIM technology in various industries such as water conservancy and hydropower, new energy, etc.

[0108] Next, in the embodiments of the present disclosure, a BIM model storage method based on lightweight data is further provided, which can be applied to the BIM model storage system based on lightweight data in the above embodiments. Referring to Figure 12 as shown, the BIM model storage method based on lightweight data includes the following steps:

[0109] Step S1201: Construct a tree-like segmented structure, use each segment as a storage unit, set the parent-child relationship between storage units, and manage the relationship between the parent segment and the child segment through the attribute inheritance mechanism;

[0110] Step S1202: Create a reusable segment in the tree-like segmented structure, achieve data reuse through reference, and create a style segment for centralized management of drawing attribute information;

[0111] Step S1203: Based on the geometric information and attribute information in the reusable segment, use a parallel computing method to render the model primitives and manage the rendering parameters;

[0112] Step S1204: Organize the BIM model data according to the tree-like segmented structure and generate a binary data file including a data header, data blocks, and a data tail;

[0113] Step S1205: Compress the binary data file to generate a compressed format storage file.

[0114] In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above BIM model storage method based on lightweight data is also provided.

[0115] Those skilled in the art can understand that various aspects of the present disclosure can be implemented as a system, method, or program product. Therefore, various aspects of the present disclosure can be specifically implemented in the following forms, namely: a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, which can be collectively referred to as "circuit", "module", or "system" here.

[0116] Next, refer to Figure 13 to describe the electronic device 1300 according to this embodiment of the present disclosure. Figure 13 The shown electronic device 1300 is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0117] As Figure 13 shown, the electronic device 1300 is presented in the form of a general computing device. The components of the electronic device 1300 may include, but are not limited to: at least one of the above processing units 1310, at least one of the above storage units 1320, a bus 1330 connecting different system components (including the storage unit 1320 and the processing unit 1310), and a display unit 1340.

[0118] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 1310, so that the processing unit 1310 executes the steps according to various exemplary embodiments of the present disclosure described in the above "exemplary method" part of this specification.

[0119] The storage unit 1320 may include a readable medium in the form of a volatile storage unit, such as a random access memory (RAM) 1321 and / or a cache storage unit 1322, and may further include a read-only memory (ROM) 1323.

[0120] The storage unit 1320 may also include a program / utility 1324 having a set (at least one) of program modules 1325. Such program modules 1325 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment.

[0121] The bus 1330 may represent one or more of several types of bus structures, including a storage unit bus or storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of a variety of bus structures.

[0122] The electronic device 1300 may also communicate with one or more external devices 1370 (such as a keyboard, a pointing device, a Bluetooth device, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1300, and / or may communicate with any device that enables the electronic device 1300 to communicate with one or more other computing devices (such as a router, a modem, etc.). Such communication may be through an input / output (I / O) interface 1350. Further, the electronic device 1300 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 1360. As shown in the figure, the network adapter 1360 communicates with other modules of the electronic device 1300 through the bus 1330. It should be understood that although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1300, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0123] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is further provided, on which a program product capable of implementing the above method of this specification is stored. In some possible embodiments, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product runs on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the above "Exemplary Method" section of this specification.

[0124] Reference Figure 14As shown, a program product 1400 for implementing the above-described BIM model storage method based on lightweight data according to an embodiment of the present disclosure is described. It can be in the form of a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited to this. In this document, a readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0125] The program product can adopt any combination of one or more readable media. The readable media can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, but not be limited to, be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0126] The computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium can also be any readable medium other than the readable storage medium, and this readable medium can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0127] The program code contained on the readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber, electromagnetic wave, etc., or any suitable combination of the above.

[0128] In addition, the above drawings are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, rather than for limiting purposes. It is easy to understand that the processes shown in the above drawings do not indicate or limit the chronological order of these processes. Additionally, it is also easy to understand that these processes can be executed, for example, synchronously or asynchronously in multiple modules.

[0129] Finally, the above preferred embodiments are only used to illustrate the technical solutions of the present application and are not restrictive. Although the present application has been described in detail, those skilled in the art should understand that changes in form and details can be made to it without departing from the scope defined by the claims of the present application.

Claims

1. A BIM model storage system based on lightweight data, characterized in that, including: A tree - shaped segmentation management module, which is used to construct a tree - shaped segmentation structure, take each segmentation as a storage unit, set the parent - child relationship between storage units, and manage the relationship between the parent segmentation and the child segmentation through an attribute inheritance mechanism; A segmentation reuse creation module, which is used to create reuse segments in the tree - shaped segmentation structure, realize data reuse through reference, and create style segments for centralized management of drawing attribute information; A parallel rendering module, which is used to render model primitives based on the geometric information and attribute information in the reuse segments by using a parallel computing method and manage rendering parameters; A lightweight data generation module, which is used to organize BIM model data according to the tree - shaped segmentation structure and generate a binary data file containing a data header, data blocks, and a data tail; A data compression module, which is used to perform compression processing on the binary data file to generate a compressed - format storage file; Among them, the tree - shaped segmentation management module includes: A segmentation creation unit, which is used to create multiple segmentation nodes. The segmentation nodes contain geometric information, attribute information, and sub - segmentation information, and set a unique identifier for each segmentation node; A parent - child association unit, which is used to establish the parent - child relationship between segmentation nodes based on the segmentation nodes, transfer the attributes of the parent segmentation through the attribute inheritance mechanism, and at the same time allow the child segmentation to override the inherited attributes; A segmentation hierarchy construction unit, which is used to organize the segmentation nodes into a tree - shaped segmentation structure by using the parent - child relationship and associate the corresponding sub - segmentation nodes with each parent segmentation node; A data mapping unit, which is used to map the geometric information, attribute information, and organizational structure information of the BIM model to the segmentation nodes generated by the segmentation creation unit to complete the construction of the tree - shaped segmentation structure; The segmentation reuse creation module includes: A reuse segment generation unit, which is used to create reuse segments based on the tree - shaped segmentation structure constructed by the tree - shaped segmentation management module, configure geometric information and attribute information for the reuse segments, and assign a unique reference identifier; A reuse segment reference unit, which is used to reference the reuse segments to multiple segmentation nodes through the reference identifier generated by the reuse segment generation unit and ensure the consistency of geometric information and attribute information between the segmentation nodes; A style segment definition unit, which is used to define style segments based on the segmentation node reference relationship and store drawing attributes in the style segments, including color, transparency, material, and visibility information; A style segment association unit, which is used to associate the style segments generated by the style segment definition unit with multiple reuse segment nodes and apply the drawing attributes in the style segments in the segmentation nodes to achieve unified setting of drawing parameters; The parallel rendering module includes: A rendering task allocation unit, which is used to analyze the rendering requirements of each segmentation node according to the geometric information and attribute information in the reuse segments and divide the rendering requirements into several independent rendering tasks.

2. The BIM model storage system based on lightweight data according to claim 1, wherein, The parallel rendering module further includes: A rendering priority setting unit, which is used to calculate the complexity of each rendering task according to the rendering tasks divided by the rendering task allocation unit and assign a rendering priority to each task; A parallel computing unit, which is used to allocate the tasks assigned by the rendering priority setting unit to multiple threads by using multi-threading technology, and perform rendering operations of geometric primitives based on geometric information and attribute information in each thread; A view clipping unit, which is used to clip the invisible part of the geometric information according to the visible area of the current view before the parallel computing unit performs the rendering operation, and transfer the clipped geometric information to the parallel computing unit; A rendering result synthesis unit, which is used to receive the multi-threaded rendering results completed by the parallel computing unit, synthesize the partial rendering data generated by each thread, and generate a complete rendering image.

3. The BIM model storage system based on lightweight data according to claim 1, characterized in that The lightweight data generation module includes: A data classification unit, which is used to classify the geometric information, attribute information, structural information, and drawing information in the BIM model into geometric data, attribute data, structural data, and drawing data according to the tree-like segmentation structure; A segmented data writing unit, which is used to write the geometric data, attribute data, and structural data classified by the data classification unit into the corresponding segmented data blocks in the hierarchical order of the segmentation nodes; A drawing data generation unit, which is used to extract drawing parameters based on the geometric data and attribute data generated by the segmented data writing unit, and generate drawing data for rendering; A binary file encapsulation unit, which is used to encapsulate the data generated by the segmented data writing unit and the drawing data generation unit into a binary data file according to the lightweight file format, and the binary data file includes a data header, data blocks, and a data tail.

4. The BIM model storage system based on lightweight data according to claim 1, wherein The data compression module includes: A compression algorithm selection unit, which is used to select a compression algorithm according to the structural information and data volume of the binary data file, and set compression parameters; A data chunking unit, which is used to split the binary data file into multiple data chunks, where each data chunk corresponds to the segmented data chunks generated by the lightweight data generation module; A compression processing unit, which is used to perform block-by-block compression processing on each data chunk split by the data chunking unit by using the compression algorithm, and generate corresponding compressed data chunks; A compressed data integration unit, which is used to integrate the multiple compressed data chunks generated by the compression processing unit according to the file structure, and form a complete compressed format storage file.

5. The BIM model storage system based on lightweight data according to claim 1, wherein It also includes: An attribute processing module, which is used to obtain and set the color attribute, visibility attribute, and selection attribute of the BIM model; A geometric processing module, which is used to perform editing, insertion, and display operations on geometric primitives, and the geometric primitives include points, lines, planes, circles, and ellipses; An update processing module, which is used to set and update the rendering state, geometric data, coloring, font, viewport, and camera parameters; A multi-threading processing module, which is used to manage thread tasks, including adding, executing, and ending operations of thread tasks; An event processing module, which is used to manage application layer events, including adding, executing, and deleting operations of events; An interface definition module, which is used to provide interfaces called by the application layer, and the interfaces support access to and operations on the functions of different modules.

6. The BIM model storage system based on lightweight data according to claim 1, wherein It also includes: The primitive copy management module is used to store the geometric information and attribute information of segmented nodes based on the tree-like segmented structure, generate corresponding primitive copies, and store the primitive copies in the display list to support the rapid modification and traversal of graphic information; The bounding volume calculation module is used to calculate the bounding volume according to the geometric information of the primitive copy, store the bounding volume as the spatial position range of the primitive, and cull invisible primitives during rendering; The picking function module is used to determine the target primitive pointed to by the user cursor through the primitive copies and geometric information in the display list, and generate a selection result; The interface management module is used to provide external call interfaces, and the interfaces include an initialization interface, an operation interface, and a resource release interface.

7. The BIM model storage system based on lightweight data according to claim 4, wherein The compression algorithm selection unit includes: The data characteristic analysis sub-unit is used to calculate the characteristic weight index based on each data block in the binary data file, and the calculation formula is: Among them, represents the data block size, represents the probability density function of the data block, represents the normalization factor of, which is calculated according to and obtained, represents the data block domain of definition, represents a single data point in the data block, represents the second-order partial derivative with respect to and, represents the entropy of the data block, represents the characteristic weight index; A candidate algorithm performance calculation subunit, configured to calculate the comprehensive performance index of each algorithm in the candidate compression algorithm set based on the characteristic weight index, and the calculation formula is as follows: in which Among them, represents the comprehensive performance index of the candidate compression algorithm , represents the number of data blocks, represents the complexity factor of the compression algorithm , represents the second norm of the data characteristic matrix, which is calculated according to and obtained, represents the th th characteristic value of the data block; The compression algorithm selection sub-unit is used to based on the comprehensive performance index, according to the formula: Select the optimal compression algorithm, where represents the optimal compression algorithm, represents the compression parameter adjustment function, which is calculated according to and obtained represents the adjustment factor of the compression parameter; The dynamic parameter optimization sub-unit is used to adjust the compression parameters based on the optimal compression algorithm, and the adjustment formula is: Among them, represents the optimization parameter under the time represents the parameter adjustment weight represents the intermediate variable at any time point during the dynamic parameter optimization process represents with respect to the second-order partial derivative of 8. A BIM model storage method based on lightweight data, which is applied to the BIM model storage system based on lightweight data described in any one of the above claims 1-7, and is characterized in that, The method includes: Construct a tree-like segmented structure, use each segment as a storage unit, set the parent-child relationship between storage units, manage the relationship between the parent segment and the child segment through the attribute inheritance mechanism, and at the same time allow the child segment to override the inherited attributes; use the parent-child relationship to organize the segmented nodes into a tree-like segmented structure, and associate corresponding child segmented nodes with each parent segmented node; create reusable segments in the tree-like segmented structure, and achieve data reuse through reference, and at the same time create style segments for centralized management of drawing attribute information, define style segments based on the reference relationship of segmented nodes, and store drawing attributes in the style segments, including color, transparency, material, and visibility information; Based on the geometric information and attribute information in the reusable segments, analyze the rendering requirements of each segmented node, divide the rendering requirements into several independent rendering tasks, use parallel computing methods to render the model primitives, and manage the rendering parameters; Organize the BIM model data according to the tree-like segmented structure, and generate a binary data file containing a data header, data blocks, and a data tail; Perform compression processing on the binary data file to generate a compressed format storage file.

Citation Information

Patent Citations

  • BIM data structured processing and storage method

    CN110245368A

  • Method for rendering STEP format at WEB end

    CN116977523A