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

Through the hierarchical linkage control locking mechanism, the problem of data conflict in multi-user collaborative editing of 3D scenes is solved, efficient collaborative editing and data consistency are achieved, and the efficiency and security of 3D scene editing are improved.

CN119784987BActive Publication Date: 2025-10-21BWTON TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

When multiple users collaborate to edit a 3D scene, how can we ensure the consistency and integrity of model node data, avoid data conflicts, and improve the efficiency of collaborative editing?

Method used

Through a hierarchical linkage control locking mechanism, combined with hierarchical control of user access rights, collaborative editing sessions, and data, intelligent management of multiple users in 3D scenes is achieved, and the editing permissions and operation scope of different users are automatically managed to ensure data consistency and collaborative efficiency.

Benefits of technology

It enables real-time collaboration among multiple users in three-dimensional scenes, avoids traditional synchronization and conflict problems, and significantly improves collaboration efficiency and data processing accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119784987B_ABST
    Figure CN119784987B_ABST
Patent Text Reader

Abstract

The application provides a three-dimensional scene collaborative editing method, device and program product, and through layered linkage control locking mechanism, intelligent management of multi-user collaborative work in a three-dimensional scene is realized. Meanwhile, the technical solutions of user access permission, collaborative editing session, layered control of data and the like are combined, so that in the complex three-dimensional scene editing process, the user does not need to manually synchronize data, the system automatically manages the editing permission and operation range of different users, so that multiple users can efficiently collaborate and avoid data conflicts, and the efficiency of collaboration is significantly 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 solutions rely primarily on localized editing, where each user downloads the relevant files for the 3D scene, edits them independently, then uploads them, merging the files to update the scene. However, this approach has significant drawbacks, such as duplicate edits when multiple users' editing areas or content overlap, and uploaded files are prone to conflicts. Furthermore, real-time collaboration is difficult, and edits between users cannot be synchronized instantly, hindering 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 for 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 collaboratively editing 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] Determine, through the collaborative session mechanism, whether there is a collaborative editing session for the three-dimensional scene; if so, join the collaborative editing session; if not, create a new collaborative session;

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

[0010] The method for hierarchical linkage control and 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 linked in one direction; obtaining a user's editing instruction, and triggering the user's hierarchical linkage control and locking according to the layer position mapped by the editing instruction;

[0011] acquiring data of collaboratively editing the three-dimensional scene between users according to the hierarchical linkage control locking of the users;

[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 one-way linkage is: one-way 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.

[0014] According to one aspect of an 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 ended.

[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, and it is determined 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] Obtaining the business data associated with the model node data selected by the user, and determining whether it has been edited; if so, proceeding to the step of updating and saving the business data;

[0023] If not, obtain the model node data selected by the user and 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] Determining whether the user's editing of the three-dimensional scene is a multi-point operation; if not, it is a single-point operation, and entering the step of updating and saving the edited three-dimensional scene; if so, it is a multi-point operation, identifying the operation range of multiple items among the model node data, the business data, and the spatial semantic data, and saving 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, includes:

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

[0029] Determine whether the identification content mapped by the identification data is editable; if not, end; if so, 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 when the computer program is executed by a processor, the steps of the above method are implemented.

[0033] This embodiment of the application achieves intelligent management of multi-user collaborative work in a 3D scene through a hierarchical linkage control and locking mechanism. It also incorporates technical solutions such as user access rights, collaborative editing sessions, and hierarchical data control to ensure that during complex 3D scene editing, users do not need to manually synchronize data. The system automatically manages the editing permissions and operation scopes of different users, enabling multiple users to collaborate efficiently, avoiding data conflicts, and significantly improving collaboration efficiency.

[0034] Furthermore, multiple users can collaborate in real time on the same 3D scene, avoiding the synchronization and conflict issues inherent in traditional single-user editing. Users no longer need to manually synchronize data; the system automatically manages the editing permissions and scope of operations for each user, significantly improving collaboration efficiency.

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

[0036] It should be understood that the foregoing general description and the following detailed description are merely illustrative 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 example 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 Flowchart of the method for users to perform hierarchical linkage control and locking shown in the corresponding embodiment.

[0040] Figure 3 A schematic diagram shows 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.

[0041] Figure 4 is based on Figure 3 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 the 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 this application will be more comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The accompanying drawings are merely schematic illustrations of the present application and are not necessarily drawn to scale. Identical reference numerals in the figures indicate identical or similar parts, and thus repeated descriptions thereof 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 solutions 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 main content and making various aspects of the present application vague.

[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 may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0047] The embodiments of the present application are used to obtain a geometric model storage file for a constructed geometric model, thereby facilitating persistent storage on disk and further facilitating parsing and restoration based on the persistently stored geometric model storage file. Therefore, data volume, i.e., the size of the storage volume, determines storage efficiency and the storage space occupied, and also determines the efficiency of re-calling the geometric model. Therefore, significantly reducing the storage volume of the model is the basis for storage and reuse.

[0048] See Figure 1 , Figure 1 A flowchart of a method for collaboratively editing a 3D scene according to an embodiment of the present application is shown. The present application embodiment provides a method for collaboratively editing a 3D 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 a collaborative editing session of a three-dimensional scene exists through a 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 based on model node data and associated business data and spatial semantic data.

[0052] Step S700: acquiring data of collaboratively editing a three-dimensional scene between users based on hierarchical linkage control and locking of users.

[0053] Step S900: updating and saving the edited 3D scene.

[0054] The above steps are explained in detail below. During the editing process of the 3D scene, multiple users collaborate on the editing, so different 3D 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 3D scene is defined. For example, ordinary users can only edit public areas in the 3D scene, while administrators can edit all areas in the 3D scene. The 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, model node data refers to all data of geometric bodies, objects, or logical units. 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 that is 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] This embodiment utilizes a Browser-Server (BS) architecture to separate and store model node data, business data, and spatial semantic data. This modular design allows each data module to be optimized and expanded based on specific needs without modifying other data modules, resulting in high flexibility and facilitating data updates and maintenance. Furthermore, the separate storage of 3D scene model data allows developers to independently develop and optimize different data types, 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, 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 3D 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 users to perform hierarchical linkage control and locking is shown. The method for hierarchical linkage control and locking includes:

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

[0061] Specifically, the system implements layered configuration based on the different data dimensions of model node data, business data, and spatial semantic data. This layered configuration allows for different control permissions for different data at different levels, ensuring data consistency, operability, and security. Model node data refers to model nodes, such as doors, windows, tables, chairs, and walls, which are all on the same layer. Business data refers to the business attribute data of model nodes, such as flight direction, color, rotation, and scaling, which are all on the same layer. Spatial semantic data refers to the spatial relationships between model nodes in a three-dimensional scene, such as floors and areas.

[0062] Step S520 , independently and hierarchically control 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, sub-business data, and spatial structure data are sequentially and unidirectionally linked.

[0063] Specific, combined Figure 3To accommodate more complex 3D scenarios and enable more refined and flexible collaborative editing and permissions management, the system breaks down model node data, business data, and spatial semantic data into sub-node data, sub-business data, and spatial structure data. Integrating the unique characteristics of model data relationships within 3D scenarios, a creative one-way linkage is designed. Sub-node data is focused on "points," which are then linked to "lines" in sub-business data, and then to "surfaces" in spatial structure data. Sub-node data "points" link to sub-business data "lines," which in turn link to "surfaces" in structure data, forming a fan-shaped, one-way transmission relationship. When a user edits a sub-node, the system automatically locks the associated sub-business data and spatial structure data. This linkage mechanism greatly simplifies the user experience and prevents data inconsistencies and conflicts. As you can see, when a user edits a sub-business, the system only locks the spatial structure data in the forward direction, avoiding data conflicts in multiple directions, both forward and backward. Similarly, when a user edits spatial structure data, only the current spatial structure data is locked.

[0064] Furthermore, when the user triggers the editing of a "point" of sub-node data, the "line" linking the sub-business data of the "point" will be triggered and locked, and even the "surface" linking the spatial structure data can be extended to achieve intelligent link locking. This is because, for the smallest editable sub-node data (that is, the smallest editable unit of the model node, such as stool legs, tabletops, door frames, etc.), its mapped associated business data is a variety of business data, 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, ultimately realizing the establishment of a relationship from "line" to "surface". Based on this, the sub-node data, sub-business data, and spatial structure data are linked in one direction in sequence, building a hierarchical and intelligent authority control system for the user's convenient operation, and can achieve dynamic locking and data linkage.

[0065] In other embodiments, the unidirectional linkage direction is: from the layer where the sub-node data resides, to the layer where the sub-business data resides, and then to the layer where the spatial structure data resides. Editing the model data in the 3D scene from its source and deriving editable data content from it in a step-by-step manner meets the functional requirements of quickly editing model data in the 3D 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 dimension level, that is, the change of each data dimension level only affects the next dimension level 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, making the data update of each level only affect its directly downstream level, and avoiding data chaos or unnecessary update operations caused by multi-level linkage. Moreover, when the user edits a certain data dimension level, they only need to focus on the level directly affected by it, without considering the data update of subsequent deeper levels, which makes data editing more intuitive and simple.

[0067] Furthermore, combined with Figure 4 the schematic diagram of 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 it is a parent-child relationship. 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 adaptively corresponding. Specifically, when the hierarchical depth of the upper-level data dimension is n and the next-level data dimension it points to has a hierarchical depth of m; if n≥m, the adaptively corresponding data dimension has a hierarchical depth of 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, thereby improving the operation efficiency and intelligence of the system.

[0068] Step S530, obtain the user's editing instruction, and trigger the locking of the user's hierarchical linkage control 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 for editing operations.

[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 system intelligently captures 3D scene data related to user operations based on the user's hierarchical linkage control and locking mechanism. By implementing hierarchical locking control during collaborative editing, the system ensures accurate acquisition and update of data related to each user's operations, avoiding data conflicts and improving 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] This technical solution describes a collaborative 3D scene editing method that uses a hierarchical linkage control and locking mechanism to achieve intelligent management of multi-user collaboration within a 3D scene. It also incorporates user access rights, collaborative editing sessions, and hierarchical data control to ensure efficient collaboration and avoid data conflicts during complex 3D scene editing.

[0074] Furthermore, multiple users can collaborate in real time on the same 3D scene, avoiding the synchronization and conflict issues inherent in traditional single-user editing. Users no longer need to manually synchronize data; the system automatically manages the editing permissions and scope of operations for each user, significantly improving collaboration efficiency.

[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. 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 collaborative editing, the user first selects a model node in the 3D scene and determines whether it has been locked by another user. If not, the model node data is editable. Because model node data is a one-way linkage, the business data linked to the model node also needs to be determined to determine whether it has been locked by another user. If not, the business data is editable. Therefore, the above determination of whether the model node data and / or business data are editable is performed. If so, the user enters the collaborative editing session 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 appropriate permissions can modify model node data or associated business data by determining whether they have edit permissions. This permission management mechanism prevents unauthorized operations and ensures data security.

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

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

[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 when editing the 3D model is adopted, that is, logical analysis is performed from the spatial semantic data to the business data and model node data, and it is determined whether the 3D scene has been edited to avoid conflicts in the 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 following steps are further included:

[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 and 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.

[0090] Specifically, business data usually includes information such as the functional attributes of model nodes in the 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 the changes in the business data.

[0091] If neither the spatial semantic data nor the business data of a model node has been edited, the system will determine whether the model node data itself has been edited. Model node data includes basic attributes of the 3D model, such as its geometry, size, and position. If the model node data has not been edited, the state of the 3D scene will remain unchanged.

[0092] With this solution, the system can intelligently decide whether to trigger an update operation based on the editing status, avoiding unnecessary data updates and resource consumption, effectively managing large-scale data, and ensuring real-time synchronization.

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

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

[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 3D scene editing, if a user is editing a single model node, spatial semantic data, or business data, it is a single-point operation, and the process directly proceeds to updating and saving the edited 3D scene. When a user simultaneously edits multiple data dimensions (such as two or more of model node data, business data, and spatial semantic data), it is a multi-point operation, requiring the identification of the data ranges involved in the user's editing operations and the saving of rollback backups of the 3D scene data corresponding to these operation ranges during the editing process, allowing for rollbacks in the event of conflicts.

[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 caused by 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 the identifier is editable based on the identifier content mapped by the identifier data; if not, end; if so, obtain the corresponding model node data, business data and spatial semantic data based on the identifier 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, proceed to the step of determining whether there is a collaborative editing session for the three-dimensional scene.

[0102] Specifically, the model data in the 3D scene is initialized, and identification data corresponding to the model data is obtained. This identification data is typically a unique identifier for each model node, business data, and spatial semantic data. The identification content indicates 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 attachment Figures 5-6 The above method is described below with reference to a specific example.

[0105] For example, the BIM 3D model of a subway station is loaded. The user permissions of users Zhang San and Li Si are set to ordinary editing users, and the BIM 3D model of the subway station is loaded accordingly. Specifically, the subway station scene is loaded with model node data (such as walls and floors), business data (such as color and flight direction), and spatial semantic data (such as floors and areas).

[0106] Through the collaborative session mechanism, users Zhang San and Li Si join the collaborative editing session. Li Si triggers the edit of the ground model node, locking 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 edit of the spatial semantic data for the corner area on the second floor below the subway station. Based on the logic of layered linkage control locking, only the corner area on the second floor below the subway station is locked.

[0107] Based on the scopes locked by users Zhang San and Li Si, they can independently and collaboratively edit the corresponding 3D scene data, with their respective editing scopes highlighted. After editing is complete, the 3D scene data edited by users Zhang San and Li Si is updated and saved, enabling 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 above-mentioned method.

[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 method when executed by a processor.

[0110] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments 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 embodiments 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. The program product may be a portable compact disc read-only memory (CD-ROM) and includes 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 thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

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

[0113] Furthermore, although the steps of the method of the present application are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all 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.

[0114] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments 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 embodiments of the present application.

[0115] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered merely as exemplary, 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; Determine, through the collaborative session mechanism, whether there is a collaborative editing session for the three-dimensional scene; if so, join the collaborative editing session; if not, create a new collaborative session; In the collaborative editing session, hierarchical linkage control and locking of users are performed based on the model node data and associated business data and spatial semantic data; The method for hierarchical linkage control and 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 linked in one direction; obtaining a user's editing instruction, and triggering the user's hierarchical linkage control and locking according to the layer position mapped by the editing instruction; acquiring data of collaboratively editing the three-dimensional scene between users according to the hierarchical linkage control locking of the users; The edited three-dimensional scene is updated and saved.

2. The method for collaborative editing of 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-service data is located and the layer where the spatial structure data is located.

3. The method for collaborative editing of 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 collaborative editing of a three-dimensional scene according to claim 1, characterized in that: The steps in the collaborative editing session are preceded by: 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 ended.

5. The method for collaborative editing of 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, and it is determined 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: Obtaining the business data associated with the model node data selected by the user, and determining whether it has been edited; if so, proceeding to the step of updating and saving the business data; If not, obtain the model node data selected by the user and 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: Determining whether the user's editing of the three-dimensional scene is a multi-point operation; if not, it is a single-point operation, and entering the step of updating and saving the edited three-dimensional scene; if so, it is a multi-point operation, identifying the operation range of multiple items among the model node data, the business data, and the spatial semantic data, and saving 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 the identification content mapped by the identification data is editable; if not, end; if so, 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, wherein: 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