Three-dimensional model processing method and device

By separating the 3D model into building floor objects and constructing spatial indexes and mapping relationships, the problem of insufficient interactivity and scalability in existing technologies is solved, and efficient 3D building model management and rendering are achieved.

CN121982245APending Publication Date: 2026-05-05SUPCON TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SUPCON TECH CO LTD
Filing Date
2025-12-23
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In existing technologies, glTF and glb formats are difficult to meet the requirements of interactivity and scalability in large-scale architectural interior layered visualization scenarios.

Method used

The original 3D model is separated into independent building floor objects, and a 3D model package is constructed through spatial indexing and mapping relationships, including outer and inner model data, to achieve decoupling of the building's interior and exterior.

Benefits of technology

It enhances the interactivity and scalability of 3D models, supports individual loading and editing of floors, improves rendering efficiency and data management flexibility, and is suitable for fast loading and browsing in large-scale scenes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121982245A_ABST
    Figure CN121982245A_ABST
Patent Text Reader

Abstract

The invention provides a three-dimensional model processing method and device, and relates to the technical field of information, and the three-dimensional model processing method comprises the steps: obtaining an original three-dimensional model; based on the original three-dimensional model, obtaining outer layer model data taking a building body as a display object; communicating geometric units in the original three-dimensional model are separated, all the communicating geometric units are separated into independent objects, and building floors serve as display objects of the independent objects; performing inter-floor spatial index construction on all the independent objects to obtain inner-layer model data; and performing building inside and outside mapping relation construction on the outer-layer model data and the inner-layer model data to obtain a three-dimensional model package which is used for increasing interactivity and expansibility requirements of a three-dimensional building model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information technology, and more specifically, to a three-dimensional model processing method and apparatus. Background Technology

[0002] In the field of 3D visualization, in order to display the interior effect of a model, the model needs to be broken down for display. This simplifies the complex 3D information into intuitive information, clearly expressing the functional, structural, and flow relationships between upper and lower levels. By breaking down the levels, the requirements for displaying the interior situation of the model can be met, such as displaying the people, items, and floor conditions of the target floor.

[0003] In related technologies, the split display of models is mainly based on general 3D model formats such as glTF (GL Transmission Format) or its binary form glb. However, glTF and glb formats have the following significant limitations in large-scale architectural interior layered visualization scenarios: they are difficult to meet interactive and scalable engineering requirements. Summary of the Invention

[0004] The problem addressed in this application is how to increase the interactivity and scalability of 3D architectural models.

[0005] To address the aforementioned problems, this application provides a three-dimensional model processing method and apparatus.

[0006] Firstly, this application provides a three-dimensional model processing method, including: Obtain the original 3D model; Based on the original 3D model, obtain the outer model data with the building as the display object; Separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; By constructing a spatial index between floors for all the independent objects, the inner layer model data is obtained. A mapping relationship between the outer and inner model data is constructed to determine the interior and exterior of the building, thereby obtaining a 3D model package.

[0007] Optionally, separating the connected geometric units in the original 3D model and dividing all the connected geometric units into independent objects includes: Based on the topological connection relationship of each geometric surface in the original 3D model, interconnected geometric subsets are identified as connected geometric units, and each connected geometric unit is treated as an independent object, wherein each independent object corresponds to at least one building floor. Assign a unique floor identifier to each of the separated independent objects.

[0008] Optionally, constructing a spatial index between floors for all the independent objects to obtain the inner model data includes: Each of the individual objects is converted into an instantiated tile; An index structure is generated based on the spatial positional relationship of the instantiated tiles in the original 3D model; Based on the index structure and the unique floor identifier corresponding to the instantiated tile, hierarchical description information is generated, wherein the inner layer model data includes the instantiated tile and the hierarchical description information.

[0009] Optionally, the step of constructing a mapping relationship between the outer model data and the inner model data to obtain a 3D model package includes: In the outer model data, a unique building identifier is assigned to each building; Organize the building body and the corresponding inner model data of the building body into a building body set; Construct a mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package.

[0010] Optionally, constructing the mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package includes: Obtain scene description information for each of the building entities from the outer model data; Resource location information for generating the inner model data corresponding to each building from the set of buildings; Based on the unique building identifier, the scene description information, and the resource location information, global metadata description information is generated; The outer model data, the building set, and the global metadata description information are used as the 3D model package.

[0011] Optionally, the resource location information for generating the inner model data corresponding to each building from the set of buildings includes: Based on the unique building identifier, determine the inner layer model data of the building body corresponding to the unique building identifier; Extract the hierarchical description information and the instantiated tiles of each floor from the determined inner layer model data; Construct a storage path that associates the unique building identifier with the hierarchical description information and the instantiated tiles of each floor, and use the storage path as the resource location information.

[0012] Optionally, obtaining the outer model data based on the original 3D model, with the building as the display object, includes: The original 3D model is input into a model conversion tool for processing to obtain the outer layer model data, wherein the outer layer model data includes geometric data information and scene description information.

[0013] Optionally, it also includes: In response to a display command, the outer model data is loaded to display the overall structure of the building in a three-dimensional scene; In response to an interactive operation on any of the building structures, obtain the unique building identifier of the target building structure; Based on the unique building identifier, obtain the corresponding resource location information from the 3D model package; Based on the resource location information, the inner layer model data of the target building is loaded, and the inner layer model data is rendered into the three-dimensional scene.

[0014] Optionally, loading the inner model data of the target building based on the resource location information and rendering the inner model data into the 3D scene includes: Obtain instantiated tiles and hierarchical description information from the inner model data; The unique floor identifier corresponding to the instantiated tile is obtained based on the hierarchical description information; Construct the local transformation matrix of the instantiated tile for the unique floor identifier, and apply a vertical offset; The local transformation matrix is ​​updated so that each floor is separated in three-dimensional space along the vertical direction, forming a layered decomposition visualization effect.

[0015] Secondly, this application provides a three-dimensional model processing apparatus, comprising: The acquisition module is used to acquire the original 3D model; The outer model processing module is used to obtain outer model data with the building as the display object based on the original 3D model; The splitting module is used to separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; The inner model processing module is used to construct spatial indexes between floors for all the independent objects and obtain inner model data. The assembly module is used to construct the mapping relationship between the outer layer model data and the inner layer model data to obtain a three-dimensional model package.

[0016] The beneficial effects of the three-dimensional model processing method in this application are: The original 3D model serves as a complete geometric carrier of architectural information, abstracting the entire building into a single display unit. The outer model data forms a lightweight external outline representation, suitable for rapid loading and browsing in large-scale scenarios. By decoupling the original 3D model into independent objects based on floor levels, each floor can be selected and edited individually, enhancing the ability to manipulate the building's interior space. Organizational relationships are established based on physical attributes such as floor elevation and sequence, serving as spatial indexes and giving the inner model data a clear hierarchical structure. Target floors can be quickly located based on user actions, enabling efficient scheduling and rendering. By associating the outer and inner models, a clearly structured data package is formed. The mapping relationship decouples the building's exterior from its internal details, facilitating dynamic loading and local updates of the model when needed, and enabling interaction and expansion in multi-building and multi-project scenarios. Attached Figure Description

[0017] Figure 1 This is a flowchart illustrating the three-dimensional model processing method according to an embodiment of this application; Figure 2 These are illustrations of an embodiment of this application; Figure 3 This is an example diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0018] To make the above-mentioned objects, features, and advantages of this application more apparent and understandable, specific embodiments of this application are described in detail below with reference to the accompanying drawings. Although some embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this application. It should be understood that the accompanying drawings and embodiments of this application are for illustrative purposes only and are not intended to limit the scope of protection of this application.

[0019] It should be understood that the steps described in the method embodiments of this application may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this application is not limited in this respect.

[0020] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to"; the term "based on" means "at least partially based on"; the term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments"; and the term "optionally" means "optional embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first," "second," etc., mentioned in this application are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0021] It should be noted that the terms "one" and "more" used in this application are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0022] The names of messages or information exchanged between multiple devices in the embodiments of this application are for illustrative purposes only and are not intended to limit the scope of these messages or information.

[0023] like Figure 1 As shown in the embodiment of this application, a three-dimensional model processing method includes: Step S100: Obtain the original 3D model.

[0024] The original 3D model represents a common 3D model exchange format used for data delivery of Building Information Modeling (BIM) or manual modeling results. In the embodiments of this application, the FBX model is used as the original input data, containing complete building geometry information.

[0025] Step S200: Obtain outer model data with the building as the display object based on the original 3D model.

[0026] The outer model data represents a 3D visualization model constructed on a building-wide basis, used to express the building's external outline, facade structure, and overall spatial location. The building body represents a single building with independent spatial boundaries and functional attributes, serving as the basic management and display unit in the 3D visualization scene.

[0027] In one embodiment, the outer model data is organized in 3D Tiles format, including b3dm tile files and corresponding tilesset.json description files. This is used to display the building from a macroscopic perspective and can also serve as a user interaction entry point, guiding the on-demand loading of subsequent interior floor models.

[0028] By employing structured outer model data, a lightweight representation and rapid loading of the building's exterior are achieved, avoiding the resource waste caused by loading all interior details at once. The outer model data enhances the clarity and scalability of the overall visualization architecture by visualizing the building structure. Compared to the traditional approach of bundling the building's internal and external structures into a single glTF or glb model, this solution optimizes initial loading efficiency.

[0029] Step S300: Separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors.

[0030] Connected geometric units represent geometric parts in three-dimensional space that are composed of continuous patches or voxels, topologically connected to each other, and not explicitly divided. In architectural models, the floor slabs, walls, beams, columns, and other components of each floor form a connected whole that runs through multiple floors.

[0031] An independent object represents a geometric entity with clearly defined boundaries and semantic affiliation, separated from the original 3D model. In one embodiment, each independent object corresponds to at least one building floor, including all visible components within that floor. Independent objects, as independent units, can be loaded, rendered, moved, or hidden individually.

[0032] By separating the original 3D model into independent objects based on building floors, the previously unified 3D model is broken down into multiple independent objects, allowing the front-end to independently control and load individual floors. Compared to traditional monolithic models, this enhances the interactivity and intuitiveness of interior scenes.

[0033] Step S400: Construct a spatial index between floors for all the independent objects to obtain inner layer model data.

[0034] The spatial index between floors represents the association index established for each independent object, corresponding to its physical spatial location and hierarchical order. The spatial index is constructed based on the vertical arrangement of floors in the building, enabling the front end to quickly locate and schedule the data of the corresponding independent objects based on floor number or height.

[0035] The inner model data represents a collection of 3D Tiles format models organized by spatial index to display the various floors inside a building. The inner model data includes multiple i3dm tile files and corresponding tilesset.json description files, with each set corresponding to an independent floor.

[0036] By constructing spatial indexes between floors, the inner model data organizes and unifies the logical structure and physical space. This allows the front-end to quickly locate and load the corresponding model when a user triggers the display of a specific floor, avoiding the loading of irrelevant data and improving response efficiency. Compared to the traditional method of packaging all floors into a single model, constructing inner model data offers significant advantages in data organization, loading performance, and interactive flexibility.

[0037] Step S500: Construct a mapping relationship between the outer layer model data and the inner layer model data to represent the interior and exterior of the building, thereby obtaining a three-dimensional model package.

[0038] The mapping relationship between the building's interior and exterior represents establishing a mapping association between the outer and inner model data, ensuring that the external representation of a specific building can uniquely correspond to the model resources of each floor within it. This is used to decouple the physical storage location of the building's exterior from its internal structure.

[0039] A 3D model package represents a complete data set that integrates outer model data, inner model data, and the mapping relationship between the building's interior and exterior. In one embodiment, the 3D model package is organized using a structured directory structure, containing building-level folders, floor-level subdirectories, and metadata configuration files, forming a deployable and interactive 3D visualization unit.

[0040] By constructing a mapping relationship between the building's interior and exterior, the 3D model package decouples the external overview from the internal details. When browsing a building complex, only the lightweight outer model is loaded. When users need to view the interior of a specific building, the corresponding floor's inner model can be dynamically loaded based on the mapping relationship, avoiding the performance burden caused by loading all data at once. This improves rendering efficiency in large-scale scenes and enhances the flexibility and scalability of model management, facilitating subsequent updates, replacements, or expansions of specific floor content.

[0041] In this embodiment, the original 3D model serves as the complete geometric carrier of architectural information, abstracting the entire building into a single display unit. The outer model data forms a lightweight external contour representation, suitable for rapid loading and browsing in large-scale scenarios. By decoupling the original 3D model into independent objects based on floors, each floor can be selected and edited individually, enhancing the ability to manipulate the building's interior space. Organizational relationships are established based on physical attributes such as floor elevation and sequence, serving as spatial indexes and giving the inner model data a clear hierarchical structure. Target floors can be quickly located based on user actions, enabling efficient scheduling and rendering. By associating the outer and inner models, a clearly structured data package is formed. The mapping relationship decouples the building's exterior from its internal details, facilitating dynamic loading and local updates of the model when needed, and enabling interaction and expansion in multi-building and multi-project scenarios.

[0042] Optionally, separating the connected geometric units in the original 3D model and dividing all the connected geometric units into independent objects includes: Based on the topological connection relationship of each geometric surface in the original 3D model, interconnected geometric subsets are identified as connected geometric units, and each connected geometric unit is treated as an independent object, wherein each independent object corresponds to at least one building floor. Assign a unique floor identifier to each of the separated independent objects.

[0043] In one embodiment, connected geometric units can be identified by analyzing the topological connections between geometric surfaces. Each connected geometric unit represents a geometric region that has no external connections in space, and is treated as an independent object. An independent object corresponds to at least one building floor, including all visible components within the building floor, such as the floor, ceiling, partitions, and ancillary facilities.

[0044] To facilitate subsequent management and retrieval, each separated independent object is assigned a unique floor identifier. The unique floor identifier adopts a structured naming rule, such as including the building number and floor sequence number, so that it has a clear identity in data organization, front-end loading, and user interaction.

[0045] In 3D modeling software, the model is split based on element hierarchy, and floor boundaries are automatically or semi-automatically identified using geometric connectivity. Identifiers are then assigned to the separated results. The resulting independent objects retain both the original geometric integrity and a clear floor affiliation.

[0046] In one embodiment, an artificial FBX model (original 3D model) is first obtained and imported into 3ds Max software. Since the model data is a single entity, it needs to be processed using 3ds Max. In the software window, the 3ds Max model to be separated is selected. In the modifier stack list, the model's hierarchy is expanded, elements are selected, and each individual object is separated from the element list. A unique floor identifier is assigned to each separated individual object, for example, named Floor_1, indicating that the individual object is the first floor of a building.

[0047] Optionally, before separating the connected geometric units in the original 3D model and separating all the connected geometric units into independent objects, the method further includes: Determine whether the original 3D model is a complete group; If it is a complete group, then the original 3D model is ungrouped; If it is not a complete group, then the connected geometric units in the original 3D model are separated.

[0048] Optionally, constructing a spatial index between floors for all the independent objects to obtain the inner model data includes: Each of the individual objects is converted into an instantiated tile; An index structure is generated based on the spatial positional relationship of the instantiated tiles in the original 3D model; Based on the index structure and the unique floor identifier corresponding to the instantiated tile, hierarchical description information is generated, wherein the inner layer model data includes the instantiated tile and the hierarchical description information.

[0049] Instantiated tiles represent a lightweight format in the 3D Tiles specification for expressing repeating or independent geometry. It can be used for batch instance management and spatial transformation, and is suitable for interior model data organized by floor.

[0050] After being converted into instantiated tiles, an index structure is generated based on the spatial relationships of each instantiated tile in the original 3D model. The index structure reflects the vertical arrangement and relative height relationships between floors, for example, by building the index structure based on the bounding box, center coordinates, or elevation information. For instance, instantiated tiles exist as i3dm files.

[0051] The hierarchical description information is generated based on the index structure and the unique floor identifier corresponding to each instantiated tile. It is used to describe the logical hierarchy, spatial attributes, and reference paths of each floor in the inner model data. For example, the hierarchical description information exists in the form of a tileset.json file, which constitutes the organizational skeleton of the 3D Tiles model.

[0052] In one embodiment, individual objects are exported floor by floor, and the format of the individual objects is converted into 3D Tiles. After exporting the individual objects one by one using 3DMAX, the exported data is imported into CesiumLab software to generate i3dm and tileset.json files (i.e. files containing instantiated tiles and layer description information) of 3D Tiles models for each floor, such as NoLod_0.i3dm and NoLod_1.i3dm.

[0053] Optionally, the step of constructing a mapping relationship between the outer model data and the inner model data to obtain a 3D model package includes: In the outer model data, a unique building identifier is assigned to each building; Organize the building body and the corresponding inner model data of the building body into a building body set; Construct a mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package.

[0054] A building set represents a logical unit consisting of a building and all its corresponding inner model data. It is used to integrate the external representation and internal details of the same building into a unified management object, facilitating subsequent access and maintenance. A structured 3D model package is formed by establishing a mapping relationship between unique building identifiers and corresponding building sets. This mapping relationship exists in the form of metadata files, recording the rules governing the correspondence between building identifiers and their inner model storage paths, floor structures, and other information.

[0055] The outer and inner models are decoupled but logically linked. After loading the outer model, the building identifier can be obtained based on user interaction, dynamically locating and loading the corresponding inner model, avoiding full preloading. Through the mapping structure of the 3D model package, modular organization is possible across multiple building scenes, facilitating model updates, replacements, and expansions, and improving the interactive flexibility and data maintainability of 3D building models in complex visualization applications.

[0056] In one embodiment, based on the outer model data, a folder named with a unique ID for each building is created, and the generated files for each floor (inner model data) are placed in the corresponding folder to form a collection of building elements.

[0057] Optionally, constructing the mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package includes: Obtain scene description information for each of the building entities from the outer model data; Resource location information for generating the inner model data corresponding to each building from the set of buildings; Based on the unique building identifier, the scene description information, and the resource location information, global metadata description information is generated; The outer model data, the building set, and the global metadata description information are used as the 3D model package.

[0058] Scene description information represents data extracted from the outer model data, used to characterize the location, bounding box extent, and display attributes of the building in 3D space. Resource location information represents reference information generated from the set of buildings, pointing to the data storage path or access address of the inner model. Each building corresponds to a set of resource location information, used to determine the specific location of each floor model in the file structure or network path.

[0059] Global metadata description information is generated based on unique building identifiers, scene description information, and resource location information. It is organized in a structured format to establish a mapping between the building and its internal and external models.

[0060] In one embodiment, scene description information is represented by a tileset.json file, and global metadata description information is obtained by connecting inner model data and outer model data through resource location information URLs. The global metadata description information is represented by a modelMeta.json file.

[0061] Optionally, the resource location information for generating the inner model data corresponding to each building from the set of buildings includes: Based on the unique building identifier, determine the inner layer model data of the building body corresponding to the unique building identifier; Extract the hierarchical description information and the instantiated tiles of each floor from the determined inner layer model data; Construct a storage path that associates the unique building identifier with the hierarchical description information and the instantiated tiles of each floor, and use the storage path as the resource location information.

[0062] In one embodiment, the building corresponding to the unique building identifier is bound to its corresponding inner model data. This involves associating and storing the instantiated tiles and layer description information corresponding to the inner model data of the building with the outer model data. The storage path is associated with the resource location information URL, and after selecting a building, the inner model data corresponding to that building is loaded using the resource location information.

[0063] For example, a 3D model package includes interconnected outer and inner model data. The outer model data displays the external structure of the building through geometric data information and associates the spatial relationships between buildings through scene description information. The inner model data of the building and its interior is stored through a set of building volumes. When displaying the external structure of the building, if the building is selected, the instantiated tiles and hierarchical description information of the building can be located and loaded through resource location information, that is, each floor inside the building can be displayed.

[0064] Optionally, obtaining the outer model data based on the original 3D model, with the building as the display object, includes: The original 3D model is input into a model conversion tool for processing to obtain the outer layer model data, wherein the outer layer model data includes geometric data information and scene description information.

[0065] In one embodiment, the model conversion tool is CesiumLab, which processes the data to obtain a 3D Tiles model including b3dm and tileset.json files, i.e., outer model data including geometric data and scene description information. This is used to display the external structure of the model.

[0066] Optionally, the three-dimensional model processing method further includes: In response to a display command, the outer model data is loaded to display the overall structure of the building in a three-dimensional scene; In response to an interactive operation on any of the building structures, obtain the unique building identifier of the target building structure; Based on the unique building identifier, obtain the corresponding resource location information from the 3D model package; Based on the resource location information, the inner layer model data of the target building is loaded, and the inner layer model data is rendered into the three-dimensional scene.

[0067] Display commands represent requests triggered by users or applications to showcase a 3D scene. In response to a display command, outer model data is loaded, allowing the overall structure of each building to be presented in the 3D scene. The outer model data expresses the building's appearance in a lightweight manner, suitable for large-scale browsing and avoiding the performance burden caused by loading all details. Interactive actions represent user actions such as clicking, hovering, or selecting a building in the 3D scene. In response to interactive actions, a unique building identifier for the target building can be obtained. This is used to locate and load the internal hierarchical structure of the target building. Resource location information records the storage path of the inner model data of the target building, including hierarchical description information and location references of instantiated tiles on each floor. Based on the unique building identifier, this information can be retrieved from the 3D model package, enabling rapid location of the inner model data.

[0068] The inner model data includes interior geometry organized by floor. After being loaded using resource location information, it is rendered into the 3D scene to display the internal structure of the target building. This achieves a seamless connection between macro and micro views, with the outer model providing an efficient overview and the inner model enabling detailed interaction. The two are linked through a unique building identifier and resource location information, giving the 3D building model excellent responsiveness, scalability, and user experience, meeting the performance and functional requirements of complex interior space visualization.

[0069] In one embodiment, the model is first loaded and displayed via the Cesium API, that is, the address of tileset.json is passed to the API for display, for example, via: new Cesium.Cesium3DTileset({ url: tileset.json, }) To showcase the architecture.

[0070] When a model is clicked, its unique building identifier is obtained via the Cesium API. Then, using the mapping defined in the modelMeta.json file, the inner model data (e.g., " / buildingID / tileset.json") in the building model folder is retrieved via a URL request. Finally, the geometric data information of the inner model data in tileset.json is loaded again via the Cesium API. This allows for the separate loading of interior models.

[0071] Optionally, loading the inner model data of the target building based on the resource location information and rendering the inner model data into the 3D scene includes: Obtain instantiated tiles and hierarchical description information from the inner model data; The unique floor identifier corresponding to the instantiated tile is obtained based on the hierarchical description information; Construct the local transformation matrix of the instantiated tile for the unique floor identifier, and apply a vertical offset; The local transformation matrix is ​​updated so that each floor is separated in three-dimensional space along the vertical direction, forming a layered decomposition visualization effect.

[0072] The local transformation matrix represents the mathematical expression used in the 3D Tiles specification to define the position, rotation, and scaling of a single tile in three-dimensional space. By parsing the layer sequence or elevation information implied by the unique floor identifier, a vertical offset can be applied to the local transformation matrix of the corresponding instantiated tile.

[0073] The updated local transformation matrix is ​​written back to the tile nodes, and the front-end rendering engine recalculates the final position of each floor in the 3D scene, thus achieving a layered decomposition effect where upper and lower floors are staggered along the vertical direction. This clearly displays the originally overlapping and obscured interior structure, making it easier to observe the internal layout of each floor.

[0074] In one embodiment, the code implementation for layered decomposition is as follows: function traverseTiles(tile, i) { / / Get the transformation matrix of the current tile. var transform = Cesium.Matrix4.clone(tile.transform); / / Adjust the translation component of the transformation matrix, i.e., the offset in the Z-axis direction. var translation = Cesium.Matrix4.getTranslation(transform, newCesium.Cartesian3()); / / Extracts the translation components from the 4×4 transformation matrix transform and stores them in a Cesium.Cartesian3 object. `translation.z += 0 + i * 10;` / / Increase the z-axis height offset by 10 units. / / Set the adjusted translation components back to the transformation matrix Cesium.Matrix4.setTranslation(transform, translation, transform); / / Update the transformation matrix of the tile. tile.transform = transform; / / Recursively process child tiles var children = tile.children; if (children) { for (var i = 0; i <children.length; i++) { traverseTiles(children[i],i); / / Recursively traverse all child tiles of the current tile to achieve depth-first access to the 3DTiles tree structure; index i is used to distinguish sibling child tiles and to apply differential vertical offset in hierarchical visualization.

[0075] } } } This application provides a three-dimensional model processing device, comprising: The acquisition module is used to acquire the original 3D model; The outer model processing module is used to obtain outer model data with the building as the display object based on the original 3D model; The splitting module is used to separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; The inner model processing module is used to construct spatial indexes between floors for all the independent objects and obtain inner model data. The assembly module is used to construct the mapping relationship between the outer layer model data and the inner layer model data to obtain a three-dimensional model package.

[0076] like Figure 3 As shown in the embodiment of this application, an electronic device 300 includes a memory 310 and a processor 320; the memory 310 is used to store a computer program; the processor 320 is used to implement the three-dimensional model processing method as described above when the computer program is executed.

[0077] Alternatively, an electronic device 300 includes a memory 310 and a processor 320 coupled to the memory 310; the memory 310 is configured to store a computer program; and the processor 320 is configured to perform the following operations when the computer program is executed: Obtain the original 3D model; Based on the original 3D model, obtain the outer model data with the building as the display object; Separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; By constructing a spatial index between floors for all the independent objects, the inner layer model data is obtained. A mapping relationship between the outer and inner model data is constructed to determine the interior and exterior of the building, thereby obtaining a 3D model package.

[0078] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the three-dimensional model processing method described above.

[0079] Alternatively, a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the following operations: Obtain the original 3D model; Based on the original 3D model, obtain the outer model data with the building as the display object; Separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; By constructing a spatial index between floors for all the independent objects, the inner layer model data is obtained. A mapping relationship between the outer and inner model data is constructed to determine the interior and exterior of the building, thereby obtaining a 3D model package.

[0080] Electronic device 300, which can serve as a server or client in this application, is described below as an example of hardware devices that can be applied to various aspects of this application. Electronic device 300 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic device 300 can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0081] Electronic device 300 includes a computing unit that can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) or a computer program loaded from a storage unit into random access memory (RAM). The RAM may also store various programs and data required for device operation. The computing unit, ROM, and RAM are interconnected via a bus. Input / output (I / O) interfaces are also connected to the bus.

[0082] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc. In this application, the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of this application according to actual needs. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units can be implemented in hardware or as software functional units.

[0083] Although the above disclosure is provided, the scope of protection of this application is not limited thereto. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of this application, and all such changes and modifications will fall within the scope of protection of this application.

Claims

1. A method for processing three-dimensional models, characterized in that, include: Obtain the original 3D model; Based on the original 3D model, obtain the outer model data with the building as the display object; Separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; By constructing a spatial index between floors for all the independent objects, the inner layer model data is obtained. A mapping relationship between the outer and inner model data is constructed to determine the interior and exterior of the building, thereby obtaining a 3D model package.

2. The three-dimensional model processing method according to claim 1, characterized in that, The step of separating the connected geometric units in the original 3D model and separating all the connected geometric units into independent objects includes: Based on the topological connection relationship of each geometric surface in the original 3D model, interconnected geometric subsets are identified as connected geometric units, and each connected geometric unit is treated as an independent object, wherein each independent object corresponds to at least one building floor. Assign a unique floor identifier to each of the separated independent objects.

3. The three-dimensional model processing method according to claim 2, characterized in that, The step of constructing a spatial index between floors for all the independent objects to obtain the inner layer model data includes: Each of the individual objects is converted into an instantiated tile; An index structure is generated based on the spatial positional relationship of the instantiated tiles in the original 3D model; Based on the index structure and the unique floor identifier corresponding to the instantiated tile, hierarchical description information is generated, wherein the inner layer model data includes the instantiated tile and the hierarchical description information.

4. The three-dimensional model processing method according to claim 3, characterized in that, The process of constructing a mapping relationship between the outer and inner model data to obtain a 3D model package includes: In the outer model data, a unique building identifier is assigned to each building; Organize the building body and the corresponding inner model data of the building body into a building body set; Construct a mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package.

5. The three-dimensional model processing method according to claim 4, characterized in that, The process of constructing the mapping relationship between the unique building identifier and the set of building elements to obtain the 3D model package includes: Obtain scene description information for each of the building entities from the outer model data; Resource location information for generating the inner model data corresponding to each building from the set of buildings; Based on the unique building identifier, the scene description information, and the resource location information, global metadata description information is generated; The outer model data, the building set, and the global metadata description information are used as the 3D model package.

6. The three-dimensional model processing method according to claim 5, characterized in that, The resource location information for generating the inner model data corresponding to each building from the set of buildings includes: Based on the unique building identifier, determine the inner layer model data of the building body corresponding to the unique building identifier; Extract the hierarchical description information and the instantiated tiles of each floor from the determined inner layer model data; Construct a storage path that associates the unique building identifier with the hierarchical description information and the instantiated tiles of each floor, and use the storage path as the resource location information.

7. The three-dimensional model processing method according to claim 1, characterized in that, The process of obtaining the outer layer model data based on the original 3D model, with the building as the display object, includes: The original 3D model is input into a model conversion tool for processing to obtain the outer layer model data, wherein the outer layer model data includes geometric data information and scene description information.

8. The three-dimensional model processing method according to claim 1, characterized in that, Also includes: In response to a display command, the outer model data is loaded to display the overall structure of the building in a three-dimensional scene; In response to an interactive operation on any of the building structures, obtain the unique building identifier of the target building structure; Based on the unique building identifier, obtain the corresponding resource location information from the 3D model package; Based on the resource location information, the inner layer model data of the target building is loaded, and the inner layer model data is rendered into the three-dimensional scene.

9. The three-dimensional model processing method according to claim 8, characterized in that, The step of loading the inner model data of the target building based on the resource location information and rendering the inner model data into the 3D scene includes: Obtain instantiated tiles and hierarchical description information from the inner model data; The unique floor identifier corresponding to the instantiated tile is obtained based on the hierarchical description information; Construct the local transformation matrix of the instantiated tile for the unique floor identifier, and apply a vertical offset; The local transformation matrix is ​​updated so that each floor is separated in three-dimensional space along the vertical direction, forming a layered decomposition visualization effect.

10. A three-dimensional model processing device, characterized in that, include: The acquisition module is used to acquire the original 3D model; The outer model processing module is used to obtain outer model data with the building as the display object based on the original 3D model; The splitting module is used to separate the connected geometric units in the original 3D model and separate all the connected geometric units into independent objects, wherein the independent objects are displayed as building floors; The inner model processing module is used to construct spatial indexes between floors for all the independent objects and obtain inner model data. The assembly module is used to construct the mapping relationship between the outer layer model data and the inner layer model data to obtain a three-dimensional model package.