CAD drawing cloud collaborative synchronization method and synchronization system
By disassembling CAD graphics into element object trees and establishing unique identifiers, using the intelligent conflict fusion engine for conflict identification and decision-making, the version chaos and operational conflict problems in CAD drawing collaborative editing are solved, and the accuracy and efficiency of cloud collaboration synchronization are achieved.
Patent Information
- Application Number
- CN202510714728.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2045-05-30
AI Technical Summary
In the prior art, the version is chaotic when editing CAD drawings in collaboratively, frequent operation conflicts and inefficient multi-user collaborative conflict handling, resulting in inaccurate and efficient collaboration synchronization of CAD images in the cloud.
Disassemble the CAD graphics into an element object tree and establish a unique identifier, enable the change tracking structure to perform operations timing log reading, use the intelligent conflict fusion engine to identify and locate conflict scenes, obtain user role information for fusion decisions, and generate fusion decision results to update CAD graphics.
It realizes the accuracy and efficiency of CAD mapping cloud collaboration and synchronization, ensures the consistency and accuracy of graph data, and avoids version confusion and operational conflicts.
Smart Images

Figure CN120238546B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field related to drawing, and specifically to a cloud-based collaborative synchronization method and synchronization system for CAD drawing. Background Art
[0002] Computer-aided design (CAD) is widely used in manufacturing, architectural design, mechanical engineering, and other fields. As projects continue to expand in scale and complexity, local CAD drafting models have exposed numerous problems. Traditional CAD drafting typically relies on a single machine, with designers independently creating and modifying drawings on their local computers. This presents numerous inconveniences when multiple people collaborate on the same project. For example, design team members must transfer CAD files via email, USB flash drives, and other methods, which is not only time-consuming and labor-intensive but also prone to version confusion, resulting in inconsistent drawing versions used by different members and causing design errors. Furthermore, the workflow of multiple people sequentially modifying the same file prevents parallel design processes, significantly delaying project progress. Storing CAD files in the cloud allows designers to access and edit drawings from multiple locations and devices. However, in practice, conflicts inevitably arise when multiple users simultaneously work on the same CAD drawing. Failure to effectively handle these conflicts can lead to incorrect drawing data, compromised design results, and even disrupt the entire collaborative project. Quickly and accurately identifying and resolving these complex conflicts makes efficient and accurate synchronization of CAD drawings impossible.
[0003] Therefore, in the current related technologies, there are technical problems such as version confusion, frequent operation conflicts and inefficient multi-user collaborative conflict handling during collaborative editing of CAD drawings, which lead to inaccurate and inefficient cloud-based collaborative synchronization of CAD images. Summary of the Invention
[0004] This application provides a CAD drawing cloud-based collaborative synchronization method and synchronization system, which solves the technical problems in the prior art such as version confusion, frequent operation conflicts and inefficient multi-user collaborative conflict handling during collaborative editing of CAD drawings, resulting in inaccurate and inefficient cloud-based collaborative synchronization of CAD images, and achieves the technical effect of improving the accuracy and efficiency of CAD drawing cloud-based collaborative synchronization.
[0005] The present application provides a cloud-based collaborative synchronization method for CAD drawing, which includes: decomposing a CAD drawing into a primitive object tree and establishing a unique identifier for each primitive; when the CAD drawing is in a collaborative editing state, enabling a change tracking structure to perform operation timing log reading, and establishing a primitive editing sequence based on the primitive object tree; enabling an intelligent conflict fusion engine, using the unique identifier and the primitive editing sequence to identify conflict scenarios, and establishing a conflict scenario identification result; after establishing conflict location using the conflict scenario identification result, obtaining user role information corresponding to the primitive editing sequence, performing a fusion decision based on the user role information and conflict location, and generating a fusion decision result; updating the CAD drawing based on the fusion decision result to complete cloud-based collaborative synchronization.
[0006] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: when a graphic element is edited by any user, the current editing status of the graphic element is displayed to the collaborative user; if the collaborative user applies to intervene in the collaborative editing of the graphic element, the collaborative position of the collaborative user is read; the graphic element state is changed to the collaborative editing state, and the collaborative position and timing operations are recorded to establish a graphic element editing sequence.
[0007] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: reading the collaborative positioning of the graphic element editing sequence, using the collaborative positioning and the unique identifier to identify the user collaborative editing scene, and establishing a first conflict scene identification result; using the unique identifier and the graphic element editing sequence to identify the change conflict of the layer and block structure, and establishing a second conflict scene identification result; using the unique identifier and the graphic element editing sequence to identify the structural conflict of the annotation association failure, and establishing a third conflict scene identification result; using the first conflict scene identification result, the second conflict scene identification result, and the third conflict scene identification result to establish a conflict scene identification result.
[0008] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: when the conflict scene recognition result is the first conflict scene recognition result, a collaborative constraint is generated according to the collaborative positioning; if the collaborative constraint is an auxiliary collaborative constraint, the first user is set as the main operation user and the second user is set as the auxiliary operation user according to the user role information; a main operation interface is established for the first user, the main operation interface uses the first user's graphic element editing sequence as the main operation layer, and the second user's graphic element editing sequence as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state; an auxiliary operation interface is established for the second user, the auxiliary operation interface uses the second user's graphic element editing sequence as the main operation layer, and the first user's graphic element editing sequence as the auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; and a fusion decision result is established using the operation results of the main operation interface and the auxiliary operation interface.
[0009] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: if the collaborative constraint is a cooperative collaborative constraint, a cooperative key constraint is established; the cooperative key constraints are displayed separately in the operation layer of the cooperative user, and the graphic element editing sequences of both cooperative users are displayed in different colors in the operation layer; the cooperative key constraints are used to perform conflict authentication of the graphic element editing sequences of the cooperative users; and a fusion decision result is established based on the conflict authentication result.
[0010] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: if the collaborative constraint is a competitive collaborative constraint, sub-operation layers are created for competing users respectively; when all sub-operation layers are created, it is determined whether the collaborative constraint is a fully retained constraint; if the collaborative constraint is a fully retained constraint, all sub-operation layers are retained to establish a fusion decision result.
[0011] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: if the collaborative constraint is a competitive preservation constraint, then perform operation comparison of all sub-operation layers and establish an operation comparison identifier; obtain role priority permissions based on the user role information, use the operation comparison identifier and the role priority permissions to make a fusion decision, and establish a fusion decision result.
[0012] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: if the graphic creation results in the operation comparison identifier are consistent, the editability identification of the primitive editing sequence is performed to generate an editability identification result; and the fusion decision is completed using the editability identification result and the role priority authority.
[0013] In a possible implementation, the CAD drawing cloud-based collaborative synchronization method also performs the following processing: establishing a user's operation rollback record and storing the operation rollback record as a timeline history record; when a user's rollback instruction is received at any time node, the operation rollback record is called to reconstruct the CAD drawing.
[0014] The present application also provides a CAD drawing cloud-based collaborative synchronization system, which includes: a primitive identification establishment module, which is used to decompose the CAD drawing into a primitive object tree and establish a unique identifier for each primitive; a primitive editing sequence establishment module, which is used to enable the change tracking structure to perform operation timing log reading when the CAD drawing is in a collaborative editing state, and establish a primitive editing sequence based on the primitive object tree; a conflict scene recognition module, which is used to enable an intelligent conflict fusion engine, use the unique identifier and the primitive editing sequence to identify the conflict scene, and establish a conflict scene recognition result; a fusion decision result generation module, which is used to use the conflict scene recognition result to establish a conflict location, obtain the user role information corresponding to the primitive editing sequence, make a fusion decision based on the user role information and conflict location, and generate a fusion decision result; a cloud-based collaborative synchronization module, which is used to update the CAD drawing based on the fusion decision result to complete cloud-based collaborative synchronization.
[0015] The CAD drawing cloud-based collaborative synchronization method and synchronization system proposed in this application is intended to disassemble the CAD drawing into a primitive object tree and establish a unique identifier; when the CAD drawing is in a collaborative editing state, the operation sequence log is read and a primitive editing sequence is established based on the primitive object tree; the intelligent conflict fusion engine is enabled to identify conflict scenarios and establish conflict scenario identification results; conflict positioning is established, user role information corresponding to the primitive editing sequence is obtained and a fusion decision is made to generate a fusion decision result; the CAD drawing is updated to complete cloud-based collaborative synchronization. This solves the technical problems in the prior art of version confusion, frequent operation conflicts, and inefficient multi-user collaborative conflict handling during collaborative editing of CAD drawings, which lead to inaccurate and inefficient cloud-based collaborative synchronization of CAD images, and achieves the technical effect of improving the accuracy and efficiency of cloud-based collaborative synchronization of CAD drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] To more clearly illustrate the technical solutions of the embodiments of the present disclosure, the accompanying drawings of the embodiments of the present disclosure are briefly introduced below. Flowcharts are used in this application to illustrate the operations performed by the systems according to the embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed in precise order. Instead, various steps may be processed in reverse order or simultaneously as needed. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.
[0017] Figure 1A flowchart of the CAD drawing cloud-based collaborative synchronization method provided in an embodiment of the present application.
[0018] Figure 2 Schematic diagram of the structure of the CAD drawing cloud-based collaborative synchronization system provided in an embodiment of the present application.
[0019] Explanation of the accompanying symbols: graphic element identification establishment module 10, graphic element editing sequence establishment module 20, conflict scene recognition module 30, fusion decision result generation module 40, cloud-based collaborative synchronization module 50. DETAILED DESCRIPTION
[0020] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below.
[0021] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0022] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict, and the terms “first\second” involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. The terms “including” and “having” and any variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or server that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or modules that are not clearly listed or that are inherent to these processes, methods, products or devices. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used herein are for the purpose of describing the embodiments of this application only.
[0023] The embodiment of the present application provides a CAD drawing cloud collaborative synchronization method, such as Figure 1 As shown, the method includes:
[0024] Step S100: decompose the CAD graphics into a primitive object tree and create a unique identifier for each primitive.
[0025] Preferably, a CAD graphic is a complex graphic composed of many different types of basic graphic elements. The basic graphic elements are primitives, such as lines, circles, rectangles, texts, etc. The CAD graphic is disassembled into a primitive object tree, that is, a complete CAD graphic is decomposed into multiple independent primitive objects according to its component structure, and organized in a tree structure. Specifically, the disassembly and division are carried out according to the inclusion relationship, hierarchical relationship, etc. between the primitives. Among them, the tree structure is a hierarchical data structure with a root node, and then multiple child nodes extend from the root node. Each child node can have its own child nodes, and so on. In the primitive object tree of the CAD graphic, the root node represents the entire CAD graphic, and each child node represents a different primitive object. For example, in a CAD drawing of a mechanical part, the outline of the entire part can be used as the root node, and the various parts of the part, such as bolt holes, grooves, etc., can be used as child nodes. If the bolt hole has a more detailed structure, such as a thread, the thread will be used as a child node of the bolt hole node.
[0026] Preferably, when multiple people collaborate to edit CAD graphics, different users may operate on different graphics elements at the same time. A unique identifier is established for each graphics element to facilitate accurate identification and management of each graphics element during the cloud collaboration process. The unique identifier is the graphics element's ID number. During the entire life cycle of the CAD graphics, no matter where the graphics element is or how it is modified, it can be accurately located through the unique identifier. Specifically, a hash algorithm, UUID (universally unique identifier), etc. can be used to generate a unique identifier for the graphics element. Through the unique identifier, the modification history, operation sequence and other information of each graphics element can be clearly recorded. When an operation conflict occurs, the graphics element where the conflict occurs can also be accurately located based on the unique identifier, thereby performing effective conflict handling, thereby ensuring the accuracy and consistency of the CAD graphics during the cloud collaboration process.
[0027] Step S200: When the CAD drawing is in a collaborative editing state, the change tracking structure is enabled to read the operation sequence log and establish an element editing sequence based on the element object tree.
[0028] Preferably, a CAD drawing in a collaborative editing state means that multiple users are editing the same CAD drawing at the same time. In this state, different users can connect to the cloud server through the network on their respective terminal devices to modify and view the same CAD file in real time, and enable the change tracking structure to perform operation timing log reading. Specifically, the change tracking structure is used to monitor and record changes in the CAD drawing during the collaborative editing process, and can capture in real time various operations performed by each user on the drawing, including but not limited to adding, deleting, moving, and modifying primitives. The operation timing log is a log that records user operations in chronological order, wherein the change tracking structure assigns a timestamp to each operation, accurately recording the moment when the operation occurs. By reading the operation timing log, it is possible to understand what specific changes have occurred to the primitives in the CAD drawing at different time points. For example, at 10:10 am, user A modified the radius of a circular primitive, and at 10:15 am, user B added a new straight line primitive, etc., so that the change process of the graphics during the entire collaborative editing process can be clearly grasped.
[0029] Preferably, the primitive object tree is used as the basis, that is, each primitive has its specific position and relationship in the primitive object tree structure, and then the operations of each primitive are arranged in sequence according to the operation sequence recorded in the operation timing log to form a primitive editing sequence, which reflects how the primitive changes gradually according to the user's operation during the collaborative editing process. For example, a rectangular primitive is first stretched, and then its fill color is modified. The two operations are recorded in the primitive editing sequence in chronological order. Through the primitive editing sequence, the evolution process of the entire CAD graphic during the collaborative editing process can be completely restored, and all changes in the CAD graphic during the collaborative editing process can be accurately recorded, thereby ensuring efficient and accurate cloud writing synchronization.
[0030] Furthermore, step S200 also includes step S210, when the graphic element is edited by any user, the current editing status of the graphic element is displayed to the collaborative user; step S220, if the collaborative user applies to intervene in the collaborative editing of the graphic element, the collaborative positioning of the collaborative user is read; step S230, the graphic element status is changed to the collaborative editing status, and the collaborative positioning and timing operations are recorded to establish a graphic element editing sequence.
[0031] Preferably, collaborative editing of CAD graphics means that multiple users can operate on the same CAD graphics at the same time. When any user edits a certain element, the change is captured in real time, and the current editing status information of the element, such as whether it is being modified, the approximate location of the modification, the type of modification (moving, scaling or rotating, etc.), is transmitted to the clients of other collaborative users through the network, so that other collaborative users can understand the editing dynamics of the element in a timely manner, avoid the situation where multiple users perform conflicting operations on the same element at the same time, and ensure the efficiency and accuracy of collaborative work.
[0032] Preferably, when a collaborative user sees that a primitive is being edited and wants to participate in the editing of the primitive, they perform collaborative editing through the client and simultaneously read the collaborative user's collaborative location, that is, the specific location where the user wants to enter the primitive for editing. For example, the user may want to start modifying from a specific endpoint of the primitive, or operate on a specific area of the primitive. The state of the primitive is then changed from the single-user editing state to the collaborative editing state, and the read collaborative location information and the time sequence of all users' operations on the primitive (i.e., the sequential operation record) are recorded. Finally, based on the collaborative location and sequential operation information, the primitive editing sequence is established, which clearly shows the order and specific location of each operation on the primitive during the collaborative editing process, which is helpful for subsequent conflict resolution and synchronous updating of CAD graphics.
[0033] Step S300 : activating an intelligent conflict fusion engine, using the unique identifier and the primitive editing sequence to perform conflict scene recognition, and establishing a conflict scene recognition result.
[0034] Preferably, in CAD drawing cloud collaborative editing, multiple users operate on CAD graphics at the same time, and operation conflicts are likely to occur. The intelligent conflict fusion engine is enabled, and the unique identifier and the primitive editing sequence are used to identify conflict scenarios and establish identification results. Among them, the intelligent conflict fusion engine is a component for intelligently handling conflicts. The core task is to accurately identify possible conflicts and handle them in a complex collaborative editing environment, thereby ensuring the data consistency and accuracy of the CAD graphics. Specifically, the intelligent conflict fusion engine tracks the operation history of each primitive based on the primitive unique identifier. When different users operate on primitives with the same unique identifier, a conflict may occur. Then, the primitive editing sequence is analyzed to determine whether there is a conflict between different operations, that is, to identify the conflict scenario, and then quickly locate the primitives with potential conflicts. At the same time, the specific circumstances of the conflict are recorded in detail to form a conflict scenario identification result, which may include the primitives involved in the conflict, the conflict operation content (the specific operations performed by different users on the primitives, such as modifying the size, moving the position, changing the color, etc.), the conflict time information (the time sequence of the conflicting operations), and the conflict type (modification conflict or deletion conflict); thereby helping to efficiently and reasonably resolve conflict problems arising in the collaborative editing process.
[0035] Furthermore, step S300 also includes step S310, reading the collaborative positioning of the graphic element editing sequence, using the collaborative positioning and the unique identifier to identify the user collaborative editing scene, and establishing a first conflict scene identification result; step S320, using the unique identifier and the graphic element editing sequence to identify the change conflict of the layer and block structure, and establish a second conflict scene identification result; step S330, using the unique identifier and the graphic element editing sequence to identify the structural conflict of the annotation association failure, and establish a third conflict scene identification result; step S340, using the first conflict scene identification result, the second conflict scene identification result, and the third conflict scene identification result to establish a conflict scene identification result.
[0036] Preferably, the collaborative positioning of the primitive editing sequence is read, and by combining the collaborative positioning and the unique identifier, the user collaborative editing scenario is accurately identified. Specifically, when two users perform editing operations on the same primitive with a specific unique identifier at a similar collaborative positioning at the same time, a conflict may occur. Then, an analysis is performed to determine the specific circumstances of the conflict, such as the primitive where the conflict occurs, the users involved in the conflict, the type of conflicting operation, etc., thereby establishing a first conflict scenario identification result, which helps to discover conflicts directly generated by users when collaboratively editing primitives. The layers of CAD graphics are used to organize and manage different types of primitives, and the block structure is used to combine multiple primitives into a whole for management. Based on the unique identifier and the primitive editing sequence, it is checked whether different users have performed conflicting change operations on the same layer or block structure, such as one user deletes a layer, and another user adds primitives to the layer at the same time; or one user modifies the definition of the block structure, and another user is using the original block structure for editing; these conflicts are then identified, and a second conflict scenario identification result is established to handle change conflicts in layers and block structures.
[0037] Preferably, the annotations of CAD graphics (such as dimension annotations, text annotations, etc.) are usually associated with the primitives to provide detailed information about the graphics. When the primitives change, the association of the annotations may become invalid. Then, using the unique identifier and the primitive editing sequence, check whether there is a situation where the annotation association is invalid due to the editing operation of the primitive. For example, a user moves a primitive, and the associated annotation is not updated accordingly, resulting in a mismatch between the position of the annotation and the primitive. Then, a third conflict scenario identification result is established to address the issue of annotation association. Finally, the first, second, and third conflict scenario identification results are integrated to form a conflict scenario identification result, covering direct conflicts when users collaboratively edit primitives, conflicts caused by changes to layer and block structures, and structural conflicts caused by invalid annotation associations. This can provide a more comprehensive and accurate understanding of the problems that arise during the collaborative editing process, thereby ensuring the accuracy and consistency of CAD graphics during the collaborative editing process.
[0038] Step S400 : After establishing conflict positioning using the conflict scene recognition result, user role information corresponding to the primitive editing sequence is obtained, and a fusion decision is made based on the user role information and the conflict positioning to generate a fusion decision result.
[0039] Preferably, based on the conflict scenario identification results (such as direct conflicts when users collaboratively edit elements, conflicts in changes to layer and block structures, and structural conflicts caused by invalid annotation associations), further conflict location is performed, that is, the conflict location is clarified, including determining which elements are in conflict, the operations involved in the conflict, and the time point when the conflict occurred. For example, through the conflict scenario identification results, it is found that user A and user B simultaneously made different modifications to the radius of a circular element with a unique identifier. The circular element is the object of conflict location. Each user participating in collaborative editing has a corresponding user role, which may include designer, reviewer, draftsman, etc., each with different permissions. The user role information corresponding to the element editing sequence is obtained from the user management unit. For example, the designer is responsible for designing the overall layout and structure of the building, the reviewer is responsible for reviewing the design, and the draftsman is responsible for converting the design into detailed drawings. When a conflict occurs in a certain element, the user role involved in editing the element is determined.
[0040] Preferably, a fusion decision is made based on user role information and conflict location, that is, a decision is made based on the user role information and conflict location to handle conflicts and ensure the consistency and accuracy of CAD drawings. Specifically, it may include the role authority priority principle, that is, different roles have different permissions, and the operations of the role with higher permissions are given priority when making decisions. For example, the authority of the auditor is usually higher than that of the draftsman. When the auditor and the draftsman have a conflict in the operation of the same element, the auditor's operation result is given priority; the role responsibility matching principle, that is, the rationality of the operation is judged based on the role's responsibilities; the rationality of the operation is evaluated, that is, the rationality of the operation is evaluated in combination with the specific situation of the conflict location. For example, if an operation will cause obvious errors in the drawing, it will not be adopted even if it is performed by a role with higher permissions. Then, these decisions are combined to generate the final fusion decision result, which clearly indicates which operations should be adopted and which operations should be discarded in the case of conflict, or how to coordinate and integrate the conflicting operations to complete the cloud-based collaborative synchronization of CAD drawings.
[0041] Furthermore, step S400 also includes step S410, when the conflict scene recognition result is the first conflict scene recognition result, generating a collaborative constraint according to the collaborative positioning; step S420, if the collaborative constraint is an auxiliary collaborative constraint, setting the first user as the main operation user and the second user as the auxiliary operation user according to the user role information; step S430, establishing a main operation interface for the first user, the main operation interface uses the first user's graphic element editing sequence as the main operation layer, and the second user's graphic element editing sequence as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state; step S440, establishing an auxiliary operation interface for the second user, the auxiliary operation interface uses the second user's graphic element editing sequence as the main operation layer, and the first user's graphic element editing sequence as the auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; step S450, using the operation results of the main operation interface and the auxiliary operation interface to establish a fusion decision result.
[0042] Preferably, when the conflict scene recognition result is the first conflict scene recognition result, a collaborative constraint is generated based on the collaborative positioning information of the graphic element editing sequence, including restricting operations on users within the graphic element editing position and range, such as the order of operations; when the generated collaborative constraint is an auxiliary collaborative constraint, the user roles are divided according to the user role information, including setting the first user as the main operation user and the second user as the auxiliary operation user based on the user's responsibilities and permissions in the project; then a main operation interface is established for the first user (main operation user), specifically, the graphic element editing sequence of the first user is used as the main operation layer, that is, the operation of the first user occupies a dominant position in the interface, the first user can operate the graphic element according to his or her own editing ideas, and the priority of his or her operation is relatively high; the graphic element editing sequence of the second user is used as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are editable, so that the first user can see the operation of the second user during the operation, and can modify or adjust the operation of the second user as needed to ensure the coordination of the entire editing process.
[0043] Preferably, an auxiliary operation interface is established for the second user. Specifically, the second user's primitive editing sequence is used as the main operation layer. The second user can perform their own operations on the main operation layer, and the first user's primitive editing sequence is used as the auxiliary operation layer. However, the auxiliary operation layer is in an uneditable state, which means that the second user can see the first user's operations but cannot directly modify them. They can only refer to the first user's operations to adjust their own operations, thereby ensuring the dominant position of the main operation user. After the first user and the second user operate in the main operation interface and the auxiliary operation interface respectively, the operation results of the two interfaces are collected, and the operation results are combined with collaborative constraints, user role information, etc. for analysis and judgment, and finally a fusion decision result is established to ensure the consistency and accuracy of CAD graphics in the collaborative editing process.
[0044] Furthermore, step S410 also includes step S411, if the collaborative constraint is a cooperative collaborative constraint, establishing a cooperative key constraint; step S412, displaying the cooperative key constraints respectively in the operation layer of the cooperative user, and displaying the graphic element editing sequences of both cooperative users in different colors in the operation layer; step S413, using the cooperative key constraint to perform conflict authentication of the graphic element editing sequences of the cooperative users; step S414, establishing a fusion decision result based on the conflict authentication result.
[0045] Preferably, if it is determined that the collaborative constraint is a cooperative collaborative constraint, the cooperating users need to cooperate and collaborate more closely to complete the CAD graphic editing, that is, to establish cooperative key constraints to guide the operations of the cooperating users in the collaborative editing process. For example, it is stipulated that within a specific graphic area, the operations of the cooperating users must follow a specific order, or the modification of certain important graphics elements requires both parties to reach an agreement, etc.; then the cooperative key constraints are displayed in the operation layer of each cooperating user, so that the user can see the constraints at any time when performing operations, and the graphic editing sequences of both cooperating users are displayed in different colors in the operation layer. For example, the graphic editing sequence of the first user is displayed in blue, and the graphic editing sequence of the second user is displayed in red, so that users can intuitively see their own and each other's operations during operation, so as to better collaborate and communicate.
[0046] Preferably, the collaborative key constraints are used to authenticate conflicts in the editing sequences of collaborative users' entities. That is, based on the collaborative key constraints, whether there are conflicts in the editing sequences of collaborative users' entities is checked. By comparing the user's operation with the provisions in the collaborative key constraints, it is determined whether there is a violation of the constraint. For example, the collaborative key constraint stipulates that only one party can modify a specific entity within a certain time period. At this time, if both parties operate on the entity, it is determined that there is a conflict and the conflict is recorded in detail, including the involved entities, the operation content, and the specific constraint terms violated. Finally, a fusion decision is made based on the authentication results. If no conflict is found, the collaborative users' operations are carried out normally according to their respective editing sequences. If a conflict is found, the priority of the collaborative key constraints and the rationality of the user operations are comprehensively considered to decide how to handle the conflict. For example, the operation that complies with the collaborative key constraints is given priority, or the collaborative users are required to negotiate and resubmit the operation. Finally, a fusion decision result is generated, which clarifies the operation to update the CAD graphics under the current situation to ensure the smooth progress of collaborative editing and the consistency of the graphics data.
[0047] Furthermore, step S410 also includes step S415, if the collaborative constraint is a competitive collaborative constraint, then creating sub-operation layers for competing users respectively; step S416, when all sub-operation layers are created, judging whether the collaborative constraint is a full retention constraint; step S417, if the collaborative constraint is a full retention constraint, then retaining all sub-operation layers to establish a fusion decision result.
[0048] Preferably, if it is determined that the collaborative constraint is a competitive collaborative constraint, it means that there is a certain competitive relationship between multiple competing users when performing editing operations on CAD graphics, that is, they may perform different operations on the same graphic element or related parts. In this way, an independent sub-operation layer is created for each competing user. For example, user A and user B are competing users. A sub-operation layer is created for user A. In this sub-operation layer, user A operates on the CAD graphics according to his own intentions, and the operation process and results are recorded and displayed in the sub-operation layer. Similarly, an independent sub-operation layer is created for user B. User B performs operations in his own sub-operation layer to isolate the operations of different competing users and avoid mutual interference. After all sub-operation layers are created, it is determined whether the collaborative constraints are all retained constraints. If they are all retained constraints, it means that the operation results of all competing users have certain value, so all sub-operation layers created for competing users will be retained. Finally, a fusion decision result is established based on the retained sub-operation layers, including a comprehensive analysis of the primitive editing sequence, operation content, operation time and other information in each sub-operation layer. For example, the operations on the same primitive in different sub-operation layers are compared, and multiple operations are fused according to the order of operations, the rationality of operations, etc., to ensure that the final CAD drawing can accurately reflect the effective operations of all competing users while maintaining the consistency and accuracy of the drawing.
[0049] Furthermore, step S416 also includes step A, if the collaborative constraint is a competitive preservation constraint, then perform operation comparison of all sub-operation layers and establish an operation comparison identifier; step B, obtain role priority permissions based on the user role information, use the operation comparison identifier and the role priority permissions to make a fusion decision, and establish a fusion decision result.
[0050] Preferably, if the collaborative constraint is determined to be a competitive preservation constraint, it means that there is a competitive relationship between multiple competing users in the operation of CAD graphics, and their operations need to be compared and screened to determine which operations are ultimately retained. Specifically, a detailed comparison is performed on the operations in all sub-operation layers created for each competing user, including comparison of the operation content, operation sequence, operation time, etc. on the same graphic element or related parts in different sub-operation layers, and an operation comparison identifier is established to mark the differences and characteristics between different operations. For example, "Identifier 1" is used to indicate that there is a difference in the operation of a certain graphic element, and the specific content of the difference is recorded in detail, such as the stretching operation parameters of user A and the rotation operation parameters of user B; then, according to the user role information of the users participating in the collaborative editing, the user management unit In the process, the role priority of each competing user is obtained; finally, the operation comparison identifier and role priority are used to make a fusion decision, that is, according to the operation difference reflected by the operation comparison identifier, the role priority is combined to determine which operations should be adopted. If there are differences in the operations of two competing users on the same element, and one of the users has a higher role priority, the operation of that user will be adopted first; however, if the operation of the user with lower priority is more in line with the design requirements or is more beneficial to the integrity and accuracy of the graphics, the operation of that user may also be adopted. Finally, a fusion decision result is established, which clearly points out which operations are retained and which operations are discarded in the competing operations, or how to adjust and merge the operations to ensure that the CAD graphics can meet the design requirements and data consistency requirements after collaborative editing.
[0051] Furthermore, step B also includes step B1, if the graphic creation results in the operation comparison identifier are consistent, then executing the editability identification of the primitive editing sequence to generate an editability identification result; step B2, using the editability identification result and the role priority authority to complete the fusion decision.
[0052] Preferably, after performing an operation comparison on the sub-operation layers of competing users, if it is found that the operation comparison identifier shows that the graphic creation results are consistent, it means that the graphics created by different competing users in their respective sub-operation layers are the same in final form, but the editability of the graphic element editing sequence by different users may be different; then the editability identification of the graphic element editing sequence is performed, that is, the graphic element editing sequence of each user is analyzed to determine its editability in the current state. For example, some graphic element editing sequences may not be editable because they are locked, restricted by other constraints, or associated with other parts, while others can be edited freely. Based on these analysis results, an editability identification result is generated, which may be a status list representing the editability of each user's graphic element editing sequence, or an information set that describes in detail which parts are editable and which parts are not.
[0053] Preferably, a fusion decision is made in combination with the editability identification results and role priority permissions. Specifically, if the graphic element editing sequence of a user with higher role priority permissions is more editable, subsequent operations tend to be based on the editing sequence of this user; if the editability identification results of a user with lower priority permissions show that his graphic element editing sequence has better editability in certain key parts, and these parts have an important impact on the final effect of the graphics, the editing sequence of the user with lower priority permissions may also be used. Ultimately, the editing sequences of different users are reasonably integrated to achieve the best graphic effect and design goals.
[0054] Step S500: updating the CAD graphics based on the fusion decision result to complete cloud collaboration synchronization.
[0055] Preferably, the fusion decision result is updated to the actual CAD drawing, and the CAD drawing is modified accordingly. For example, the fusion decision result determines that user A's stretching operation on a certain drawing is the final adopted operation, and user B's rotation operation on the same drawing is discarded. The CAD drawing is updated according to user A's stretching operation, and the impact of user B's rotation operation on the drawing is restored or deleted. The updated drawing is synchronized to the cloud to ensure that all users participating in the collaboration can obtain the latest version of the graphic data, that is, each user's local client automatically obtains the latest graphic data from the cloud server, and updates the locally displayed CAD drawing to a state consistent with the cloud, thereby realizing collaborative synchronization between multiple users and ensuring the accuracy and consistency of collaborative synchronization of CAD graphics in the cloud.
[0056] Furthermore, step S500 also includes step S510, establishing a user's operation rollback record, and storing the operation rollback record as a timeline history record; step S520, when a user's rollback instruction is received at any time node, calling the operation rollback record to reconstruct the CAD drawing.
[0057] Preferably, every operation performed by each user on a drawing is monitored and recorded in real time, including but not limited to the creation, deletion, movement, modification of attributes (such as color and size), layer adjustment, and block editing of primitives. Based on these operation records, an operation rollback record is generated, including the operation time, the operation object (the unique identifier of the rectangular primitive), the state before the operation (such as the original size), and the state after the operation (such as the stretched size). This record is stored in chronological order as a timeline history record, which clearly displays the evolution of the CAD drawing over time and allows users to intuitively see which operations were performed on the drawing at different time points. If the user determines that the current CAD drawing state is not what they want or discovers that a previous operation resulted in an error, they can send a rollback instruction. Upon receiving the user's rollback instruction, the corresponding operation rollback record is searched from the timeline history record based on the time node specified in the instruction (or other relevant information, such as the operation sequence number). Finally, based on the found operation rollback record, the CAD drawing is gradually restored in the reverse order of the operations. By reconstructing the CAD drawing to the state of the user-specified time node, the user can return to a previous historical state and continue editing or viewing.
[0058] In the above, refer to Figure 1 The CAD drawing cloud collaborative synchronization method according to the embodiment of the present invention is described in detail. Figure 2 A CAD drawing cloud-based collaborative synchronization system according to an embodiment of the present invention is described.
[0059] The CAD drawing cloud collaborative synchronization system according to the embodiment of the present invention is used to solve the technical problems existing in the prior art, such as version confusion, frequent operation conflicts, and inefficient multi-user collaborative conflict handling during collaborative editing of CAD drawings, which lead to inaccurate and inefficient cloud collaborative synchronization of CAD images. This system achieves the technical effect of improving the accuracy and efficiency of cloud collaborative synchronization of CAD drawings. Figure 2 As shown, the CAD drawing cloud-based collaborative synchronization system includes: a graphic element identification establishment module 10, a graphic element editing sequence establishment module 20, a conflict scene recognition module 30, a fusion decision result generation module 40, and a cloud-based collaborative synchronization module 50.
[0060] A primitive identification establishment module 10 is used to decompose the CAD drawing into a primitive object tree and establish a unique identifier for each primitive; a primitive editing sequence establishment module 20 is used to enable the change tracking structure to perform operation timing log reading when the CAD drawing is in a collaborative editing state, and establish a primitive editing sequence based on the primitive object tree; a conflict scene recognition module 30 is used to enable the intelligent conflict fusion engine, use the unique identifier and the primitive editing sequence to identify the conflict scene, and establish a conflict scene recognition result; a fusion decision result generation module 40 is used to use the conflict scene recognition result to establish a conflict location, obtain the user role information corresponding to the primitive editing sequence, make a fusion decision based on the user role information and conflict location, and generate a fusion decision result; a cloud-based collaborative synchronization module 50 is used to update the CAD drawing based on the fusion decision result to complete cloud-based collaborative synchronization.
[0061] The specific configuration of the primitive editing sequence establishment module 20 will be described in detail below. The primitive editing sequence establishment module 20 further includes: when a primitive is edited by any user, displaying the primitive's current editing status to the collaborating user; if the collaborating user requests to participate in the collaborative editing of the primitive, reading the collaborating user's collaborative location; changing the primitive's status to the collaborative editing state, recording the collaborative location and timing operations, and establishing a primitive editing sequence.
[0062] The specific configuration of the conflict scene identification module 30 will be described in detail below. The conflict scene identification module 30 further includes: reading the collaborative positioning of the primitive editing sequence, using the collaborative positioning and the unique identifier to identify the user collaborative editing scene, and establishing a first conflict scene identification result; using the unique identifier and the primitive editing sequence to identify the change conflict of the layer and block structure, and establishing a second conflict scene identification result; using the unique identifier and the primitive editing sequence to identify the structural conflict of the invalid annotation association, and establishing a third conflict scene identification result; and using the first conflict scene identification result, the second conflict scene identification result, and the third conflict scene identification result to establish a conflict scene identification result.
[0063] The specific configuration of the fusion decision result generation module 40 will be described in detail below. The fusion decision result generation module 40 further includes: when the conflict scene recognition result is the first conflict scene recognition result, generating a collaborative constraint according to the collaborative positioning; if the collaborative constraint is an auxiliary collaborative constraint, setting the first user as the main operation user and the second user as the auxiliary operation user according to the user role information; establishing a main operation interface for the first user, the main operation interface uses the first user's graphic element editing sequence as the main operation layer, and the second user's graphic element editing sequence as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state; establishing an auxiliary operation interface for the second user, the auxiliary operation interface uses the second user's graphic element editing sequence as the main operation layer, and the first user's graphic element editing sequence as the auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; and establishing a fusion decision result using the operation results of the main operation interface and the auxiliary operation interface.
[0064] The specific configuration of the fusion decision result generation module 40 will be described in detail below. The fusion decision result generation module 40 further includes: if the collaborative constraint is a cooperative collaborative constraint, establishing a cooperative key constraint; displaying the cooperative key constraint in the operation layer of the cooperating user, and displaying the primitive editing sequences of both cooperating users in different colors in the operation layer; using the cooperative key constraint to perform conflict authentication of the primitive editing sequences of the cooperating users; and establishing a fusion decision result based on the conflict authentication result.
[0065] The specific configuration of the fusion decision result generation module 40 will be described in detail below. The fusion decision result generation module 40 further includes: if the collaborative constraint is a competitive collaborative constraint, creating sub-operation layers for each competing user; after all sub-operation layers are created, determining whether the collaborative constraint is a fully retained constraint; if so, retaining all sub-operation layers to establish the fusion decision result.
[0066] The specific configuration of the fusion decision result generation module 40 will be described in detail below. The fusion decision result generation module 40 further includes: if the collaborative constraint is a competitive preservation constraint, performing an operation comparison on all sub-operation layers and establishing an operation comparison identifier; obtaining role priority permissions based on the user role information, utilizing the operation comparison identifier and the role priority permissions to make a fusion decision, and establishing a fusion decision result.
[0067] The specific configuration of the fusion decision result generation module 40 will be described in detail below. The fusion decision result generation module 40 further includes: if the graphic creation results in the operation comparison identifier are consistent, performing editability identification on the primitive editing sequence to generate an editability identification result; and utilizing the editability identification result and the role priority to complete the fusion decision.
[0068] The specific configuration of the cloud-based collaborative synchronization module 50 will be described in detail below. The cloud-based collaborative synchronization module 50 further includes: establishing a user's operation rollback record, storing the operation rollback record as a timeline history record; and when a user's rollback instruction is received at any time point, calling the operation rollback record to reconstruct the CAD drawing.
[0069] The CAD drawing cloud-based collaborative synchronization system provided by the embodiment of the present invention can execute the CAD drawing cloud-based collaborative synchronization method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0070] Although the present application makes various references to certain modules in the system according to the embodiments of the present application, any number of different modules may be used and run on the user terminal and / or server, and the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other and are not used to limit the scope of protection of the present invention.
[0071] The above specific embodiments do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the scope of protection of this application.
Claims
1. CAD drawing cloud collaborative synchronization method, characterized in that: The method comprises: Decompose CAD graphics into a primitive object tree and establish a unique identifier for each primitive; When the CAD drawing is in collaborative editing state, the change tracking structure is enabled to read the operation sequence log and establish the element editing sequence based on the element object tree; activating an intelligent conflict fusion engine, using the unique identifier and the primitive editing sequence to perform conflict scene recognition, and establishing a conflict scene recognition result; After establishing conflict positioning using the conflict scene recognition result, obtaining user role information corresponding to the primitive editing sequence, performing fusion decision based on the user role information and conflict positioning, and generating a fusion decision result; updating the CAD drawing based on the fusion decision result to complete cloud collaboration synchronization; When the CAD drawing is in a collaborative editing state, the change tracking structure is enabled to read the operation sequence log, and an element editing sequence is established based on the element object tree, including: When a graphic element is edited by any user, the current editing status of the graphic element is displayed to the collaborative user; If a collaborative user applies to participate in collaborative editing of a graphic element, the collaborative location of the collaborative user is read; Changing the state of the graphic element to a collaborative editing state, and recording the collaborative positioning and timing operations to establish a graphic element editing sequence; The enabling of the intelligent conflict fusion engine, using the unique identifier and the primitive editing sequence to perform conflict scene recognition, and establishing a conflict scene recognition result, includes: Reading the collaborative location of the primitive editing sequence, using the collaborative location and the unique identifier to identify the user collaborative editing scene, and establishing a first conflict scene identification result; Using the unique identifier and the primitive editing sequence to identify conflicts in layer and block structure changes, and establishing a second conflict scene identification result; Using the unique identifier and the primitive editing sequence to perform structural conflict identification of annotation association failures, and establish a third conflict scene identification result; A conflict scene recognition result is established using the first conflict scene recognition result, the second conflict scene recognition result, and the third conflict scene recognition result.
2. The CAD drawing cloud collaborative synchronization method according to claim 1, characterized in that: After establishing conflict positioning using the conflict scene recognition result, obtaining user role information corresponding to the primitive editing sequence, performing fusion decision based on the user role information and conflict positioning, and generating a fusion decision result, including: When the conflict scene recognition result is a first conflict scene recognition result, generating a collaborative constraint according to the collaborative positioning; If the collaboration constraint is an auxiliary collaboration constraint, the first user is set as the main operation user and the second user is set as the auxiliary operation user according to the user role information; Establishing a main operation interface for the first user, wherein the main operation interface uses the first user's graphic element editing sequence as a main operation layer and the second user's graphic element editing sequence as an auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state; Establishing an auxiliary operation interface for the second user, wherein the auxiliary operation interface uses the second user's graphic element editing sequence as a main operation layer and the first user's graphic element editing sequence as an auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; The operation results of the main operation interface and the auxiliary operation interface are used to establish a fusion decision result.
3. The CAD drawing cloud collaborative synchronization method according to claim 2, wherein: When the conflict scene recognition result is the first conflict scene recognition result, generating a collaborative constraint according to the collaborative positioning includes: If the coordination constraint is a cooperative coordination constraint, a cooperative key constraint is established; Displaying the key cooperation constraints in the operation layer of the cooperation users respectively, and displaying the primitive editing sequences of both cooperation users in different colors in the operation layer; Using the cooperation key constraint to perform conflict authentication of the graphic element editing sequence of the cooperation users; Establish a fusion decision result based on the conflict authentication results.
4. The CAD drawing cloud collaborative synchronization method according to claim 2, wherein: When the conflict scene recognition result is the first conflict scene recognition result, generating a cooperation constraint according to the cooperative positioning further includes: If the collaboration constraint is a competitive collaboration constraint, a sub-operation layer is created for each competing user; After all sub-operation layers are created, it is determined whether the coordination constraint is a fully retained constraint; If the collaborative constraint is a full-retention constraint, all sub-operation layers are retained to establish a fusion decision result.
5. The CAD drawing cloud collaborative synchronization method according to claim 4, characterized in that: The determining whether the coordination constraint is a fully retained constraint includes: If the collaborative constraint is a competitive preservation constraint, then performing operation comparisons on all sub-operation layers and establishing operation comparison identifiers; The role priority authority is obtained according to the user role information, and a fusion decision is made using the operation comparison identifier and the role priority authority to establish a fusion decision result.
6. The CAD drawing cloud collaborative synchronization method according to claim 5, characterized in that: The utilizing the operation comparison identifier and the role priority authority to make a fusion decision includes: If the graphic creation results in the operation comparison identifier are consistent, then the editability identification of the graphic element editing sequence is performed to generate an editability identification result; A fusion decision is made using the editability identification result and the role priority authority.
7. The CAD drawing cloud collaborative synchronization method according to claim 1, wherein: The updating of the CAD graphics based on the fusion decision result to complete cloud collaborative synchronization includes: Creating a user's operation rollback record, and storing the operation rollback record as a timeline history record; When a rollback instruction from the user is received at any time point, the operation rollback record is called to reconstruct the CAD drawing.
8. CAD drawing cloud collaborative synchronization system, characterized by: The system is used to implement the CAD drawing cloud collaboration synchronization method according to any one of claims 1 to 7, and the system includes: The primitive identification creation module is used to decompose the CAD graphics into a primitive object tree and create a unique identification for each primitive; The primitive editing sequence establishment module is used to enable the change tracking structure to read the operation sequence log when the CAD drawing is in the collaborative editing state, and to establish the primitive editing sequence based on the primitive object tree; A conflict scene recognition module is used to enable an intelligent conflict fusion engine, use the unique identifier and the primitive editing sequence to perform conflict scene recognition, and establish a conflict scene recognition result; A fusion decision result generating module is used to obtain user role information corresponding to the primitive editing sequence after establishing conflict positioning using the conflict scene recognition result, perform fusion decision based on the user role information and conflict positioning, and generate a fusion decision result; The cloud collaborative synchronization module is used to update the CAD graphics based on the fusion decision result to complete the cloud collaborative synchronization.
Citation Information
Patent Citations
CAD collaborative design system
WO2020015613A1