Method, device and program product for collaborative editing of three-dimensional scene

By adopting a hierarchical linkage control locking mechanism in three-dimensional scene editing, data conflicts and consistency problems in multi-user collaborative editing are solved, and an efficient collaborative editing process is achieved.

CN119784987AActive Publication Date: 2025-04-08BWTON TECH CO LTD

Patent Information

Application Number
CN202411987923.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-08
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

When multi-user collaborative editing of three-dimensional scenarios, how to avoid conflicts in model node data, ensure data consistency and integrity, and improve the efficiency of collaborative editing?

Method used

Through the tiered linkage control locking mechanism, the model node data, business data and spatial semantic data are hierarchically set and one-way linkage control are ensured according to the user's access rights and collaborative editing session status to ensure data synchronization and consistency.

Benefits of technology

It realizes efficient collaboration between multiple users in three-dimensional scenarios, avoids data conflicts, improves the efficiency and accuracy of collaborative editing, and ensures data consistency and integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119784987A_ABST
    Figure CN119784987A_ABST
Patent Text Reader

Abstract

The invention provides a three-dimensional scene collaborative editing method, equipment and a program product, and realizes intelligent management of collaborative work of multiple users in a three-dimensional scene through a hierarchical linkage control locking mechanism. Meanwhile, by combining the technical schemes of access authority of the user, collaborative editing session, hierarchical control of data and the like, it is ensured that in the complex three-dimensional scene editing process, the user does not need to manually synchronize data, and the system can automatically manage the editing authority and operation range of different users, so that multiple users can efficiently cooperate, data conflicts are avoided, and the user experience is improved. And the cooperation efficiency is obviously improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of digital twin technology, and specifically to a method, device and program product for collaborative editing of three-dimensional scenes. Background Art

[0002] In the field of 3D scene editing and management of digital twins, 3D scenes often contain a large number of model nodes. It is difficult for a single user to complete such a complex 3D scene editing task. Therefore, multiple people are required to collaborate in editing and managing the 3D scene. This is one of the important requirements in the field of 3D scene editing.

[0003] Traditional processing solutions mainly rely on localized editing, that is, each user downloads the relevant files of the 3D scene separately, edits them independently, then uploads the files, and updates the scene by merging the files. However, this method has obvious defects, such as duplicate editing when the editing areas or contents of multiple users overlap, uploaded files are prone to conflicts, and it is difficult to achieve real-time collaboration. Editing between users cannot be synchronized instantly, affecting collaboration efficiency.

[0004] It can be seen that for multi-user collaborative editing of three-dimensional scenes, how to ensure the consistency, integrity and accuracy of model node data, avoid model node data conflicts and obtain a highly efficient collaborative editing workflow of three-dimensional scenes is a current technical difficulty that needs to be solved urgently. Summary of the invention

[0005] One purpose of the present application is to solve the technical problems of avoiding model node data conflicts and low efficiency when editing three-dimensional scenes, and to provide a method, device and program product for collaborative editing of three-dimensional scenes.

[0006] According to one aspect of an embodiment of the present application, a method for collaborative editing of a three-dimensional scene is disclosed, the method comprising:

[0007] Loading a three-dimensional scene according to user access rights, and initializing model data of a corresponding part of the three-dimensional scene, wherein the model data includes model node data, business data, and spatial semantic data;

[0008] By means of a collaborative session mechanism, determining whether there is a collaborative editing session for the three-dimensional scene; if so, joining the collaborative editing session; if not, creating a new collaborative session;

[0009] In the collaborative editing session, hierarchical linkage control and locking of users are performed according to the model node data and associated business data and spatial semantic data;

[0010] The method for hierarchical linkage control locking includes: performing hierarchical setting based on the data dimensions of the model node data, the business data and the spatial semantic data; independently performing hierarchical control on the sub-node data of the model node data, the sub-business data of the business data and the spatial structure data of the spatial semantic data, and the sub-node data, the sub-business data and the spatial structure data are sequentially unidirectionally linked; obtaining the user's editing instruction, and triggering the user's hierarchical linkage control locking according to the layer position mapped by the editing instruction;

[0011] According to the hierarchical linkage control lock of the user, data of collaborative editing of the three-dimensional scene between users is obtained;

[0012] The edited three-dimensional scene is updated and saved.

[0013] According to one aspect of an embodiment of the present application, the direction of the unidirectional linkage is: unidirectional transmission from the layer where the sub-node data is located to the layer where the sub-service data is located and the layer where the spatial structure data is located in sequence.

[0014] According to one aspect of the embodiment of the present application, the vertical depth value of the unidirectional linkage is 1.

[0015] According to one aspect of an embodiment of the present application, the steps in the collaborative editing session include:

[0016] Obtain the model node data selected by the user and determine whether it is editable; if so, enter the steps in the collaborative editing session;

[0017] If not, determining whether the business data associated with the model node data is editable; if so, entering the steps in the collaborative editing session;

[0018] If not, it is prompted that the model node data is locked and the current collaborative editing session is terminated.

[0019] According to one aspect of an embodiment of the present application, the step of updating and saving the edited three-dimensional scene includes:

[0020] The spatial semantic data corresponding to the model node data selected by the user is obtained to determine whether it has been edited; if so, the step of updating and saving the spatial semantic data is entered; if not, the three-dimensional scene is maintained.

[0021] According to one aspect of an embodiment of the present application, the step of updating and saving the edited three-dimensional scene includes:

[0022] Obtain the business data associated with the model node data selected by the user, and determine whether it has been edited; if so, proceed to the step of updating and saving the business data;

[0023] If not, obtain the model node data selected by the user to determine whether it has been edited; if so, enter the step of updating and saving the model node data; if not, maintain the three-dimensional scene.

[0024] According to one aspect of an embodiment of the present application, the step of updating and saving the edited three-dimensional scene includes:

[0025] Determine whether the user's editing of the three-dimensional scene is a multi-point operation; if not, it is a single-point operation, and enter the step of updating and saving the edited three-dimensional scene; if so, it is a multi-point operation, identify the operation range of multiple items in the model node data, the business data, and the spatial semantic data, and save a rollback backup of the data of the three-dimensional scene corresponding to the operation range;

[0026] Determine whether there is a save conflict caused by multiple simultaneous operations. If so, roll back or overwrite the data of the three-dimensional scene based on the timing of the save conflict caused by the multiple simultaneous operations; if not, enter the step of updating and saving the edited three-dimensional scene.

[0027] According to one aspect of an embodiment of the present application, the step of initializing the model data of the corresponding part of the three-dimensional scene, wherein the model data includes model node data, business data, and spatial semantic data, comprises:

[0028] Retrieve identification data corresponding to the model data;

[0029] Determine whether it is editable according to the identification content mapped by the identification data; if not, end; if yes, obtain corresponding model node data, business data and spatial semantic data according to the identification data;

[0030] Determine whether all the identification data have been traversed; if not, return to the step of retrieving the identification data corresponding to the model data; if so, enter the step of determining whether there is a collaborative editing session for the three-dimensional scene.

[0031] A computer device comprises a memory, a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the above method.

[0032] A computer program product comprises a computer program, wherein the computer program implements the steps of the above method when executed by a processor.

[0033] The embodiment of the present application realizes intelligent management of multi-user collaborative work in a three-dimensional scene through a hierarchical linkage control locking mechanism. At the same time, it also combines technical solutions such as user access rights, collaborative editing sessions, and hierarchical control of data to ensure that in the complex three-dimensional scene editing process, users do not need to manually synchronize data. The system automatically manages the editing permissions and operation scopes of different users, thereby enabling multiple users to collaborate efficiently and avoid data conflicts, and significantly improving the efficiency of collaboration.

[0034] Furthermore, multiple users can collaborate in real time in the same 3D scene, avoiding the synchronization and conflict issues in the traditional single-user editing mode. Users do not need to manually synchronize data, and the system automatically manages the editing permissions and operation scope of different users, thereby significantly improving the efficiency of collaboration.

[0035] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.

[0036] It should be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] The above and other objects, features and advantages of the present application will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings.

[0038] Figure 1 A flow chart of a method for collaboratively editing a three-dimensional scene according to an embodiment of the present application is shown.

[0039] Figure 2 is based on Figure 1 A flow chart of a method for users to perform hierarchical linkage control and locking as shown in the corresponding embodiment.

[0040] Figure 3 A schematic diagram showing the hierarchical logical relationship among model node data, business data, and spatial semantic data and the logical relationship among their sub-node data, sub-business data, and spatial structure data according to an embodiment of the present application is shown.

[0041] Figure 4 is based on Figure 3 A schematic diagram of hierarchical depth adaptation shown in the corresponding embodiment.

[0042] Figure 5 A schematic diagram showing a user joining a collaborative editing session according to an embodiment of the present application is shown.

[0043] Figure 6 is based on Figure 3 A schematic diagram of a front-end display of users collaboratively editing a three-dimensional scene shown in a corresponding embodiment. DETAILED DESCRIPTION

[0044] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these example embodiments are provided so that the description of the present application will be more comprehensive and complete and the concepts of the example embodiments will be fully conveyed to those skilled in the art. The accompanying drawings are only schematic illustrations of the present application and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and thus their repeated description will be omitted.

[0045] In addition, the described features, structures or characteristics may be combined in one or more example embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the example embodiments of the present application. However, those skilled in the art will appreciate that the technical solution of the present application may be practiced while omitting one or more of the specific details, or other methods, components, steps, etc. may be adopted. In other cases, known structures, methods, implementations or operations are not shown or described in detail to avoid obscuring the present application and making the various aspects of the present application obscure.

[0046] Some of the blocks shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0047] The embodiment of the present application is used to obtain a geometric model storage file for the constructed geometric model, so as to facilitate persistent storage on the disk, and then facilitate parsing and restoration based on the persistently stored geometric model storage file. Therefore, the data volume, that is, the size of the storage volume determines the storage efficiency and the storage space occupied, and also determines the efficiency of calling the geometric model again. Therefore, significantly reducing the storage volume of the model is the basis of storage and reuse.

[0048] See also Figure 1 , Figure 1 A flowchart of a method for collaboratively editing a three-dimensional scene according to an embodiment of the present application is shown. The present application embodiment provides a method for collaboratively editing a three-dimensional scene, comprising:

[0049] Step S100, loading a three-dimensional scene according to user access rights, and initializing model data of a corresponding part of the three-dimensional scene, the model data including model node data, business data, and spatial semantic data.

[0050] Step S300: determine whether there is a collaborative editing session of the three-dimensional scene through the collaborative session mechanism; if so, join the collaborative editing session; if not, create a new collaborative session.

[0051] Step S500: In a collaborative editing session, hierarchical linkage control and locking are performed on users according to model node data and associated business data and spatial semantic data.

[0052] Step S700, based on the hierarchical linkage control lock of users, data of collaboratively editing a three-dimensional scene between users is obtained.

[0053] Step S900: updating and saving the edited three-dimensional scene.

[0054] The above steps are elaborated below. In the process of editing the three-dimensional scene, multiple users collaborate in editing, so different three-dimensional scenes need to be loaded according to the permissions of different users. Furthermore, for different users, different role permissions are managed, so the content that different users can view or operate in the three-dimensional scene is defined. For example, ordinary users can only edit public areas in the three-dimensional scene, while administrators can edit all areas in the three-dimensional scene. The identity authentication method can adopt a variety of authentication methods such as username / password, two-factor authentication, OAuth authentication, etc., and this solution does not impose any restrictions from now on.

[0055] To initialize the model data of the corresponding part of the three-dimensional scene, the system needs to load the model data related to the three-dimensional scene according to the user's permissions. The model data includes at least model node data, business data, and spatial semantic data. Among them, the model node represents each geometric body, object or logical unit. For example, each door, window, and furniture in a building can be regarded as a model node. Therefore, the model node data refers to all the data of a geometric body, object, or logical unit. Business data is the data mounted on the model node, that is, additional information of the model node, such as animation, flight direction, rotation, scaling, and other data. Spatial semantic data is data associated with objects, areas, or structures in three-dimensional space and describes the relationship between spaces, such as data on floors and rooms in a building.

[0056] In this embodiment, the BS (Browser-Server architecture) is adopted to store model node data, business data and spatial semantic data separately. This modular design allows each data module to be optimized and expanded according to different needs without modifying other data modules, which has high flexibility and makes data update and maintenance more convenient. Furthermore, the model data of the three-dimensional scene is stored separately, which makes it easier for developers to independently develop and optimize different data types, thereby improving development efficiency.

[0057] A collaborative session mechanism is set up to enable multiple users to modify or view model node data, business data, and spatial semantic data in real time in the same three-dimensional scene, and ensure that the data obtained by all users is consistent. The mechanism detects the session to determine whether a collaborative editing session for the three-dimensional scene already exists. If it is detected that a collaborative editing session already exists, the session allows the current user to join. If no collaborative editing session is detected, a new collaborative session will be automatically created. Whether joining an existing collaborative editing session or creating a new session, data can be synchronized in real time / time-sharing as needed to ensure that all users can obtain a consistent three-dimensional scene state at a preset time. In other embodiments, during the three-dimensional scene editing process of each user, the editing scope of each user can be highlighted on the front-end page to improve the user's convenience and friendliness of operation.

[0058] When multiple users enter a session to collaboratively edit a three-dimensional scene, they need to follow certain access control and permission management strategies. The hierarchical linkage control locking mechanism uses multi-dimensional intelligent permission control to finely manage users' access and editing permissions to model nodes and their related business data and spatial semantic data.

[0059] For details, see Figure 2 The flowchart of the method for the user to perform hierarchical linkage control and locking is shown, and the method for hierarchical linkage control and locking includes:

[0060] Step S510, performing layered settings based on the data dimensions where the model node data, business data, and spatial semantic data are located.

[0061] Specifically, the system sets up layers according to the different data dimensions of model node data, business data and spatial semantic data. By setting up layers according to the corresponding dimensions, different control permissions can be exercised on different data at different levels to ensure data consistency, operability and security. Among them, model node data refers to model nodes, such as doors, windows, tables, chairs, walls, etc., which are on the same layer; business data refers to business attribute data of model nodes, such as flight direction, color, rotation, scaling, etc., which are on the same layer; spatial semantic data refers to the spatial relationship of model nodes in three-dimensional scenes, such as floors, areas, etc.

[0062] Step S520, the sub-node data of the model node data, the sub-business data of the business data and the spatial structure data of the spatial semantic data are independently hierarchically controlled, and the sub-node data, sub-business data and spatial structure data are sequentially unidirectionally linked.

[0063] Specific, combined Figure 3In order to adapt to more complex three-dimensional scenes, more refined and flexible collaborative editing and permission management, the model node data, business data and spatial semantic data are subdivided into sub-node data, sub-business data and spatial structure data. In combination with the characteristics of model data relationships in three-dimensional scenes, a one-way linkage relationship is creatively designed. The sub-node data focuses on the "point", which is one-way linked to the "line" relationship of the sub-business data, and then one-way linked to the "surface" relationship of the spatial structure data. The "point" of the sub-node data links the "line" of the sub-business data, and the "line" of the sub-business data links the "surface" of the structure data, forming a fan-shaped one-way transmission relationship. When a user edits a sub-node data, the system will automatically trigger the locking of the associated sub-business data and spatial structure data. This linkage mechanism greatly simplifies the user's operation process and prevents data inconsistency and conflict. It can be understood that if a user edits a sub-business data, the system can only lock the spatial structure data in the forward direction, avoiding data conflicts in multiple directions of "both forward and backward". Similarly, if a user edits a spatial structure data, only the current spatial structure data is locked.

[0064] Furthermore, when the user triggers the editing of the "point" of the sub-node data, the "line" linking the "point" to the sub-business data will be triggered and locked, and even the "surface" linking the spatial structure data can be extended to achieve intelligent link locking. Because, for the smallest editable sub-node data (that is, the smallest editable unit of the model node, such as stool legs, desktops, door frames, etc.), its mapped associated business data is a variety of business data, which is expressed in a "linear" content (that is, a one-to-many linear quantity relationship, such as flying, rotating, scaling, etc.); the sub-node data with the smallest unit and its associated business data all fall into the "surface" relationship of the spatial structure data in the space (for example, on a certain floor, in a certain room), and are mapped to the spatial structure data from the perspective of business data, and finally the relationship from "line" to "surface" is established. Based on this, the sub-node data, sub-business data, and spatial structure data are linked in one direction in turn, which builds a hierarchical and intelligent authority control system for the user's convenient operation, and can realize dynamic locking and data linkage.

[0065] In other embodiments, the direction of the one-way linkage is: one-way transmission from the layer where the sub-node data is located to the layer where the sub-business data is located and the layer where the spatial structure data is located. Editing the source of the model data in the three-dimensional scene and deriving the editable data content step by step outward meets the functional requirements of quickly editing model data in the three-dimensional scene.

[0066] In one embodiment, the vertical depth value of the unidirectional linkage is 1. Specifically, the linkage relationship between the levels of the data dimension only affects one level of the dimension, that is, the change of each data dimension level only affects the level of the next dimension directly associated with it, and will not further propagate to other data dimension levels deeper. Limiting the depth of the unidirectional linkage to 1 can effectively avoid the infinite propagation of the hierarchical relationship, so that the data update of each level only affects the level directly downstream of it, avoiding data chaos or unnecessary update operations caused by multi-level linkages. Moreover, when the user edits a certain data dimension level, they only need to pay attention to the level directly affected by it, without considering the data update of subsequent deeper levels, which makes data editing more intuitive and simple.

[0067] Further, in combination with Figure 4 the schematic diagram of the hierarchical depth adaptation, the sub-node data, sub-business data, and spatial structure data are subdivided downward at the levels of the same data dimension. The corresponding hierarchical depth is determined by the number of levels subdivided downward, that is, logically, they are parent-child relationships. There can be multiple sub-nodes under one node, forming a hierarchical depth of a tree structure. When the vertical depth value of the unidirectional linkage is 1, the hierarchical depth between the associated data dimensions is also adapted correspondingly. Specifically, when the hierarchical depth of the upper-level data dimension is n and it points to the next-level data dimension with a hierarchical depth of m; if n≥m, the adapted hierarchical depth of the corresponding data dimension is m; if n<m, it means that the data dimensions in the mutual linkage have the same hierarchical depth, which is n. Therefore, the solution of this embodiment realizes the dynamic adjustment and matching of the hierarchical depth between each data dimension by subdividing the sub-node data, sub-business data, and spatial structure data in the data dimension and performing depth adaptation under the constraint that the vertical depth value of the unidirectional linkage is 1, improving the operation efficiency and intelligence of the system.

[0068] Step S530, obtain the user's editing instruction, and trigger the hierarchical linkage control lock of the user according to the layer position mapped by the editing instruction.

[0069] Specifically, obtain the user's editing instruction to trigger the data linkage control of different levels. The operations of this editing instruction include adding, deleting, modifying, or adjusting model nodes, business data, or spatial semantic data. For example, adding table legs to a table, setting the table to rotate by itself, and placing it in the right space on the 5th floor.

[0070] Based on this, adopting the locking mechanism of the above solution, the user's operations only affect the corresponding levels, and perform linkage locking on other relevant levels when necessary. Moreover, the system can achieve intelligent hierarchical management and precise control, avoiding unnecessary data changes and conflicts.

[0071] In a multi-user collaborative editing environment, the 3D scene data related to the user's operation is intelligently acquired according to the user's hierarchical linkage control locking mechanism. By controlling the hierarchical locking during the collaborative editing process, it can ensure that the system can accurately acquire and update the data related to each user's operation, avoid data conflicts, and thus improve the efficiency and reliability of collaborative work.

[0072] After the editing of the above three-dimensional scene is completed, the edited three-dimensional scene is updated and saved, and the collaborative editing of the three-dimensional scene is completed.

[0073] The three-dimensional scene collaborative editing method described in this technical solution realizes intelligent management of multi-user collaborative work in a three-dimensional scene through a hierarchical linkage control locking mechanism. At the same time, it also combines technical solutions such as user access rights, collaborative editing sessions, and hierarchical control of data to ensure that multiple users can collaborate efficiently and avoid data conflicts during complex three-dimensional scene editing.

[0074] Furthermore, multiple users can collaborate in real time in the same 3D scene, avoiding the synchronization and conflict issues in the traditional single-user editing mode. Users do not need to manually synchronize data, and the system automatically manages the editing permissions and operation scope of different users, thereby significantly improving the efficiency of collaboration.

[0075] In addition, through hierarchical settings and one-way linkage based on data dimensions, users' editing operations can be accurately mapped to the corresponding data levels, and the linkage logic between different data levels is clear and controllable, ensuring that each user's modification of the data will not affect other unrelated hierarchical data.

[0076] This solution supports collaborative work across multiple platforms and devices, ensuring that all users can perform real-time / time-sharing editing and data synchronization in different environments such as desktop, mobile, and Web, thereby improving the ability to collaborate across devices.

[0077] In one embodiment, before step S500, the method further includes:

[0078] Get the model node data selected by the user and determine whether it is editable; if so, enter the steps in the collaborative editing session.

[0079] If not, determine whether the business data associated with the model node data is editable; if so, enter the steps in the collaborative editing session; if not, prompt that the model node data is locked and end the current collaborative editing session.

[0080] Specifically, during the collaborative editing process, the user first selects a model node data in the 3D scene to determine whether the model node data has been locked by other users. If not, the model node data can be edited. Because the model node data is a one-way linkage, the business data linked to the model node also needs to be determined whether the business data has been locked by other users. If not, the business data can be edited. Therefore, the above judgment on whether the model node data and / or business data is editable is made. If yes, the collaborative editing session is entered to edit the 3D model.

[0081] Correspondingly, if the above model node data and business data are locked by other users and are in an uneditable state, a message indicating that the model node data is locked is broadcast to all users, and the current collaborative editing session ends.

[0082] This solution ensures that users with corresponding permissions can modify model node data or related business data by judging whether the user has editing permissions. This permission management mechanism can avoid unauthorized operations and ensure data security.

[0083] In one embodiment, before step S900, the method includes:

[0084] The spatial semantic data corresponding to the model node data selected by the user is obtained to determine whether it has been edited; if so, the step of updating and saving the spatial semantic data is entered; if not, the three-dimensional scene is maintained.

[0085] Specifically, if the editing of the 3D scene is completed and conflicts need to be avoided during the saving process, the reverse processing method of the one-way query transmission during 3D model editing is adopted, that is, logical analysis is performed from spatial semantic data to business data and model node data, and it is determined whether the 3D scene has been edited to avoid conflicts in 3D scene saving.

[0086] Spatial semantic data usually contains spatial information related to model nodes, such as the floor where the model node is located, the spatial location of the room, or the area division, etc. The gradual convergence processing from "big" to "small" improves the accuracy and security of data processing.

[0087] Furthermore, before step S900, the method further includes:

[0088] Obtain the business data associated with the model node data selected by the user, and determine whether it has been edited; if so, proceed to the step of updating and saving the business data;

[0089] If not, obtain the model node data selected by the user to determine whether it has been edited; if so, enter the step of updating and saving the model node data; if not, keep the three-dimensional scene.

[0090] Specifically, business data usually includes information such as functional attributes of model nodes in a three-dimensional model. The editing judgment of business data involves multiple data sources, and it is necessary to flexibly judge whether it needs to be updated or saved based on changes in the business data.

[0091] If the spatial semantic data and business data of the model node have not been edited, the system will continue to determine whether the model node data itself has been edited. The model node data includes the basic attributes of the 3D model, such as the geometric shape, size, and position. If the model node data has not been edited, the state of the 3D scene will remain unchanged.

[0092] By adopting this solution, the system can intelligently decide whether to trigger an update operation based on the editing status, avoid unnecessary data updates and resource consumption, effectively manage large-scale data, and ensure real-time synchronization.

[0093] In one embodiment, before step S900, the method includes:

[0094] Determine whether the user's editing of the three-dimensional scene is a multi-point operation; if not, it is a single-point operation, and enter the step of updating and saving the edited three-dimensional scene; if so, it is a multi-point operation, identify the operation range of multiple items in the model node data, business data, and spatial semantic data, and save the rollback backup of the three-dimensional scene data corresponding to the operation range;

[0095] Determine whether there is a save conflict caused by multiple simultaneous operations. If so, roll back or overwrite the data of the 3D scene based on the timing of the save conflict caused by the multiple simultaneous operations; if not, enter the step of updating and saving the edited 3D scene.

[0096] Specifically, in collaborative editing of 3D scenes, when the user edits a single model node, spatial semantic data or business data, it is a single-point operation, and the process directly proceeds to the step of updating and saving the edited 3D scene. When the user edits multiple data dimensions at the same time (such as 2 or more of model node data, business data, and spatial semantic data), it is a multi-point operation, and for this reason, it is necessary to identify the data range involved in the user's editing operation, and save the data rollback backup of the 3D scene corresponding to these operation ranges during the editing process, so as to perform a rollback operation in case of a conflict.

[0097] Through the above-mentioned precise operation judgment and conflict resolution mechanism, data consistency in multi-user collaborative editing is ensured, and data can be efficiently processed and rolled back to deal with conflicts in concurrent 3D model editing and saving.

[0098] In one embodiment, step S100 includes:

[0099] Retrieve identification data corresponding to the model data;

[0100] Determine whether it is editable according to the identification content mapped by the identification data; if not, end; if yes, obtain the corresponding model node data, business data and spatial semantic data according to the identification data;

[0101] Determine whether all identification data have been traversed; if not, return to the step of retrieving the identification data corresponding to the model data; if so, enter the step of determining whether there is a collaborative editing session of the three-dimensional scene.

[0102] Specifically, the model data in the three-dimensional scene is initialized, and the identification data corresponding to the model data is obtained. The identification data is usually a unique identifier for each model node, business data, and spatial semantic data. The identification content marks whether the model data, business data, and spatial semantic data are editable, providing an efficient search method for subsequent legal operations.

[0103] Starting from the 3D scene data itself, the 3D scene file information obtained is managed through permissions based on identification data. The system can ensure that the 3D scene file itself is legal before it can be edited by authorized users, thereby avoiding unnecessary data modifications and operational errors.

[0104] Combined with Figures 5-6 The above method is described below with reference to a specific example.

[0105] Taking the BIM 3D model scene of a subway station as an example, the user permissions of users Zhang San and Li Si are obtained as ordinary editing users, and then the BIM 3D model scene of a subway station is loaded accordingly. Specifically, the subway station scene loads model node data (such as walls, ground, etc.), business data (such as color, flight direction, etc.) and spatial semantic data (such as floors, areas, etc.).

[0106] Through the collaborative session mechanism, users Zhang San and Li Si join the collaborative editing session. Li Si triggers the editing of the model node for the ground, and locks the model node data layer where the ground is located and the business data layer where the color corresponding to the one-way linkage is located. Zhang San triggers the editing of the spatial semantic data for the corner area of ​​the negative 2nd floor of the subway station. According to the logic of hierarchical linkage control locking, only the corner area of ​​the negative 2nd floor of the subway station is locked.

[0107] According to the scope locked by user Zhang San and Li Si, users Zhang San and Li Si can independently and collaboratively edit the data corresponding to the 3D scene, and the scope they are editing will be highlighted. After editing is completed, the 3D scene data edited by users Zhang San and Li Si will be updated and saved, completing efficient collaborative development.

[0108] In an exemplary embodiment, the present application further provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described above.

[0109] In an exemplary embodiment, the present application further provides a computer program product, including a computer program, wherein the computer program implements the steps of the above-mentioned method when executed by a processor.

[0110] Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the implementation methods of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation methods of the present application.

[0111] According to one embodiment of the present application, a program product for implementing the method in the above method embodiment is also provided, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited to this. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0112] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

[0113] In addition, although the steps of the method in the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0114] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present application can be embodied in the form of a software product, including several instructions to enable a computing device (which can be a personal computer, server, mobile terminal, or network device, etc.) to execute the method according to the implementation of the present application.

[0115] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the appended claims.

Claims

1. A method for collaborative editing of a three-dimensional scene, characterized in that: The method comprises: Loading a three-dimensional scene according to user access rights, and initializing model data of a corresponding part of the three-dimensional scene, wherein the model data includes model node data, business data, and spatial semantic data; By means of a collaborative session mechanism, determining whether there is a collaborative editing session for the three-dimensional scene; if so, joining the collaborative editing session; if not, creating a new collaborative session; In the collaborative editing session, hierarchical linkage control and locking of users are performed according to the model node data and associated business data and spatial semantic data; The method for hierarchical linkage control locking includes: performing hierarchical setting based on the data dimensions of the model node data, the business data and the spatial semantic data; independently performing hierarchical control on the sub-node data of the model node data, the sub-business data of the business data and the spatial structure data of the spatial semantic data, and the sub-node data, the sub-business data and the spatial structure data are sequentially unidirectionally linked; obtaining the user's editing instruction, and triggering the user's hierarchical linkage control locking according to the layer position mapped by the editing instruction; According to the hierarchical linkage control lock of the user, data of collaborative editing of the three-dimensional scene between users is obtained; The edited three-dimensional scene is updated and saved.

2. The method for collaboratively editing a three-dimensional scene according to claim 1, characterized in that: The direction of the one-way linkage is: one-way transmission from the layer where the sub-node data is located to the layer where the sub-business data is located and the layer where the spatial structure data is located in sequence.

3. The method for collaboratively editing a three-dimensional scene according to claim 2, characterized in that: The vertical depth value of the one-way linkage is 1.

4. The method for collaboratively editing a three-dimensional scene according to claim 1, characterized in that: The steps in the collaborative editing session include: Obtain the model node data selected by the user and determine whether it is editable; if so, enter the steps in the collaborative editing session; If not, determining whether the business data associated with the model node data is editable; if so, entering the steps in the collaborative editing session; If not, it is prompted that the model node data is locked and the current collaborative editing session is terminated.

5. The method for collaboratively editing a three-dimensional scene according to claim 1, characterized in that: The step of updating and saving the edited three-dimensional scene previously includes: The spatial semantic data corresponding to the model node data selected by the user is obtained to determine whether it has been edited; if so, the step of updating and saving the spatial semantic data is entered; if not, the three-dimensional scene is maintained.

6. The method for collaboratively editing a three-dimensional scene according to claim 5, characterized in that: The step of updating and saving the edited three-dimensional scene previously includes: Obtain the business data associated with the model node data selected by the user, and determine whether it has been edited; if so, proceed to the step of updating and saving the business data; If not, obtain the model node data selected by the user to determine whether it has been edited; if so, enter the step of updating and saving the model node data; if not, maintain the three-dimensional scene.

7. The method for collaboratively editing a three-dimensional scene according to claim 1, characterized in that: The step of updating and saving the edited three-dimensional scene previously includes: Determine whether the user's editing of the three-dimensional scene is a multi-point operation; if not, it is a single-point operation, and enter the step of updating and saving the edited three-dimensional scene; if so, it is a multi-point operation, identify the operation range of multiple items in the model node data, the business data, and the spatial semantic data, and save a rollback backup of the data of the three-dimensional scene corresponding to the operation range; Determine whether there is a save conflict caused by multiple simultaneous operations. If so, roll back or overwrite the data of the three-dimensional scene based on the timing of the save conflict caused by the multiple simultaneous operations; if not, enter the step of updating and saving the edited three-dimensional scene.

8. The method for collaboratively editing a three-dimensional scene according to claim 1, characterized in that: The step of initializing the model data of the corresponding part of the three-dimensional scene, wherein the model data includes model node data, business data and spatial semantic data, comprises: Retrieve identification data corresponding to the model data; Determine whether it is editable according to the identification content mapped by the identification data; if not, end; if yes, obtain corresponding model node data, business data and spatial semantic data according to the identification data; Determine whether all the identification data have been traversed; if not, return to the step of retrieving the identification data corresponding to the model data; if so, enter the step of determining whether there is a collaborative editing session for the three-dimensional scene.

9. A computer device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 8.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Web-based three-dimensional scenic visualized editing device and method

    CN102413164A

  • Document collaborative editing method, electronic equipment, storage medium and equipment terminal

    CN116612260A

  • Online collaborative development system and method for Web3D and computer readable storage medium

    CN118967990A

  • Script graph in a process environment

    CN1950761A

  • Multiple users dynamically editing a scene in a three-dimensional immersive environment

    IN202047051520A

Cited By

  • Multi-party interaction method based on data application and visualization system

    CN120387180A