CAD (Computer Aided Design) drawing cloud collaborative synchronization method and synchronization system
By disassembling the CAD graphics into an element object tree and establishing a unique identifier, and combining the intelligent conflict fusion engine and user role information to make decisions, the version chaos and operation conflict problems in CAD drawing collaborative editing are solved, and efficient and accurate cloud collaboration and synchronization are achieved.
Patent Information
- Application Number
- CN202510714728.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-30
- Publication Date
- 2025-07-01
- 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.
Improve the accuracy and efficiency of CAD mapping cloud collaboration and synchronization, ensuring the consistency and accuracy of graph data.
Smart Images

Figure CN120238546A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of drawing, and specifically relates to a CAD drawing cloud collaboration synchronization method and a synchronization system. Background Art
[0002] Computer-aided design (CAD) is widely used in fields such as manufacturing, architectural design, and mechanical engineering. As the scale of projects continues to expand and the complexity continues to increase, many problems have emerged in the local CAD drawing mode. Traditional CAD drawing usually focuses on single-machine operations. Designers draw and modify drawings on their local computers respectively. When multiple people need to jointly participate in the design of the same project, there are many inconveniences. For example, team members need to transfer CAD files through methods such as emails and USB drives, which not only takes time and effort but also easily leads to version confusion problems, resulting in inconsistent drawing versions used by different members, thus causing design errors. At the same time, the workflow of multiple people modifying the same file in sequence makes it impossible to carry out the design process in parallel, seriously delaying the project progress. By storing CAD files in the cloud, designers can access and edit drawings at different locations and on different devices. However, in actual applications, since multiple users may operate on the same part of the CAD graphics simultaneously, operation conflicts will inevitably occur. If these conflicts cannot be effectively handled, it will lead to drawing data errors, damage to design results, and even make the entire collaborative project fall into chaos. It is difficult to quickly and accurately identify and handle these complex operation conflicts, and the efficient and accurate synchronization of CAD graphics cannot be achieved.
[0003] Therefore, in the current related technologies, there are technical problems such as version confusion during CAD drawing collaborative editing, frequent operation conflicts, and inefficient handling of multi-user collaboration conflicts, resulting in inaccurate and inefficient cloud collaboration synchronization of CAD images. Summary of the Invention
[0004] This application provides a CAD drawing cloud collaboration synchronization method and a synchronization system, which solve the technical problems in the prior art that there are version confusion during CAD drawing collaborative editing, frequent operation conflicts, and inefficient handling of multi-user collaboration conflicts, resulting in inaccurate and inefficient cloud collaboration synchronization of CAD images, and achieve the technical effect of improving the accuracy and efficiency of CAD drawing cloud collaboration synchronization.
[0005] This application provides a CAD drawing cloud collaboration and synchronization method, which includes: disassembling 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 change tracking to execute 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 conflict scenario recognition results; after establishing conflict localization using the conflict scenario recognition results, obtaining the user role information corresponding to the primitive editing sequence, and making a fusion decision based on the user role information and conflict localization to generate a fusion decision result; updating the CAD drawing based on the fusion decision result to complete cloud collaboration and synchronization.
[0006] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: when a primitive is edited by any user, display the current editing state of the primitive to collaborative users; if a collaborative user applies to intervene in the collaborative editing of the primitive, read the collaborative location of the collaborative user; change the primitive state to the collaborative editing state, and establish a primitive editing sequence with the collaborative location and timing operation records.
[0007] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: read the collaborative location of the primitive editing sequence, use the collaborative location and the unique identifier to identify the user collaborative editing scenario and establish a first conflict scenario recognition result; use the unique identifier and the primitive editing sequence to identify layer and block structure change conflicts and establish a second conflict scenario recognition result; use the unique identifier and the primitive editing sequence to identify structural conflicts of annotation association failure and establish a third conflict scenario recognition result; establish a conflict scenario recognition result using the first conflict scenario recognition result, the second conflict scenario recognition result, and the third conflict scenario recognition result.
[0008] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: When the conflict scenario recognition result is the first conflict scenario recognition result, generate a collaboration constraint according to the collaborative positioning; if the collaboration constraint is an auxiliary collaboration constraint, set the first user as the main operating user and the second user as the auxiliary operating user according to the user role information; establish a main operation interface for the first user, where the main operation interface uses the primitive editing sequence of the first user as the main operation layer and the primitive editing sequence of the second user as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state; establish an auxiliary operation interface for the second user, where the auxiliary operation interface uses the primitive editing sequence of the second user as the main operation layer and the primitive editing sequence of the first user as the auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; establish a fusion decision result using the operation results of the main operation interface and the auxiliary operation interface.
[0009] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: If the collaboration constraint is a cooperative collaboration constraint, establish a cooperative key constraint; display the cooperative key constraint in the operation layers of the cooperative users respectively, and display the primitive editing sequences of both cooperative users in different colors in the operation layers; perform conflict authentication on the primitive editing sequences of the cooperative users using the cooperative key constraint; establish a fusion decision result based on the conflict authentication result.
[0010] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: If the collaboration constraint is a competitive collaboration constraint, create sub-operation layers for the competitive users respectively; when all the sub-operation layers are created, determine whether the collaboration constraint is an all-preserving constraint; if the collaboration constraint is an all-preserving constraint, retain all the sub-operation layers to establish a fusion decision result.
[0011] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: If the collaboration constraint is a competitive save constraint, perform an operation comparison of all the sub-operation layers, establish an operation comparison identifier; obtain the role priority permission according to the user role information, and use the operation comparison identifier and the role priority permission to make a fusion decision and establish a fusion decision result.
[0012] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: If the graphic creation results in the operation comparison identifier are the same, perform an editable identification of the primitive editing sequence to generate an editable identification result; complete the fusion decision using the editable identification result and the role priority permission.
[0013] In a possible implementation, the CAD drawing cloud collaboration and synchronization method further performs the following processing: establishing an operation rollback record of the user, and storing the operation rollback record as a timeline history record; when receiving a rollback instruction from the user at any time node, calling the operation rollback record to reconstruct the CAD drawing.
[0014] This application also provides a CAD drawing cloud collaboration and synchronization system, which includes: a primitive identification establishment module for disassembling a CAD drawing into a primitive object tree and establishing a unique identifier for each primitive; a primitive editing sequence establishment module for enabling a change tracking structure to perform operation timing log reading when the CAD drawing is in a collaborative editing state, and establishing a primitive editing sequence based on the primitive object tree; a conflict scenario identification module for enabling an intelligent conflict fusion engine to perform conflict scenario identification using the unique identifier and the primitive editing sequence, and establishing a conflict scenario identification result; a fusion decision result generation module for establishing conflict localization using the conflict scenario identification result, obtaining user role information corresponding to the primitive editing sequence, and performing a fusion decision based on the user role information and conflict localization to generate a fusion decision result; a cloud collaboration and synchronization module for updating the CAD drawing based on the fusion decision result to complete cloud collaboration and synchronization.
[0015] It is intended to disassemble the CAD drawing into a primitive object tree and establish a unique identifier through the CAD drawing cloud collaboration and synchronization method and synchronization system proposed in this application; when the CAD drawing is in a collaborative editing state, perform operation timing log reading and establish a primitive editing sequence based on the primitive object tree; enable an intelligent conflict fusion engine to perform conflict scenario identification and establish a conflict scenario identification result; establish conflict localization, obtain user role information corresponding to the primitive editing sequence and perform a fusion decision to generate a fusion decision result; update the CAD drawing to complete cloud collaboration and synchronization. This solves the technical problems in the prior art such as version chaos, frequent operation conflicts, and inefficient conflict handling for multi-user collaboration during the collaborative editing of CAD drawings, resulting in inaccurate and inefficient cloud collaboration and synchronization of CAD images, and achieves the technical effect of improving the accuracy and efficiency of CAD drawing cloud collaboration and synchronization. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings of the embodiments of the present disclosure will be briefly introduced below. Flowcharts are used in this application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the operations before or below do not necessarily need to be executed precisely in order. On the contrary, according to needs, they can be executed in reverse order or simultaneously. At the same time, other operations can also be added to these processes, or one or several operations can be removed from these processes.
[0017] Figure 1Schematic diagram of the CAD drawing cloud collaboration and synchronization method provided by the embodiment of the present application.
[0018] Figure 2 Schematic diagram of the CAD drawing cloud collaboration and synchronization system structure provided by the embodiment of the present application.
[0019] Explanation of reference numerals: The primitive identifier establishment module 10, the primitive editing sequence establishment module 20, the conflict scenario recognition module 30, the fusion decision result generation module 40, the cloud collaboration synchronization module 50. Detailed implementation manners
[0020] The above description is only an overview of the technical solution of the present application. In order to be able to understand the technical means of the present application more clearly, it can be implemented in accordance with the content of the specification. And in order to make the above and other purposes, features and advantages of the present application more obvious and understandable, the following specifically gives the detailed implementation manners of the present application.
[0021] In order to make the purpose, technical solution and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present application.
[0022] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict. The terms "first / second" involved are only used to distinguish similar objects and do not represent a specific order for the objects. The terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or server that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or modules that are not clearly listed or 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 technical field to which the present application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application.
[0023] The embodiment of the present application provides a CAD drawing cloud collaboration and synchronization method, as Figure 1 shown. The method includes: Step S100, disassemble the CAD drawing into a primitive object tree and establish a unique identifier for each primitive.
[0024] Preferably, a CAD drawing is a complex drawing composed of many different types of basic graphic elements. The basic graphic elements are graphic primitives, such as lines, circles, rectangles, texts, etc. The CAD drawing is disassembled into a graphic primitive object tree, that is, a complete CAD drawing is decomposed into multiple independent graphic primitive objects according to its composition structure and organized in a tree structure. Specifically, it is disassembled and divided according to the inclusion relationship, hierarchical relationship, etc. between the graphic 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 graphic primitive object tree of a CAD drawing, the root node represents the entire CAD drawing, and each child node represents a different graphic 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 each part that makes up 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 threads, the threads will be used as the child nodes of the bolt hole node.
[0025] Preferably, when multiple users collaborate to edit a CAD drawing, different users may operate on different graphic primitives simultaneously. A unique identifier is established for each graphic primitive to facilitate accurate identification and management of each graphic primitive during cloud collaboration. The unique identifier is the ID number of the graphic primitive. During the entire life cycle of the CAD drawing, no matter where the graphic primitive is located 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 the unique identifier of the graphic primitive. Through the unique identifier, information such as the modification history and operation sequence of each graphic primitive can be clearly recorded. When an operation conflict occurs, the graphic primitive where the conflict occurs can also be accurately located according to the unique identifier, so as to perform effective conflict handling, thereby ensuring the accuracy and consistency of the CAD drawing during cloud collaboration.
[0026] Step S200, when the CAD drawing is in the collaborative editing state, enable the change tracking structure to execute the operation time sequence log reading, and establish a graphic primitive editing sequence based on the graphic primitive object tree.
[0027] Preferably, the CAD drawing being in a collaborative editing state means that multiple users simultaneously perform editing operations on the same CAD drawing. In this state, different users can connect to the cloud server through the network on their respective terminal devices to make real-time modifications and view the same CAD file. The change tracking structure is enabled to execute the operation timing log reading. Specifically, the change tracking structure is used to monitor and record the changes that occur to the CAD drawing during collaborative editing, and can capture in real time all the operations performed on the drawing by each user, including but not limited to operations such as adding, deleting, moving, and modifying graphic elements. The operation timing log is a log that records user operations in chronological order. Among them, 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 graphic elements in the CAD drawing at different time points. For example, at 10:10 am, user A modified the radius of a certain circular graphic element, and at 10:15 am, user B added a new linear graphic element, etc. Thus, it is possible to clearly grasp the change process of the drawing during the entire collaborative editing process.
[0028] Preferably, based on the graphic element object tree, that is, each graphic element has its specific position and relationship in the graphic element object tree structure. Then, according to the operation sequence recorded in the operation timing log, the operations on each graphic element are arranged in sequence to form a graphic element editing sequence, which reflects how the graphic elements change step by step according to the users' operations during collaborative editing. For example, first, a stretching operation is performed on a certain rectangular graphic element, and then its filling color is modified. The two operations are recorded in the graphic element editing sequence in chronological order. Through the graphic element editing sequence, the entire evolution process of the CAD drawing during collaborative editing can be completely restored, and all the changes to the CAD drawing during collaborative editing can be accurately recorded, thereby ensuring efficient and accurate cloud writing synchronization.
[0029] Furthermore, step S200 further includes step S210, when a graphic element is edited by any user, display the current editing state of the graphic element to the collaborative users; step S220, if a collaborative user applies to intervene in the collaborative editing of the graphic element, read the collaborative location of the collaborative user; step S230, change the state of the graphic element to the collaborative editing state, and record the collaborative location and the timing operation, and establish a graphic element editing sequence.
[0030] Preferably, the collaborative editing of CAD graphics means that multiple users can operate on the same CAD graphic simultaneously. When any one of the users performs an editing operation on a certain graphic element, this change is captured in real time, and the current editing status information of this graphic element, such as whether it is being modified, the approximate location of the modification, the type of modification (such as moving, scaling, or rotating, etc.), is transmitted to the clients of other collaborative users through the network, enabling other collaborative users to timely understand the editing dynamics of the graphic element and avoiding the situation where multiple users simultaneously perform conflicting operations on the same graphic element, thus ensuring the efficiency and accuracy of collaborative work.
[0031] Preferably, when a certain collaborative user sees that a graphic element is being edited and also wants to participate in the editing of this graphic element, they perform collaborative editing through the client and simultaneously read the collaborative positioning of the collaborative user, that is, the specific position where the user hopes to enter the editing of the graphic element. For example, the user may hope to start the modification from a certain specific endpoint of the graphic element or operate on a certain specific area of the graphic element. Then, the status of this graphic element is changed from the single-user editing status to the collaborative editing status, and the read collaborative positioning information and the chronological order of operations of all users on this graphic element (i.e., the chronological operation record) are recorded. Finally, according to the collaborative positioning and chronological operation information, a graphic element editing sequence is established, clearly showing the sequence and specific positions of each operation of the graphic element during the collaborative editing process, which helps with subsequent conflict handling and the synchronous update of CAD graphics.
[0032] Step S300: Enable the intelligent conflict fusion engine, use the unique identifier and the graphic element editing sequence to identify conflict scenarios, and establish the conflict scenario identification result.
[0033] Preferably, in the cloud collaborative editing of CAD drawings, when multiple users operate on CAD graphics simultaneously, operation conflicts are likely to occur. Enable the intelligent conflict fusion engine to identify conflict scenarios and establish recognition results using unique identifiers and primitive editing sequences. Among them, the intelligent conflict fusion engine is a component for intelligent conflict processing. Its core task is to accurately identify and handle possible conflicts in a complex collaborative editing environment, thereby ensuring the data consistency and accuracy of CAD graphics. Specifically, the intelligent conflict fusion engine tracks the operation history of each primitive based on the unique identifier of the primitive. When different users operate on primitives with the same unique identifier, conflicts may occur. Then, analyze the primitive editing sequence to determine whether there are conflicts between different operations, that is, identify the conflict scenario, and then quickly locate the primitives with potential conflicts. At the same time, record the specific situation of the conflict in detail to form a conflict scenario recognition result, which may include the primitives involved in the conflict, the operation content of the conflict (the specific operations performed by different users on the primitive, such as modifying dimensions, moving positions, changing colors, etc.), the time information of the conflict (the time sequence of the conflict operations), and the conflict type (modification conflict or deletion conflict); thus, it helps to efficiently and reasonably solve the conflict problems that occur in the collaborative editing process.
[0034] Further, step S300 further includes step S310, reading the collaborative positioning of the primitive editing sequence, and using the collaborative positioning and the unique identifier to identify the user collaborative editing scenario and establish the first conflict scenario recognition result; step S320, using the unique identifier and the primitive editing sequence to identify the change conflicts of the layer and block structure and establish the second conflict scenario recognition result; step S330, using the unique identifier and the primitive editing sequence to identify the structural conflicts of the annotation association failure and establish the third conflict scenario recognition result; step S340, using the first conflict scenario recognition result, the second conflict scenario recognition result, and the third conflict scenario recognition result to establish the conflict scenario recognition result.
[0035] Preferably, the co-location of the graphic primitive editing sequence is read. By combining co-location and unique identification, the user collaborative editing scenario can be accurately identified. Specifically, when two users simultaneously perform editing operations on the same graphic primitive with a specific unique identification at a similar co-location, conflicts may occur. Then, the specific situation of the conflict is analyzed and determined, such as the graphic primitive where the conflict occurs, the users involved in the conflict, the type of conflict operation, etc., so as to establish the first conflict scenario recognition result, which helps to discover the conflicts directly generated by users during collaborative editing of graphic primitives. The layers of CAD graphics are used to organize and manage different types of graphic primitives, and the block structure is used to combine multiple graphic primitives into a whole for management. According to the unique identification and the graphic primitive editing sequence, check whether there are conflicting change operations by different users on the same layer or block structure. For example, one user deletes a certain layer, while another user simultaneously adds a graphic primitive to that layer; or one user modifies the definition of the block structure, while another user is editing using the original block structure; and then identify these conflicts and establish the second conflict scenario recognition result to handle the change conflicts in terms of layers and block structures.
[0036] Preferably, the annotations of CAD graphics (such as dimension annotations, text annotations, etc.) are usually associated with graphic primitives to provide detailed information about the graphics. When the graphic primitive changes, the relevance of the annotation may become invalid. Then, using the unique identification and the graphic primitive editing sequence, check whether there is a situation where the annotation association becomes invalid due to the editing operation of the graphic primitive. For example, one user moves a certain graphic primitive, and the associated annotation is not updated accordingly, resulting in the mismatch between the annotation and the position of the graphic primitive. Then, establish the third conflict scenario recognition result to handle the problem of annotation association. Finally, integrate the first, second, and third conflict scenario recognition results to form the conflict scenario recognition result, which covers information such as direct conflicts during user collaborative editing of graphic primitives, change conflicts in layers and block structures, and structural conflicts of invalid annotation associations, and can comprehensively and accurately understand the problems that occur during the collaborative editing process, thereby ensuring the accuracy and consistency of CAD graphics during the collaborative editing process.
[0037] Step S400, after establishing the conflict location using the conflict scenario recognition result, obtain the user role information corresponding to the graphic primitive editing sequence, and make a fusion decision based on the user role information and the conflict location to generate a fusion decision result.
[0038] Preferably, according to the conflict scenario recognition results (such as direct conflicts when users collaborate to edit graphic elements, change conflicts in layer and block structures, and structural conflicts in which annotation associations become invalid), further conflict location is performed, that is, the conflict location is clarified, including determining which graphic elements have conflicts, the operation content involved in the conflict, and the time point when the conflict occurs, etc. For example, through the conflict scenario recognition results, it is found that user A and user B simultaneously make different modifications to the radius of a circular graphic element with a unique identifier, and the circular graphic element is the object of conflict location. Each user participating in collaborative editing has a corresponding user role, which may include designers, reviewers, drafters, etc., each with different permissions. Obtain the user role information corresponding to the graphic element editing sequence from the user management unit. For example, designers are responsible for designing the overall layout and structure of a building, reviewers are responsible for reviewing the design, and drafters are responsible for converting the design into detailed drawings. When a conflict occurs in a certain graphic element, determine the user roles participating in the editing of this graphic element.
[0039] Preferably, a fusion decision is made based on the user role information and conflict location, that is, a decision is made by integrating the user role information and conflict location to handle conflicts to ensure the consistency and accuracy of CAD graphics. Specifically, it may include the principle of role permission priority, 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 permissions of reviewers are usually higher than those of drafters. When there is a conflict between the operations of a reviewer and a drafter on the same graphic element, the operation result of the reviewer is preferably adopted; the principle of role responsibility matching, that is, the rationality of the operation is judged according to the responsibilities of the role; the rationality evaluation of the operation, that is, the rationality of the operation is evaluated in combination with the specific situation of conflict location. For example, if a certain operation will cause obvious errors in the graphic, even if the operation is performed by a role with higher permissions, it is not adopted. Then, based on these decisions, a final fusion decision result is generated, clearly indicating which operations should be adopted, which operations should be discarded, or how to coordinate and integrate the conflicting operations to complete the cloud collaboration and synchronization of CAD graphics.
[0040] Further, step S400 further includes step S410, when the conflict scenario recognition result is the first conflict scenario 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 operating user and the second user as the auxiliary operating user according to the user role information; step S430, establishing a main operation interface for the first user, where the main operation interface uses the primitive editing sequence of the first user as the main operation layer and the primitive editing sequence of the second user 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, where the auxiliary operation interface uses the primitive editing sequence of the second user as the main operation layer and the primitive editing sequence of the first user as the auxiliary operation layer, and the auxiliary operation layer is in a non-editable state; step S450, establishing a fusion decision result using the operation results of the main operation interface and the auxiliary operation interface.
[0041] Preferably, when the conflict scenario recognition result is the first conflict scenario recognition result, generating a collaborative constraint based on the collaborative positioning information of the primitive editing sequence, including restricting operations on the user's primitive editing position and range, such as the order of operations; when the generated collaborative constraint is an auxiliary collaborative constraint, dividing user roles according to the user role information, including based on the user's responsibilities and permissions in the project, setting the first user as the main operating user and the second user as the auxiliary operating user; then establishing a main operation interface for the first user (the main operating user), specifically, using the primitive editing sequence of the first user as the main operation layer, that is, the operations of the first user dominate in the interface, the first user can operate on the primitive according to his own editing ideas, and the priority of his operations is relatively high; using the primitive editing sequence of the second user as the auxiliary operation layer, and both the main operation layer and the auxiliary operation layer are in an editable state, so that the first user can see the operations of the second user during the operation process and can modify or adjust the operations of the second user as needed to ensure the coordination of the entire editing process.
[0042] Preferably, an auxiliary operation interface for the second user is further established. Specifically, the primitive editing sequence of the second user is used as the main operation layer. The second user can perform their own operations on the main operation layer, and the primitive editing sequence of the first user is used as the auxiliary operation layer. However, the auxiliary operation layer is in a non-editable state, indicating that the second user can see the operations of the first user, but cannot directly modify them. The second user can only adjust their own operations by referring to the operations of the first user, thereby ensuring the dominant position of the main operating user. After the first user and the second user perform operations on the main operation interface and the auxiliary operation interface respectively, the operation results of the two interfaces are collected, and analysis and judgment are carried out in combination with collaborative constraints, user role information, etc. Finally, a fusion decision result is established to ensure the consistency and accuracy of the CAD graphics during the collaborative editing process.
[0043] Further, step S410 further includes step S411. When the collaborative constraint is a cooperative collaborative constraint, a cooperative key constraint is established; step S412, the cooperative key constraint is respectively displayed in the operation layers of the cooperative users, and the primitive editing sequences of both cooperative users are displayed with different colors in the operation layers; step S413, the cooperative key constraint is used to perform conflict authentication on the primitive editing sequences of the cooperative users; step S414, a fusion decision result is established based on the conflict authentication result.
[0044] Preferably, if it is determined that the collaborative constraint belongs to the cooperative collaborative constraint, closer cooperation and collaboration between the cooperative users are required to complete the CAD graphics editing. That is, a cooperative key constraint is established to guide the operations of the cooperative users during the collaborative editing process. For example, it is stipulated that within a certain specific graphic area, the operations of the cooperative users must follow a specific order, or the modification of some important primitives requires the agreement of both parties, etc. Then, the cooperative key constraint is displayed in the operation layer of each cooperative user, so that the user can see the constraint conditions at any time when performing operations. At the same time, the primitive editing sequences of both cooperative users are displayed in different colors in the operation layer. For example, the primitive editing sequence of the first user is displayed in blue, and the primitive editing sequence of the second user is displayed in red, so that the user can intuitively see their own and the other party's operation situations during the operation, which is convenient for better cooperation and communication.
[0045] Preferably, the graphic element editing sequence conflict authentication of cooperative users is carried out by using cooperative key constraints, that is, it is checked whether there is a conflict in the graphic element editing sequence of cooperative users according to the cooperative key constraints. By comparing the operations of users with the regulations in the cooperative key constraints, it is judged whether there is a situation of violating the constraints. For example, the cooperative key constraints stipulate that only one party can modify a specific graphic element within a certain time period. At this time, if it is found that both parties operate on this graphic element, it is determined that there is a conflict, and the conflict situation is recorded in detail, including the graphic elements involved, the operation content, and the specific constraint clauses violated, etc. Finally, a fusion decision is made according to the authentication result. If no conflict is found, the operations of cooperative users proceed normally according to their respective editing sequences; if a conflict is found, considering the priority of the cooperative key constraints, the rationality of user operations, etc., it is decided how to handle the conflict. For example, the operation that conforms to the cooperative key constraints is preferably adopted, or the cooperative users are required to negotiate and then resubmit the operation. Finally, a fusion decision result is generated, specifying the operation to update the CAD graphic in the current situation to ensure the smooth progress of collaborative editing and the consistency of graphic data.
[0046] Further, step S410 further includes step S415, if the collaborative constraint is a competitive collaborative constraint, sub-operation layers are respectively created for competitive users; step S416, when all the sub-operation layers are created, it is judged whether the collaborative constraint is an all-preserving constraint; step S417, if the collaborative constraint is an all-preserving constraint, all the sub-operation layers are retained to establish a fusion decision result.
[0047] Preferably, if it is determined that the collaborative constraint belongs to a competitive collaborative constraint, indicating that there is a certain competitive relationship among multiple competing users when editing a CAD drawing, that is, different operations may be performed on the same primitive or related parts, separate sub-operation layers are created for each competing user. For example, if 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 drawing according to his own intention, and the operation process and results will be recorded and displayed in this sub-operation layer. Similarly, a separate sub-operation layer is created for user B, and user B operates in his own sub-operation layer to isolate the operations of different competing users and avoid interference with each other. After all sub-operation layers are created, it is then determined whether the collaborative constraint is an all-preservation constraint. If it is an all-preservation constraint, it means that the operation results of all competing users have certain value, then all sub-operation layers created for competing users are retained, and finally a fusion decision result is established based on the retained sub-operation layers, including comprehensively analyzing information such as the primitive editing sequence, operation content, operation time, etc. in each sub-operation layer. For example, comparing the operations on the same primitive in different sub-operation layers, and fusing multiple operations according to the order of operations and 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.
[0048] Further, step S416 further includes step A: if the collaborative constraint is a competitive preservation constraint, perform an operation comparison of all sub-operation layers and establish an operation comparison identifier; step B: obtain the role priority permission according to the user role information, and use the operation comparison identifier and the role priority permission to perform a fusion decision to establish a fusion decision result.
[0049] Preferably, if it is determined that the collaborative constraint is a competition preservation constraint, it means that there is a competition relationship among the operations of multiple competing users on the CAD drawing, and it is necessary to compare and screen their operations to determine which operations should be finally retained. Specifically, the operations in all sub-operation layers created for each competing user are compared in detail, including comparing the operation content, operation sequence, operation time, etc. of the same primitive or related parts in different sub-operation layers, and an operation comparison identifier is established to mark the information on the differences and characteristics between different operations. For example, "identifier 1" is used to indicate that there are differences in the operations of a certain primitive, and the specific content of the differences is recorded in detail, such as the stretching operation parameters of user A and the rotation operation parameters of user B, etc.; then, according to the user role information of the users participating in the collaborative editing, the role priority permissions of each competing user are obtained from the user management unit; finally, a fusion decision is made using the operation comparison identifier and the role priority permissions, that is, according to the operation differences reflected by the operation comparison identifier, combined with the role priority permissions to determine which operations should be adopted. If there are differences in the operations of two competing users on the same primitive, and the role priority permission of one of the users is higher, the operation of that user is preferred; however, if the operation of the user with a lower priority permission is more in line with the design requirements or more beneficial to the integrity and accuracy of the drawing, the operation of that user may also be adopted. Finally, a fusion decision result is established, clearly indicating which operations are retained, which operations are discarded, or how to adjust and fuse the operations in the competition operations to ensure that the CAD drawing can meet the design requirements and data consistency requirements after collaborative editing.
[0050] Further, step B further includes step B1. If the graphic creation results in the operation comparison identifier are the same, the editability recognition of the primitive editing sequence is performed to generate an editability recognition result; step B2, and a fusion decision is completed using the editability recognition result and the role priority permissions.
[0051] Preferably, after the operation comparison of the sub-operation layers of the competing users, if it is found that the operation comparison identifier shows that the graphic creation results are the same, it means that the graphics created by different competing users in their respective sub-operation layers are the same in the final form, but there may be differences in the editability of the primitive editing sequence for different users; then the editability recognition of the primitive editing sequence is performed, that is, the primitive editing sequence of each user is analyzed to judge its editability in the current state. For example, some primitive editing sequences may be non-editable because they are locked, restricted by other constraint conditions, or associated with other parts, while others can be freely edited. According to these analysis results, an editability recognition result is generated, which may be a status list indicating the editability of the primitive editing sequence of each user, or a set of information detailing which parts are editable and which parts are non-editable.
[0052] Preferably, a fusion decision is made by combining the editable recognition result and the role priority permission. Specifically, if a user with a higher role priority permission has a higher editable recognition result for the primitive editing sequence, it is inclined to use the editing sequence of this user as the main operation for subsequent operations; if the editable recognition result of a low-priority permission user shows that its primitive editing sequence has better editability in some key parts, and these parts have an important impact on the final effect of the graph, the editing sequence of the low-priority permission user may also be adopted. Finally, the editing sequences of different users are reasonably fused to achieve the best graph effect and design goal.
[0053] Step S500: Update the CAD graph based on the fusion decision result to complete cloud collaboration synchronization.
[0054] Preferably, the fusion decision result is updated to the actual CAD graph, and the CAD graph is modified accordingly. For example, if the fusion decision result determines that the stretching operation of user A on a certain graph is the operation finally adopted, and the rotation operation of user B on the same graph is discarded, the CAD graph is updated according to the stretching operation of user A, and the impact of the rotation operation of user B on the graph is restored or deleted. Then, the updated graph is synchronized to the cloud to ensure that all users participating in the collaboration can obtain the latest version of the graph data, that is, the local client of each user automatically obtains the latest graph data from the cloud server and updates the locally displayed CAD graph to the same state as the cloud, realizing collaboration synchronization among multiple users and ensuring the accuracy and consistency of CAD graph cloud collaboration synchronization.
[0055] Furthermore, step S500 further includes step S510: Establish an operation rollback record of the user and store the operation rollback record as a timeline history record; step S520: When a rollback instruction from the user is received at any time node, the operation rollback record is called to reconstruct the CAD graph.
[0056] Preferably, each operation performed by each user on the graphics is monitored and recorded in real time, including but not limited to the creation, deletion, movement, modification of attributes (such as color, size, etc.) of primitives, adjustment of layers, editing of blocks, etc., and an operation rollback record is generated based on these operation records, including the operation time, the operation object (the unique identifier of the rectangular primitive), the state before the operation (the original size, etc.) and the state after the operation (the stretched size, etc.), and it is stored in chronological order as a timeline history record, which is used to clearly show the evolution of the CAD graphics over time, and then it can be intuitively seen what operations have been performed on the graphics at different time points. If the user thinks that the current CAD graphics state is not what he wants, or finds that a previous operation has caused an error, a rollback instruction is sent. After receiving the user's rollback instruction, according to the time node specified in the instruction (or other relevant information, such as the operation sequence number, etc.), the corresponding operation rollback record is searched from the timeline history record, and finally, according to the operation rollback record found, the CAD graphics are gradually restored in the reverse order of the operation. By reconstructing the CAD graphics to the state of the user-specified time node, the user can return to a previous historical state and continue editing or viewing.
[0057] In the above, refer to Figure 1 The CAD drawing cloud collaborative synchronization method according to an 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.
[0058] The CAD drawing cloud collaborative synchronization system according to the embodiment of the present invention is used to solve 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 CAD image cloud collaborative synchronization, and achieve the technical effect of improving the accuracy and efficiency of CAD drawing cloud collaborative synchronization. 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.
[0059] A primitive identification establishment module 10 is used to decompose the CAD graphics into a primitive object tree and establish a unique identification 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 graphics are 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 an intelligent conflict fusion engine, use the unique identification 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, perform 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 graphics based on the fusion decision result to complete cloud-based collaborative synchronization.
[0060] 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 current editing state of the primitive to the collaborative user; if the collaborative user applies to intervene in the collaborative editing of the primitive, reading the collaborative position of the collaborative user; changing the primitive state to the collaborative editing state, and recording the collaborative position and timing operation to establish the primitive editing sequence.
[0061] The specific configuration of the conflict scene recognition module 30 will be described in detail below. The conflict scene recognition module 30 further includes: reading the collaborative positioning of the primitive editing sequence, using the collaborative positioning and the unique identifier to perform user collaborative editing scene recognition, and establish a first conflict scene recognition result; using the unique identifier and the primitive editing sequence to perform layer and block structure change conflict recognition, and establish a second conflict scene recognition result; using the unique identifier and the primitive editing sequence to perform structural conflict recognition of annotation association failure, and establish a third conflict scene recognition result; using the first conflict scene recognition result, the second conflict scene recognition result, and the third conflict scene recognition result to establish a conflict scene recognition result.
[0062] 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, 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, the main operation interface uses the first user's primitive editing sequence as the main operation layer, and the second user's primitive 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 primitive editing sequence as the main operation layer, and the first user's primitive 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.
[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: 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 cooperative user, and displaying the primitive editing sequences of both cooperative users in different colors in the operation layer; using the cooperative key constraint to perform conflict authentication of the primitive editing sequences of the cooperative users; and establishing a fusion decision result based on the conflict authentication result.
[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 competitive collaborative constraint, then creating sub-operation layers for competing users respectively; when all sub-operation layers are created, judging whether the collaborative constraint is a fully retained constraint; if the collaborative constraint is a fully retained constraint, then retaining all sub-operation layers to establish a fusion decision 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 preservation constraint, performing operation comparison of all sub-operation layers and establishing an operation comparison identifier; obtaining role priority authority according to the user role information, using the operation comparison identifier and the role priority authority to perform fusion decision and establish a 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 graphic creation results in the operation comparison mark are consistent, then performing editability identification of the primitive editing sequence to generate an editability identification result; and completing the fusion decision using the editability identification result and the role priority authority.
[0067] The following describes in detail the specific configuration of the cloud collaboration synchronization module 50. The cloud collaboration synchronization module 50 further includes: establishing a user's operation rollback record, 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.
[0068] The CAD drawing cloud-based collaborative synchronization system provided in the embodiment of the present invention can execute the CAD drawing cloud-based collaborative synchronization method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0069] 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.
[0070] The above specific implementations do not constitute a limitation on the protection scope of this application. It should be understood by those skilled in the art that various modifications, combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of this application should be included in the protection scope of this application.
Claims
1. CAD drawing cloud collaboration and synchronization method, characterized in that, The method includes: Decompose the CAD drawing into a primitive object tree and establish a unique identifier for each primitive; When the CAD drawing is in a collaborative editing state, enable the change tracking structure to perform operation time series log reading, and establish a primitive editing sequence based on the primitive object tree; Enable the intelligent conflict fusion engine, use the unique identifier and the primitive editing sequence to identify conflict scenarios, and establish a conflict scenario identification result; After establishing conflict localization using the conflict scenario identification result, obtain the user role information corresponding to the primitive editing sequence, and make a fusion decision based on the user role information and conflict localization to generate a fusion decision result; Update the CAD drawing based on the fusion decision result to complete cloud collaboration synchronization.
2. The CAD drawing cloud collaboration and synchronization method according to claim 1, wherein, The step of, when the CAD drawing is in a collaborative editing state, enabling the change tracking structure to perform operation time series log reading and establishing a primitive editing sequence based on the primitive object tree includes: When a primitive is edited by any user, display the current editing state of the primitive to the collaborative users; If a collaborative user applies to intervene in the collaborative editing of the primitive, read the collaborative location of the collaborative user; Change the primitive state to the collaborative editing state, record the collaborative location and time series operations, and establish a primitive editing sequence.
3. The CAD drawing cloud collaboration and synchronization method according to claim 2, wherein The step of enabling the intelligent conflict fusion engine, using the unique identifier and the primitive editing sequence to identify conflict scenarios, and establishing a conflict scenario identification result includes: Read the collaborative location of the primitive editing sequence, use the collaborative location and the unique identifier to identify the user collaborative editing scenario, and establish a first conflict scenario identification result; Use the unique identifier and the primitive editing sequence to identify the change conflicts of the layer and block structure, and establish a second conflict scenario identification result; Use the unique identifier and the primitive editing sequence to identify the structural conflicts of annotation association failure, and establish a third conflict scenario identification result; Establish a conflict scenario identification result using the first conflict scenario identification result, the second conflict scenario identification result, and the third conflict scenario identification result.
4. The CAD drawing cloud collaboration and synchronization method according to claim 3, wherein, The step of, after establishing conflict localization using the conflict scenario identification result, obtaining the user role information corresponding to the primitive editing sequence, and making a fusion decision based on the user role information and conflict localization to generate a fusion decision result includes: When the conflict scenario identification result is the first conflict scenario identification result, generate a collaborative constraint according to the collaborative location; If the collaborative constraint is an auxiliary collaborative constraint, set the first user as the main operating user and the second user as the auxiliary operating user according to the user role information; Establish a main operation interface for the first user, where the main operation layer of the main operation interface is the primitive editing sequence of the first user, the auxiliary operation layer is the primitive editing sequence of the second user, and both the main operation layer and the auxiliary operation layer are in an editable state; Establish an auxiliary operation interface for the second user, where the main operation layer of the auxiliary operation interface is the primitive editing sequence of the second user, the auxiliary operation layer is the primitive editing sequence of the first user, and the auxiliary operation layer is in an uneditable state; Generate a fusion decision result using the operation results of the main operation interface and the auxiliary operation interface.
5. The CAD drawing cloud collaboration and synchronization method according to claim 4, wherein, When the conflict scenario recognition result is the first conflict scenario recognition result, generating a collaborative constraint according to the collaborative positioning includes: If the collaborative constraint is a cooperative collaborative constraint, establish a cooperative key constraint; Display the cooperative key constraint in the operation layer of the cooperative users respectively, and display the primitive editing sequences of both cooperative users with different colors in the operation layer; Use the cooperative key constraint to authenticate the primitive editing sequence conflict of the cooperative users; Establish a fusion decision result based on the conflict authentication result.
6. The CAD drawing cloud collaboration and synchronization method according to claim 4, wherein, When the conflict scenario recognition result is the first conflict scenario recognition result, generating a collaborative constraint according to the collaborative positioning further includes: If the collaborative constraint is a competitive collaborative constraint, create sub-operation layers for the competitive users respectively; After all the sub-operation layers are created, determine whether the collaborative constraint is an all-preserved constraint; If the collaborative constraint is an all-preserved constraint, retain all the sub-operation layers to establish a fusion decision result.
7. The CAD drawing cloud collaboration and synchronization method according to claim 6, characterized in that, Determining whether the collaborative constraint is an all-preserved constraint includes: If the collaborative constraint is a competitive preservation constraint, perform an operation comparison of all the sub-operation layers and establish an operation comparison identifier; Obtain the role priority permission according to the user role information, and use the operation comparison identifier and the role priority permission to make a fusion decision and establish a fusion decision result.
8. The CAD drawing cloud collaboration and synchronization method according to claim 7, wherein, Using the operation comparison identifier and the role priority permission to make a fusion decision includes: If the graphic creation results in the operation comparison identifier are the same, perform the editable identification of the primitive editing sequence to generate an editable identification result; Use the editable identification result and the role priority permission to complete the fusion decision.
9. The CAD drawing cloud collaboration and synchronization method according to claim 1, wherein Updating the CAD graphic based on the fusion decision result to complete the cloud collaboration synchronization includes: Establish an operation rollback record of the user, and store the operation rollback record as a timeline history record; When receiving a rollback instruction from the user at any time node, call the operation rollback record to reconstruct the CAD graphic.
10. The CAD drawing cloud collaboration and synchronization system is characterized in that The system for implementing the CAD drawing cloud collaboration synchronization method according to any one of claims 1 to 9, the system includes: A primitive identification establishment module, configured to disassemble the CAD graphic into a primitive object tree and establish a unique identifier for each primitive; A primitive editing sequence establishment module, configured to enable a change tracking structure to read an operation timing log when the CAD graphic is in a collaborative editing state, and establish a primitive editing sequence based on the primitive object tree; A conflict scenario recognition module, configured to enable an intelligent conflict fusion engine, use the unique identifier and the primitive editing sequence to perform conflict scenario recognition, and establish a conflict scenario recognition result; A fusion decision result generation module, configured to establish a conflict positioning using the conflict scenario recognition result, obtain the user role information corresponding to the primitive editing sequence, and perform a fusion decision according to the user role information and the conflict positioning to generate a fusion decision result; A cloud collaboration synchronization module, configured to update the CAD graphic based on the fusion decision result to complete the cloud collaboration synchronization.
Citation Information
Patent Citations
CAD collaborative design system
CN112567373A
Collaborative drawing method, collaborative client and collaborative system based on CAD (Computer Aided Design) platform
CN114169027A
Methods and Apparatuses for Handling a Conflict in a CAD Drawing
US20100138762A1
Methods and Apparatuses for Proposing Resolutions to Conflicts in a CAD Drawing with Reflections
US20100223032A1
Concurrency control for confluent trees
US20110320496A1
Cited By
Data two-way transmission processing system and method for multi-terminal design platform
CN121326823A
Data bidirectional transmission processing system and method for multi-terminal design platform
CN121326823B