Cad drawing sharing discussion system and method, terminal, server, electronic device and storage medium

By integrating CAD drawing sharing and instant messaging modules into the terminal, it enables multiple users to operate and discuss CAD drawings synchronously in real time, solving the problem of real-time sharing and discussion that cannot be achieved in existing systems, and improving the efficiency and clarity of CAD drawing communication on mobile terminals.

CN114258530BActive Publication Date: 2026-05-08SUZHOU CAD SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUZHOU CAD SOFTWARE CO LTD
Filing Date
2020-11-27
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing CAD drawing sharing systems cannot achieve real-time interaction and synchronous operation among multiple users, especially on mobile terminals where they cannot effectively integrate instant messaging functions, resulting in the inability to share and discuss drawing changes in real time.

Method used

A CAD drawing sharing and discussion system was designed. By integrating a CAD drawing sharing module and an instant messaging module on the terminal, the system enables real-time transmission and synchronous display of drawing operation data, supports multiple users to view and operate CAD drawings simultaneously, and manages roles and configures permissions through a server.

Benefits of technology

It enables multiple users to view and operate CAD drawings in real time, improving the relevance and efficiency of communication. The display is clear and highly real-time, reducing data transmission volume and increasing data synchronization speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114258530B_ABST
    Figure CN114258530B_ABST
Patent Text Reader

Abstract

The application relates to a CAD drawing sharing and discussing system, which comprises a first terminal, one or more second terminals, a first CAD drawing sharing module and a first instant messaging module in the first terminal, a second CAD drawing sharing module and a second instant messaging module in each of the one or more second terminals, the first CAD drawing sharing module and the second CAD drawing sharing module transmitting and sharing CAD drawings with each other, and the first instant messaging module and the second instant messaging module transmitting instant messaging information with each other. In the application, each terminal can look at the CAD drawing while instant messaging, so that each party of CAD cooperation can view the CAD drawing at any time during the communication and discussion, which is convenient and fast.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority application

[0002] This application claims priority to Chinese Invention Patent Application CN201911198351.7, "CAD Shared Drawing Operating System", filed on November 29, 2019, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This invention relates to the fields of Computer Aided Design (CAD) and mobile Internet, and in particular to an operating system that combines real-time sharing of CAD drawings with instant messaging and discussion functions. Background Technology

[0004] CAD technology has been widely applied in various fields of engineering design. With the rapid development and popularization of communication technology and mobile Internet technology, CAD-related work can not only be completed on terminals, but some CAD-related work can also be completed on mobile terminals (such as smartphones, tablets, laptops, in-vehicle computers, etc.). Therefore, the market demand potential for exchanging CAD drawings through mobile terminals is huge.

[0005] However, such products are still in their early stages - most mobile CAD viewing products are limited to simply viewing or editing drawings. Products for real-time interaction of CAD drawings There are very few, especially a lack, solutions that can efficiently combine instant messaging (IM) with CAD drawing sharing. Existing products mainly fall into two categories:

[0006] The first type is chat-based tools, which only allow discussion via sending screenshots or videos of drawings, or leaving comments on CAD drawings uploaded to a server or cloud. In this approach, when one user modifies or performs other operations on the drawing, other users participating in the discussion cannot know in real time what modifications or operations were made; that is, real-time sharing of CAD drawings is not possible.

[0007] The second category consists of tools primarily for viewing drawings, which cannot effectively achieve real-time sharing of CAD drawings in situations involving multiple people discussing the topic.

[0008] As can be seen from the above, it is currently impossible to achieve real-time sharing of CAD drawings while simultaneously enabling real-time discussions among multiple users. Summary of the Invention

[0009] The purpose of this invention is to provide a novel CAD drawing sharing and discussion system that overcomes or alleviates, to some extent, the shortcomings of existing CAD collaborative systems, such as the lack of real-time interaction.

[0010] To achieve the above objectives, this invention discloses a CAD drawing sharing and discussion system, comprising: a first terminal and one or more second terminals; the first terminal and the one or more second terminals are in data communication; the first terminal includes a first CAD drawing sharing module and a first instant messaging module locally; each of the one or more second terminals includes a second CAD drawing sharing module and a second instant messaging module locally; the first CAD drawing sharing module and the second CAD drawing sharing module mutually transmit and share CAD drawings; the first instant messaging module and the second instant messaging module mutually transmit communication information; the first CAD drawing sharing module displays and operates on a first shared CAD drawing stored on the first terminal, and transmits the generated operation data to the second CAD drawing sharing module; the second CAD drawing sharing module displays a second shared CAD drawing stored on the one or more second terminals, receives the operation data, and performs the same synchronous operation on the second shared CAD drawing as the first CAD drawing sharing module based on the operation data.

[0011] Furthermore, the content of the first shared CAD drawing is the same as that of the second shared CAD drawing.

[0012] Furthermore, the operations performed on the first shared CAD drawing include: (i) adding, deleting, modifying and / or filtering annotations on the first shared CAD drawing; and / or, (ii) moving a laser pointer on the first shared CAD drawing; and / or, (iii) panning, zooming in and / or zooming out of the first shared CAD drawing.

[0013] Furthermore, the first CAD drawing sharing module and the first instant messaging module are simultaneously displayed on the first terminal interface.

[0014] Furthermore, the second CAD drawing sharing module and the second instant messaging module are simultaneously displayed on the second terminal interface.

[0015] Furthermore, the communication information includes drawings, text, voice, images, and / or video.

[0016] Furthermore, the CAD drawing sharing and discussion system of the present invention also includes one or more third terminals, each of which includes a third instant messaging module locally, and transmits communication information with the first instant messaging module and the second instant messaging module.

[0017] Furthermore, the third terminal can change its role to become the second terminal.

[0018] Furthermore, the first terminal and the second terminal can interchange roles.

[0019] Furthermore, the second CAD drawing sharing module chooses to stop performing the same synchronization operation as the first CAD drawing sharing module.

[0020] This invention discloses a proactive terminal for sharing and discussing CAD drawings. The proactive terminal includes a proactive CAD drawing sharing module and a proactive instant messaging module. The proactive CAD drawing sharing module transmits and shares CAD drawings with the passive CAD drawing sharing modules of one or more slave terminals. The proactive instant messaging module transmits communication information with the passive instant messaging modules of the one or more slave terminals. The proactive CAD drawing sharing module displays and operates the shared CAD drawings stored on the proactive terminal, and transmits the generated operation data to the second CAD drawing sharing module.

[0021] Furthermore, the operations performed on the shared CAD drawing include (i) adding, deleting, modifying, and / or filtering annotations on the first shared CAD drawing; and / or (ii) moving a laser pointer on the first shared CAD drawing; and / or (iii) moving, zooming in, and / or zooming out of the first shared CAD drawing.

[0022] Furthermore, the active CAD drawing sharing module and the active instant messaging module are simultaneously displayed on the active terminal display interface.

[0023] Furthermore, the communication information includes drawings, text, voice, images, and / or video.

[0024] Furthermore, the active instant messaging module transmits communication information with the autonomous instant messaging modules of one or more autonomous terminals.

[0025] Furthermore, the active terminal can interchange roles with one of the passive terminals.

[0026] This invention also discloses a CAD drawing sharing and discussion slave terminal, wherein the slave terminal includes a slave CAD drawing sharing module and a slave instant messaging module locally; the slave CAD drawing sharing module transmits and shares CAD drawings with the active CAD drawing sharing module of the active terminal; the slave instant messaging module transmits communication information with the active instant messaging module of the active terminal; the slave CAD drawing sharing module displays the shared CAD drawings stored on the slave terminal, receives operation data from the active terminal, and performs the same synchronization operation on the slave CAD drawing sharing module as the active CAD drawing sharing module according to the operation data.

[0027] Furthermore, the operations corresponding to the operation data include: adding, deleting, modifying and / or filtering annotations on the shared CAD drawing; and / or moving the laser pointer on the shared CAD drawing; and / or moving, zooming in and / or zooming out of the shared CAD drawing.

[0028] Furthermore, the slave CAD drawing sharing module and the slave instant messaging module are simultaneously displayed on the slave terminal display interface.

[0029] Furthermore, the communication information includes drawings, text, voice, images, and / or video.

[0030] Furthermore, the slave terminal can switch roles with the active terminal.

[0031] Furthermore, the passive CAD drawing sharing module chooses to stop performing the same synchronization operation as the active CAD drawing sharing module, thus becoming an autonomous terminal.

[0032] Furthermore, the autonomous terminal selects to transmit and share CAD drawings with the active CAD drawing sharing module, thus becoming the slave terminal.

[0033] Furthermore, the autonomous terminal transmits communication information with the active terminal and the slave terminal through their respective instant messaging modules.

[0034] The present invention also discloses a CAD drawing sharing server, wherein the sharing server is in data communication with an active terminal and one or more slave terminals respectively, and sends and receives shared CAD drawings to the active terminal and the one or more slave terminals; the sharing server receives operation data on the shared CAD drawings from the active CAD drawing sharing module of the active terminal, and transmits the operation data to the slave CAD drawing sharing module of the one or more slave terminals.

[0035] Furthermore, the operations corresponding to the operation data include: adding, deleting, modifying and / or filtering annotations on the shared CAD drawing; and / or moving the laser pointer on the shared CAD drawing; and / or moving, zooming in and / or zooming out of the shared CAD drawing.

[0036] This invention also discloses another discussion system based on shared CAD drawings, comprising: a server, and at least two clients connected to the server via the Internet / Internet of Things for data communication with the server; wherein, each client includes: a shared CAD drawing module, used to respond to real-time operations performed by a corresponding user on a currently shared local CAD drawing, obtain corresponding operation data, and send the operation data to the server in real time; the server includes: a data synchronization module, used to receive the operation data sent in real time by the clients, and synchronize the operation data to all other clients in real time, so that each other client can perform synchronization processing on the currently shared local CAD drawing according to the operation data.

[0037] Furthermore, the client also includes an instant messaging module, used to respond to the communication operation of the corresponding user, obtain the communication information input by the user, and send it to the server in real time; correspondingly, the server also includes an instant response module, used to receive the communication information sent by the client, and send the communication information to all other clients connected to the server in real time.

[0038] Furthermore, the server also includes a role / permission management module, used to manage the roles of at least one client connected to the server, and to configure the permissions of each role to perform real-time operations on the currently shared local CAD drawings.

[0039] Specifically, the role / permission management module is used to configure the first client connected to the server as an active client with real-time operation permissions on the locally shared CAD drawings, and to configure all other clients that subsequently connect to the server as passive clients.

[0040] The real-time operations include: (i) adding, deleting, modifying and / or filtering annotations on the currently shared local CAD drawings; (ii) panning, zooming in and / or zooming out on the currently shared local CAD drawings; and (iii) turning the cursor on / off / moving on the operation object.

[0041] The communication information includes: drawing data, text data, voice data, image data and / or video data.

[0042] Furthermore, the client also includes: a first request module, configured to generate and send a role switching request to the server in response to a role switching operation initiated by the corresponding user; the role switching request includes identification information of the target client as the new active client; correspondingly, the role / permission management module is configured to send a role switching control instruction to the target client in response to the role switching request, and to perform a role switching based on the role switching response message fed back by the target client; wherein, the role switching response message includes an instruction indicating acceptance / rejection of the role switching.

[0043] Furthermore, the client also includes: a second request module, configured to generate and send a drawing switch request to the server in response to a drawing switch operation triggered by a corresponding user, indicating a request to switch the currently shared local CAD drawing; wherein the drawing switch request includes identification information of the target drawing as the new shared drawing; correspondingly, the server also includes: a drawing switch module, configured to switch drawings for all clients in response to the drawing switch request, based on the identification information of the target CAD drawing.

[0044] Furthermore, the client also includes: a third request module, used to generate a disconnect request indicating participation in the sharing discussion in response to a disconnect operation triggered by the corresponding user, and send it to the server; correspondingly, the role / permission management module is also used to configure the client that initiated the disconnect request as an autonomous client in response to the disconnect request.

[0045] This invention also discloses a method for real-time sharing and discussion of CAD drawings, which includes the following steps:

[0046] The server receives operation data and / or communication information sent by the client, and synchronizes the operation data and / or communication information to at least one other client in real time;

[0047] The operation data is generated and sent to the server when the client user performs real-time operations on the currently shared local CAD drawings;

[0048] The communication information is obtained by the client when the corresponding user performs a communication operation and is then sent to the server.

[0049] Before the server receives the operation data and / or communication information sent by the client, the process further includes the following steps: the server pre-assigns roles to all clients connected to the server, and configures permissions for each role to perform real-time operations on the currently shared local CAD drawings.

[0050] The steps of assigning roles and / or configuring permissions on the server side specifically include: configuring the first client connected to the server as an active client with real-time operation permissions on the locally shared CAD drawings, and configuring all other clients connected to the server as passive clients.

[0051] The communication information includes: drawing data, text data, voice data, image data and / or video data.

[0052] The real-time operations include: (i) adding, deleting, modifying and / or filtering annotations on the local shared CAD drawing; (ii) panning, zooming in and / or zooming out on the local shared CAD drawing; and (iii) turning the cursor on / off / moving on the operation object.

[0053] Furthermore, the shared discussion method further includes the following steps: in response to a role switching request sent by any of the clients, the server sends a role switching control instruction to the target client based on the target client identifier information in the role switching request, and performs a role switch based on the role switching response message returned by the target client; wherein, the role switching request is generated and sent to the server by the client in response to the corresponding user triggering a role switching operation; the role switching response message is input by the target client in response to the corresponding user responding to the role switching control instruction, and includes an instruction indicating acceptance / rejection of the role switch.

[0054] Furthermore, the shared discussion method further includes the step of: the server responding to a drawing switching request sent by any of the clients by switching the drawing according to the target drawing's identifier information in the drawing switching request; wherein, the drawing switching request is generated by the client in response to a drawing switching operation triggered by the user and sent to the server.

[0055] Furthermore, the shared discussion system further includes the step of: the server, in response to a disconnect request sent by any of the clients indicating a withdrawal from the shared discussion, configuring the client as an autonomous client; wherein the disconnect request is generated and sent to the server by the client in response to a disconnect sharing operation triggered by the corresponding user.

[0056] The present invention also provides another method for real-time sharing and discussion of CAD drawings, comprising the steps of: a client pre-configured as an active end responding to a real-time operation by a corresponding user on a currently shared local CAD drawing, generating corresponding operation data, and sending it to the server, so that the server synchronizes the operation data to at least one client pre-configured as a passive end in real time; and / or, a client pre-configured as an active end responding to a communication operation by a corresponding user, obtaining communication information input by the user, and sending it to the server, so that the server forwards the communication information to all clients pre-configured as passive ends in real time.

[0057] The present invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods discussed above.

[0058] Technical problems solved and technical advantages of this invention

[0059] In this invention, each terminal (including active and passive terminals) can view drawings while simultaneously engaging in real-time communication. This allows all parties involved in CAD collaborative work to conveniently and quickly view CAD drawings during discussions and exchanges.

[0060] Multiple users (including active and passive terminals) can simultaneously view a single CAD drawing and share changes made to it in real time. For example, after user A opens a drawing on their terminal (active terminal), users B and C can simultaneously view the same drawing on their respective terminals (passive terminals). When user A zooms in, zooms out, or pans the drawing, the CAD drawing on the interfaces of users B and C will also change accordingly. This makes communication between terminals more targeted, clearer, more explicit, and more efficient. In particular, compared with technical solutions that rely on web browsers for drawing sharing, this invention uses a local CAD drawing sharing module to receive operation data, synchronously display operations based on the operation data, and has stronger processing and computing capabilities.

[0061] Regarding CAD drawing sharing, the terminals of this invention display locally cached CAD drawings in a vectorized graphical format (rather than using raster images or displaying CAD drawings via video). Therefore, in this invention, users on each terminal see vectorized CAD graphics, which are clearly displayed and meet the requirements of engineering drawings.

[0062] Furthermore, changes and operations on the CAD drawing (i.e., real-time operations, such as adding annotations, moving the laser pointer, and zooming in, out, and panning the CAD drawing viewport) are transmitted via parameters, enabling the CAD drawing on the slave terminal to be synchronously displayed with the operations on the CAD drawing on the active terminal. Therefore, in this invention, what is transmitted in real-time over the network is neither screenshots and / or video data, nor the entire CAD drawing, but rather operation data. This results in fast synchronization of the CAD drawing across various terminals during real-time discussions. In other words, only the operation data on the CAD drawing needs to be synchronized, without synchronizing the CAD drawing itself. This significantly reduces the amount of data transmitted, thereby improving data synchronization speed and real-time performance. Attached Figure Description

[0063] Figure 1 This is a schematic diagram of an embodiment of the CAD drawing sharing module of the shared drawing system of the present invention;

[0064] Figure 2 This is an example of an operation page diagram of the shared image chat system of the present invention;

[0065] Figure 3 This is a schematic diagram of an embodiment of the shared image chat system of the present invention;

[0066] Figure 4 This is a schematic diagram of a terminal module in an embodiment of the shared image chat system of the present invention;

[0067] Figure 5 This is a schematic diagram of a terminal module in an embodiment of the shared image chat system of the present invention;

[0068] Figure 6 This is a flowchart illustrating an embodiment of the CAD drawing sharing and real-time discussion method of the present invention;

[0069] Figure 7 This is a flowchart illustrating another embodiment of the CAD drawing sharing and instant discussion method of the present invention. Detailed Implementation

[0070] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0071] It should be noted that all directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present invention are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indication will also change accordingly.

[0072] Furthermore, in this invention, descriptions involving "first," "second," etc., are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated (for example, in this invention, describing a terminal as a "first terminal" or a "second terminal" is merely to distinguish the different roles and permissions played by each terminal. For example, in some embodiments, the software systems of the first terminal and the second terminal are identical, only differing in the permissions they possess when playing different roles). Therefore, a feature defined with "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0073] In this application, "operating system" refers to a system that enables multiple users to participate in real-time discussions and share CAD drawings in real time; it is also called a "CAD drawing sharing and discussion system," a "shared drawing chat system," or a "discussion system based on shared CAD drawings." Specifically, the system consists of multiple parts. For example, the operating system includes a first terminal and at least one second terminal, where the first terminal acts as the active terminal, and the second terminal acts as the passive terminal. Of course, the roles of the first terminal and any second terminal can be interchanged; that is, the first terminal can change from an active terminal to a passive terminal, and any second terminal can change from a passive terminal to an active terminal. The operating system may also include an independent sharing server for configuring role management (such as role assignment and role switching) and corresponding permissions (such as real-time operation permissions on locally shared CAD drawings, permissions to initiate drawing switching requests, and permissions to initiate role switching requests) between the first terminal and the second terminal. For example, in response to a role switching request initiated by any second terminal indicating that it is to become the active terminal (i.e., the target terminal), the second terminal is switched to the active terminal, while the role of the first terminal, which was originally the active terminal, is switched to the second terminal. Of course, the shared server can also be the first terminal or the second terminal, as long as it has server functionality. For example, the operating system includes: a server, and at least two clients communicating with the server (specifically, these clients can connect to the server via the Internet / Internet of Things). Any client can share CAD drawings and communicate instantly with other clients through the server, and the server can be any electronic device with server functionality, such as a user's mobile terminal or computer.

[0074] In this application document, "real-time" refers to the absence of significant time delay. However, in this paper, "real-time sharing" refers to the simultaneous appearance of the results of user A's actions on the shared CAD drawing (such as adding or modifying annotations, or zooming in / out) on their respective terminals / clients. This is also known as "real-time synchronization." Correspondingly, user A's actions on the shared drawing (such as adding or modifying annotations) are also referred to as "real-time operations."

[0075] In this application, "instantaneous" refers to outputting a result associated with an input value within a very short time. However, in this document, "instant messaging" refers to the ability of multiple users participating in a discussion to receive information input by each user through their respective user terminals / clients within a short time or immediately. For example, when user A inputs a communication message (such as text) in the instant messaging area of ​​the corresponding terminal / client's display interface and clicks send, the terminals / clients of other users B, C, and D participating in the discussion will receive the communication message input by user A within a short time or immediately. Similarly, when user B sends the input communication message through their corresponding terminal / client, the terminals / clients of users A, C, and D will also receive the communication message input by user B within a short time or immediately.

[0076] In this application, (x1,y1), (x2,y2), (x3,y3), (x4,y4), and (x0,y0) all represent virtual coordinate points, such as the coordinates of two corner points of the viewport corresponding to a CAD drawing in the CAD drawing display area of ​​the terminal, or the coordinates of a laser pointer in the CAD drawing display area.

[0077] In this application, "vector graphics" refers to a form of graphic data that describes the geometric characteristics of a graphic or graphic image area using specific graphic types (such as points, lines, circles, cones, etc.) and drawing parameters (such as coordinates, line widths, color values, etc.), or a composite vector graphics composed of multiple single vector graphics.

[0078] In this application, "role" refers to the role played by a terminal in the system of this invention, such as an active terminal, a passive terminal, or a free terminal; or an active end, a passive end, or an autonomous end. The allocation of roles and the real-time operation permissions of each role on shared CAD drawings can be managed by the server or the sharing server, or of course, by the active terminal. For example, only the active terminal, or the client corresponding to the active end, can perform corresponding real-time operations on the local shared CAD drawings, such as adding, deleting, or modifying annotations; or, the client corresponding to the autonomous terminal / autonomous end can perform corresponding real-time operations on the currently displayed local CAD drawings (which can be the currently shared local CAD drawings, another CAD drawing pre-stored locally, or another newly downloaded CAD drawing), but these real-time operations will not be synchronized to the active terminal / active end client and the passive terminal / passive end client. Correspondingly, the real-time operations performed by the active terminal / active end client on the currently shared local CAD drawings will not be synchronized to the autonomous terminal / autonomous end client. Of course, the active terminal, passive terminal, and autonomous terminal can also initiate corresponding role switching requests or role switching operations.

[0079] In this application document, "laser pointer" refers to a movable icon that floats above CAD drawings in a CAD viewing system. It is primarily used to indicate specific locations and entities within CAD drawings during the exchange of CAD drawings, and can also be referred to as a "pointer," "laser pointer," or "object-picking cursor." Of course, this "object-picking cursor" may not necessarily use a laser pointer; other methods, such as a virtual mouse, can also be used.

[0080] Example 1: Shared Chat Image Operating System

[0081] This application discloses a shared drawing and communication operating system, which includes an instant messaging module (instant messaging communication methods include drawings, text, voice, pictures, and videos, etc.) and a CAD drawing sharing module.

[0082] The shared chat image operating system of this application can run on PC platforms and / or mobile communication device platforms.

[0083] This invention provides an operating system for multiple users to conduct instant messaging and synchronous sharing and discussion of CAD drawings simultaneously. It can enable one terminal to operate (i.e., "active terminal" or "operation terminal" 100), while other connected terminals (i.e., "slave terminal" or "display terminal" 102) synchronously display the changes of CAD drawings on the active terminal or operation terminal 100 in real time.

[0084] In some embodiments, during a multi-user shared image chat, the target file (e.g., a CAD drawing) to be discussed is first uploaded to server 104. The first user terminal to enter the shared image chat discussion meeting is designated as the active terminal 100 (i.e., the first user terminal to connect to server 104 is configured as the active terminal 100 by default). Active terminal 100 downloads the target file from server 104, and server 104 identifies and records the target file downloaded by the active terminal. Subsequently, one or more terminals entering the discussion meeting are automatically identified as slave terminals 102 (e.g., after the first user terminal connects to server 104, all user terminals connecting to server 104 are configured as slave terminals 102 by server 104). When slave terminal 102 enters the meeting, server 104 sends a file download request to slave terminal 102 (e.g., via push notification) or provides a file download link, guiding slave terminal user 102 to download the same target file downloaded by active terminal 100 from server 104 (this target file has already been identified and recorded by server 104).

[0085] Of course, in other embodiments, when multiple users share pictures, they can communicate via a local area network, Bluetooth, or radio frequency instead of server 104. One user terminal can actively apply, or be nominated by the group, to become the active terminal 100, while the other user terminals (such as the second terminal) automatically become the passive terminals 102. The active terminal 100 can also have server functionality, or simultaneously act as a server.

[0086] Of course, in other embodiments, the target file to be discussed may come from the active terminal 100, which first uploads the target file to the shared server 104 for download by each slave terminal participating in the meeting. Alternatively, during the discussion, any user terminal, such as the active terminal 100, may upload the file to the server in real time.

[0087] In other embodiments, the active terminal 100 may not be set by joining order, but rather by selecting one terminal from among the multiple terminals joining the discussion as the active terminal 100. For example, the server 104 may randomly select a user terminal (such as the first terminal) and configure it as the active terminal 100, or a user may actively initiate a request to become the active terminal 100 through their corresponding user terminal (such as the second terminal), and then the server 104 may configure that user terminal as the active terminal 100. In addition, in this invention, the roles of each terminal are not fixed. The permissions of the active terminal 100 may also be transferred to the slave terminal 102 (i.e., the roles of the active terminal and the slave terminal are interchanged, such as one of the slave terminals initiating a role switch request to the server 104 or the active terminal 100). The slave terminal 102 may also choose to become an autonomous terminal 105, i.e., a third terminal, without being controlled by the active terminal 100.

[0088] Once terminals 100 and 102 have acquired the target file to be discussed, they each store the target file locally on their respective terminals and open it through their CAD drawing sharing modules (such as the active CAD drawing sharing module of the active terminal and the passive CAD drawing module of the passive terminal). Each terminal will then enter the following... Figure 2 The page shown (or the current display interface) includes a CAD drawing display area and an instant messaging area. These two areas can be distributed vertically or horizontally on the terminal display interface, or they can be distributed in an overlapping manner on the terminal display interface (for example, the instant messaging area floats on the CAD drawing display area).

[0089] Specifically, attached Figure 2Terminal A (i.e., the first terminal) is the active terminal 100, and terminals B, C, and D (i.e., the second terminals) are the passive terminals 102. Both the active terminal 100 and the passive terminals 102 can communicate with each other through instant messaging areas. Communication methods include drawings, text, voice, images, and / or video (e.g., the active instant messaging module of the active terminal 100, i.e., the first instant messaging module of the first terminal, obtains communication information entered by the user in the corresponding instant messaging area and sends it to the server 104 via the Internet. The server 104 then instantly synchronizes this communication information to the passive instant messaging module of the passive terminal 102, i.e., the second instant messaging module of the second terminal). The active terminal 100 operates on the opened CAD drawing in the CAD drawing display area 132a. The passive terminal 102 obtains the operation parameters from the active terminal 100 through the server 104 and performs operations adapted to its own device based on these parameters. In some embodiments, the instant messaging modules of each terminal transmit information through a server (for example, chat messages sent by terminal A via its instant messaging module are first uploaded to the communication server and then sent to the instant messaging modules of terminals B, C, and D). In some embodiments, the operation parameters for CAD drawings described above are also transmitted between terminals through a server. Please note that the same server or different servers can be used to transmit communication information and operation parameters.

[0090] In other embodiments, a separate server 104 may not be required between the active terminal 100 and the passive terminal 102. Instead, the active terminal 100's active instant messaging module can directly send the acquired communication information to the passive terminal 102's passive instant messaging module, such as via Bluetooth, radio frequency, infrared, or a local area network. Alternatively, any user terminal with server functionality can simultaneously act as the server, thereby achieving real-time synchronization of operation data. For example, the passive terminal 102 can also directly receive operation parameters sent by the active terminal 100 via Bluetooth, radio frequency, or infrared, or operation parameters sent by a user terminal that simultaneously acts as a server (which could be the active terminal or any passive terminal, configurable according to actual needs).

[0091] In some embodiments, the slave terminal 102 can synchronize annotations with the active terminal 100. Specifically, the active terminal 100 makes annotations and explanations (i.e. adds annotation data) on a certain part of the CAD drawing in the CAD drawing display area. The content of the annotation data may include text, leader lines, hand-drawn lines, voice and pictures, etc. (136a, 138a).

[0092] These annotation data are stored separately from the source data of the CAD drawings. Server 104 receives the annotation data from active terminal 100 and then transmits the annotation data to slave terminal 102 in real time. Slave terminal 102 then performs synchronous processing on its local CAD drawings based on the received annotation data (i.e., adds annotation data 136b and 138b). Similarly, when the annotations on active terminal 100 change (create, modify, delete, etc.), slave terminal 102 also receives these changed annotation data in real time (via the server) and makes synchronous changes to the annotations according to the changed annotation data.

[0093] By implementing synchronized annotation display, users on various terminals can not only clearly see which point and / or entity the discussion on the CAD drawing is specifically addressing, but also immediately see the actual content of the annotation (e.g., text, leader lines, hand-drawn lines, voice, and images), thereby gaining a more accurate understanding of the discussion and improving its efficiency.

[0094] In addition, when the slave terminal implements synchronous display of annotations according to the above technical solution, whether it is adding annotation data or creating or modifying annotations, it is a localized operation performed by the slave terminal in the local software and hardware environment based on the received operation data.

[0095] In some embodiments, the active terminal 100 and the passive terminal 102 can achieve viewpoint synchronization. Specifically, when the active terminal 100 performs operations such as zooming in, zooming out, or panning the viewpoint of the CAD drawing, these operations are actually changes in the two corner points of the viewpoint, i.e., operations on the viewpoint. When the active terminal 100 zooms in, zooms out, or pans the CAD drawing in the display area, the initial corner point positions change. The new corner point coordinates are transmitted to the passive terminal 102 through the server 104. After receiving the new coordinates, the passive terminal 102 automatically adjusts its viewpoint to the new coordinates, achieving viewpoint synchronization. For example, if the initial coordinates of the two corner points of the active terminal 100 are (x1, y1) and (x2, y2), after viewpoint operations, the corner point coordinates change to (x3, y3) and (x4, y4). After receiving the new coordinates, the server 104 transmits them to other passive terminals 102. After receiving the new coordinates, the other passive terminals 102 automatically adjust their viewpoints to (x3, y3) and (x4, y4). In this way, the viewport of the slave terminal 102 can be kept synchronized with that of the active terminal 100.

[0096] One reason this invention achieves fast and smooth viewport synchronization is that each terminal displays CAD vector drawing source data cached locally on the terminal, rather than images and videos transmitted during video conferencing or screen sharing (e.g., QQ screen sharing). Specifically, each terminal (including active and passive terminals) calls the same CAD drawing on server 104. To improve performance, this CAD drawing is actually downloaded to the local cache, and each terminal opens the locally cached CAD drawing. Therefore, in this invention, the local CAD drawing can be opened on each terminal according to its actual conditions (hardware and software configuration), and the changes / operations can be synchronously displayed on the local CAD drawing by receiving change / operation data from the active terminal. In other words, when the passive terminal achieves viewport synchronization display according to the above technical solution, both viewport panning and viewport zooming are localized operations performed by the passive terminal in its local hardware and software environment based on the received operation data.

[0097] In some embodiments, the active terminal 100 and the slave terminal 102 synchronize the laser pointer 140a. Specifically, the active terminal 100 activates the laser pointer 140a for CAD drawing position indication. The system displays the laser pointer 140a at the default initial position (x0, y0) on the CAD drawing in the CAD drawing display area, and simultaneously transmits (x0, y0) to each slave terminal 102 through the server 104. Each slave terminal 102 also displays the laser pointer 140b at (x0, y0) in the CAD drawing display area. At this point, the active terminal 100 picks up the laser pointer 140a and drags it, changing the position of the laser pointer 140a to (x1, y1). The new position laser pointer data (x1, y1) is transmitted in real time to the passive terminal 102 via the server 104. The passive terminal 102 then moves the laser pointer 140b from (x0, y0) to (x1, y1), thus maintaining synchronization of the laser pointer 140 on the display interfaces of the active terminal 100 and the passive terminal 102. Furthermore, when the passive terminal implements synchronized laser pointer display according to the above technical solution, both the display and movement of the laser pointer are localized operations performed by the passive terminal in its local hardware and software environment based on the received operation data.

[0098] In some embodiments, the first user to join the discussion meeting is designated as the active terminal 100, and subsequent users are designated as passive terminals 102. In some embodiments, the active terminal 100 selects a new active terminal from the list of members joining the shared chat diagram using the "Change Host" function in the shared chat diagram system of this invention, i.e., switching roles. Of course, passive terminals can also proactively initiate a role switching request to apply to become an active terminal. After the active terminal's permissions are transferred, the CAD drawing will not change. After the transfer, the new active terminal can perform the aforementioned operations (e.g., annotate the CAD drawing; zoom in, zoom out, and pan the CAD drawing viewport; use a laser pointer to indicate a position on the CAD drawing), and can also use the "View other drawings in the group" function to change the CAD drawing.

[0099] In some embodiments, the slave terminal 102 chooses to disconnect from the CAD drawing sharing with the active terminal 100 (i.e., transitioning from "drawing sharing state" to "autonomous drawing viewing state"). After disconnection, the slave terminal 102 (i.e., the autonomous terminal 105) can still use the instant messaging area (134a, 134b) displayed by the terminal's instant messaging module 200 to understand the discussion situation. However, the CAD drawings displayed in the CAD drawing display area on the autonomous terminal 105 will no longer be controlled by the active terminal 100. Therefore, it can autonomously operate on the CAD drawings on its own terminal, and even change the CAD drawings displayed on its own terminal. In other words, the slave terminal 102 will no longer be controlled by the active terminal 100 after disconnecting the drawing sharing module 204. In some application scenarios, such functionality is important. Some collaborative users have obtained the information they want after participating in part of the discussion and need to quickly annotate and / or modify the local CAD drawings on their own terminals. This invention allows CAD users of slave terminals to choose to exit the discussion (i.e., choose not to synchronize and share CAD drawings with the active terminal) without affecting other slave terminals. Furthermore, because in this invention, the CAD drawing actually opened on the slave terminal 102 is a locally cached drawing, and the displayed CAD drawing is shown according to the local conditions of the slave terminal 102, the interface of the CAD drawing display area will not jump significantly when the slave terminal switches from shared viewing mode to autonomous viewing mode, achieving a smooth and continuous transition. In other words, the viewport of the CAD drawing will not change due to the mode switch, resulting in a better user experience.

[0100] Once a discussion of a CAD drawing is complete, the active terminal 100 can choose to switch to another CAD drawing to continue the discussion, or choose to end the current discussion meeting. Annotations added to the CAD drawing during the discussion can be saved either in the source data of the CAD drawing or stored separately from it (but still linked, so that all annotations will be displayed on the CAD drawing when viewed again). The source data of the CAD drawing can be saved on the server 104 or stored locally on each terminal for future discussion or viewing.

[0101] In the shared drawing system of this invention, all operations performed by the active terminal 100 in the CAD drawing display area 132a are converted into operation commands / operation data by the server 104 and sent to the slave terminal 102, thereby synchronizing the content displayed in the CAD drawing display area 132b of the slave terminal 102 with that of the active terminal 132a. Alternatively, the active terminal 100 can directly send commands to other slave terminals 100 via Bluetooth, radio frequency, or local area network communication methods, or any user terminal acting as a server (which could be the active terminal 100 or any slave terminal 102) can send commands to other slave terminals 102. Because only operation commands are transmitted between the active terminal 100 and the slave terminal 102, the amount of data to be transmitted is effectively controlled, thereby reducing the network burden and preventing delays or stuttering in the display of CAD drawings in the CAD drawing display area 132b of the slave terminal 102 during the meeting discussion due to high network load.

[0102] Example 2: Shared Chat Image Operation Method

[0103] This invention also provides a method for multiple people to simultaneously conduct instant messaging and synchronously share and discuss CAD drawings. This method enables one terminal to operate (i.e., the "active terminal" or "operating terminal"), while other connected terminals (i.e., "slave terminals") synchronously display changes to the CAD drawings on the operating terminal in real time. This solves the technical problems of inconvenient communication and inability to conduct real-time synchronous discussion and explanation when multiple people are collaboratively drawing CAD drawings. In some embodiments, the method may include the following steps:

[0104] Step 1: Upload the CAD drawings to be discussed to server 104. Set the first user terminal to join the shared drawing chat system meeting as the active terminal 100. Then, send a request to the active terminal 100 to guide it to download the CAD drawings to be discussed from server 104. For example, send a reminder message to the active terminal 100 containing information about multiple CAD drawings to be discussed (e.g., a list of drawings to be discussed), and then the active terminal selects one as the target file for download. In some embodiments, the CAD drawings to be discussed are initially stored locally on the active terminal 100. In this case, the user of the active terminal 100 uploads the CAD drawings to be discussed to server 104 for download by the slave terminal 102 in subsequent steps.

[0105] Step 2: Server 104 identifies the CAD file downloaded from active terminal 100 and annotates and records it. Other terminals that subsequently join the meeting are defaulted to slave terminals. The server sends download requests to the slave terminals, which then download the same CAD drawing file as the active terminal (i.e., the currently shared local CAD drawing).

[0106] Step 3: The active terminal 100 and the passive terminal 102 respectively open the source data of the CAD drawing file stored locally, thereby starting the CAD drawing sharing module 204 and displaying the CAD drawing display area (132a, 132b) on the terminal interface; at the same time, the terminal starts the instant messaging module 200 and displays the instant messaging area (134a, 134b) on the terminal interface, realizing the function of browsing drawings and exchanging information on each terminal at the same time.

[0107] Step 4: The active terminal 100 performs operations on the CAD drawings in the CAD drawing display area (132a, 132b), such as adding annotations, adjusting the viewport, and moving the laser pointer. The passive terminal 102 obtains the operation parameters of the active terminal 100 through the server 104, and then makes corresponding changes according to the operation parameters and the configuration conditions of the local device, and performs synchronous operations on the locally cached CAD drawings of the passive terminal 102.

[0108] Furthermore, in order to achieve multi-person interaction more efficiently, the active terminal 100 and the passive terminal 102 in this system can be PCs or various types of mobile terminals (smartphones, tablets, laptops, in-vehicle computers, etc.).

[0109] Furthermore, during the discussion, the active terminal 100 and the passive terminal 102 are switched. The active terminal 100 can select a new host from the list of members entering the current shared diagram meeting using the "Change Host" function in the shared diagram system. After the active terminal's permissions are transferred, the CAD drawings displayed on each terminal will not change (because they are stored locally), so there will be no issues such as interface jumping or unsmooth switching between terminals. After the transfer is completed, the new active terminal can perform the aforementioned operations on the CAD drawings in the CAD drawing display area 132a, such as adding annotations, adjusting the viewport, and moving the laser pointer. It can also use the function of viewing other drawings in the group to change the CAD drawings.

[0110] Furthermore, during the discussion, the CAD drawing sharing module 204 between some slave terminals 102 and the active terminal 100 is disconnected, transforming them into autonomous terminals 105. However, autonomous terminals 105 can continue to use the instant messaging module 200. These disconnected slave terminals 102 will no longer synchronize their operations on the CAD drawings with the active terminal 100. Users disconnected from slave terminals 102 can independently operate on their local CAD drawings, and can even switch to other CAD drawings, while still being able to see the ongoing discussion in the instant messaging areas (134a, 134b). In some application scenarios, this functionality is important. Some collaborative users, after participating in part of the discussion, have obtained the information they want and need to quickly annotate and / or modify their local CAD drawings on their own terminals. This invention allows CAD users of slave terminals to choose to exit the discussion (i.e., choose not to synchronize with the active terminal) without affecting other slave terminals.

[0111] In some embodiments, the autonomous terminal 105 may reconnect to the active terminal in subsequent operations and become a slave terminal 102 again, or it may gain control from the active terminal 100, becoming a new active terminal 100, and upload the CAD drawing source data that it has modified and stored locally to the server, and then transmit it to each slave terminal, becoming a new subject of discussion.

[0112] terminal

[0113] refer to Figure 4 This is a schematic diagram of the terminal module in this embodiment. Specifically, the following describes different types of terminal embodiments one by one:

[0114] Example 3

[0115] The active terminal in this embodiment includes:

[0116] Instant messaging module 200 (or active instant messaging module) is used to store and display instant messaging data (e.g., store and display chat messages);

[0117] The control module 202, connected to the instant messaging module 200, is used to send source data and operation data, and to receive and / or send instant messaging data. In this case, the functions and permissions of the control module 202 include sending source data and operation data to other terminals, which is the function and permission of the active terminal.

[0118] The CAD drawing sharing module 204 (or active CAD drawing sharing module) is connected to the control module 202 and is used to store CAD drawing source data and display CAD drawings, as well as store operation data and display operation results.

[0119] In one specific embodiment, the CAD drawing sharing module 204 further includes:

[0120] Source data unit 206 is connected to control module 202 and is used to store CAD drawing source data;

[0121] The operation data unit 208 (also known as the "operation instruction processing module") is connected to the control module 202 and the source data unit 206. It is used to receive operations (e.g., annotations, viewport changes, laser pointers) on the active terminal CAD drawing display area, convert the operations into operation data, store the operation data, or send the operation data through the control module 202.

[0122] The display unit 210 is connected to the source data unit 206 and the operation data unit 208. It is used to extract source data from the source data unit 206 and display it, and at the same time, extract operation data from the operation data unit 208 and display the operation result.

[0123] In this embodiment, the control module 202 receives instant messaging data, then stores the instant messaging data in the instant messaging module 200, and the instant messaging module 200 displays the instant messaging data in the instant messaging area of ​​the terminal.

[0124] Instant messaging data includes drawings, text, voice, images, and / or videos.

[0125] In this embodiment, the control module 202 can also send out the instant messaging data stored and displayed by the instant messaging module 200.

[0126] In one embodiment, the source data unit 206 stores source data of CAD drawings, and the display unit 210 is connected to the source data unit 206 to display the source data on the CAD drawing display area of ​​the active terminal screen. At the same time, the control module 202 sends out the source data stored in the source data unit 206. Further, the operation data unit 208 stores operation data, and the display unit 210 displays the operation result corresponding to the operation data on the active terminal screen. At the same time, the control module 202 sends out the operation data stored in the operation data unit 208.

[0127] In one specific embodiment, the operation data has multiple types, including annotation data. The content of the annotation data may include adding and / or deleting and / or modifying text, leaders, hand-drawn lines, voice and images, etc.

[0128] Viewport data, which includes operation data corresponding to zooming in, zooming out, or panning the viewport of the CAD drawing;

[0129] Laser pointer data, which includes the initial position of the laser pointer and the movement of the laser pointer.

[0130] Example 4

[0131] The schematic diagram of the slave terminal module in this embodiment is shown below. Figure 4 Specifically, the slave terminal in this embodiment includes:

[0132] Instant messaging module 200 (or slave instant messaging module) is used to store and display instant messaging data (e.g., store and display chat messages);

[0133] Control module 202, connected to instant messaging module 200, is used to receive source data and operation data, and to receive and / or send instant messaging data. In this case, the functions and permissions of control module 202 include receiving source data and operation data from the active terminal, which is also the function and permission of the slave terminal.

[0134] The CAD drawing sharing module 204 (or the slave CAD drawing sharing module) is connected to the control module 202 and is used to store CAD drawing source data and display CAD drawings, as well as store operation data and display operation results.

[0135] In one specific embodiment, the CAD drawing sharing module 204 further includes:

[0136] Source data unit 206 is connected to control module 202 and is used to store CAD drawing source data;

[0137] The operation data unit 208 is connected to the control module 202 and the source data unit 206, and is used to store operation data;

[0138] The display unit 210 is connected to the source data unit 206 and the operation data unit 208. It is used to extract source data from the source data unit 206 and display it, and at the same time, extract operation data from the operation data unit 208 and display the corresponding operation results.

[0139] In this embodiment, the control module 202 receives instant messaging data, then stores the instant messaging data in the instant messaging module 200, and the instant messaging module 200 displays the instant messaging data in the instant messaging area of ​​the terminal.

[0140] Instant messaging data includes drawings, text, voice, images, and / or videos.

[0141] In this embodiment, the control module 202 can also send out the instant messaging data stored and displayed by the instant messaging module 200.

[0142] In one embodiment, the control module 202 receives source data from CAD drawings and stores the received source data in the source data unit 206. The display unit 210 is connected to the source data unit 206, extracts the source data received in the source data unit 202, and displays it on the CAD drawing display area of ​​the slave terminal's screen. Further, the control module 202 receives operation data and stores the received operation data in the operation data unit 208. At the same time, the display unit 210 extracts the received operation data and displays the operation result on the slave terminal's screen.

[0143] In one specific embodiment, the operation data has multiple types, including annotation data. The content of the annotation data may include adding and / or deleting and / or modifying text, leaders, hand-drawn lines, voice and images, etc.

[0144] Viewport data, which includes operation data corresponding to zooming in, zooming out, or panning the viewport of the CAD drawing;

[0145] Laser pointer data, which includes the initial position of the laser pointer and the movement of the laser pointer.

[0146] Example 5

[0147] The schematic diagram of the autonomous terminal module in this embodiment is shown below. Figure 4 Specifically, the autonomous terminal in this embodiment includes:

[0148] Instant messaging module 200 is used to store and display instant messaging data;

[0149] Control module 202 is connected to instant messaging module 200 and receives and / or sends instant messaging data;

[0150] The CAD drawing sharing module 204 is connected to the control module 202 and is used to store CAD drawing source data and display CAD drawings, as well as store synchronization data and display operation results.

[0151] In one specific embodiment, the CAD drawing sharing module 204 further includes:

[0152] Source data unit 206 is connected to control module 202 and is used to store CAD drawing source data;

[0153] The operation data unit 208 is connected to the control module 202 and the source data unit 206, and is used to store operation data;

[0154] The display unit 210 is connected to the source data unit 206 and the operation data unit 208. It is used to extract source data from the source data unit 206 and display it, and at the same time extract synchronization data from the operation data unit 208 and display the corresponding operation results.

[0155] In this embodiment, the control module 202 receives instant messaging data, then stores the instant messaging data in the instant messaging module 200, and the instant messaging module 200 displays the instant messaging data in the instant messaging area of ​​the terminal.

[0156] Instant messaging data includes drawings, text, voice, images, and / or videos.

[0157] In this embodiment, the control module 202 can also send out the instant messaging data stored and displayed by the instant messaging module 200.

[0158] In one specific embodiment, the display unit 210 extracts the source data from the source data unit 206 and displays it on the CAD drawing display area of ​​the slave terminal's screen; further, the display unit 210 extracts the operation data from the operation data unit 208 and displays it.

[0159] Unlike Embodiment 2, in this embodiment, the control module 202 does not receive source data and operation data. The source data and operation data extracted by the display unit 210 from the source data unit 206 and the operation data unit 208 are the data originally stored in the corresponding units, rather than the data that the control module receives in real time and stores in the source data unit 206 or the operation data unit 208.

[0160] In one specific embodiment, the operation data has multiple types, including annotation data. The content of the annotation data may include adding and / or deleting and / or modifying text, leaders, hand-drawn lines, voice and images, etc.

[0161] Viewport data, which includes operation data for zooming in, zooming out, or panning the viewport of the CAD drawing;

[0162] In some embodiments, the terminal further includes a permission control module 212, connected to the control module 202, used to enable arbitrary switching between an active terminal, a passive terminal, and an autonomous terminal. For example: in some embodiments, when an active terminal needs to be converted into a passive terminal, the permission control module 212 grants the control module 202 permission to receive source data and operation data, but prohibits the control module 202 from sending source data and operation data; in some embodiments, when an active terminal needs to be converted into an autonomous terminal, the permission control module 212's permission to send source data and operation data is limited to receiving and / or sending instant messaging data; in some embodiments, when an autonomous terminal needs to be converted into a passive terminal, the permission control module 212 grants the control module 202 permission to receive source data and operation data. These are merely some embodiments; the permission control module 212 enables arbitrary switching between active, passive, and autonomous terminals by granting different permissions to the control module 202.

[0163] Example 6

[0164] This invention also provides a CAD drawing sharing server, which is connected to an active terminal and one or more passive terminals via the Internet of Things (IoT) and performs data communication to send and receive shared CAD drawings to and from the active and passive terminals. Specifically, it includes:

[0165] The data synchronization module is used to receive the operation data generated when performing corresponding operations on the currently shared local CAD drawings sent by the active CAD drawing sharing module of the active terminal 100, and synchronize it in real time to the passive CAD drawing sharing module of each passive terminal 102 so that the passive CAD drawing sharing module can perform synchronization processing on the operation data.

[0166] The instant response module is used to forward communication information between the active terminal and the passive terminal in real time; for example, to forward communication information sent by the active terminal to all passive terminals in real time, or to forward communication information sent by the passive terminal to the active terminal and other passive terminals in real time.

[0167] In some embodiments, the currently shared local CAD drawing may be downloaded from the server and stored locally when the active terminal and the slave terminal connect to the server; or it may be pre-stored locally by the active terminal and then directly sent to each slave terminal for local storage. That is, the CAD drawing displayed in the CAD drawing area of ​​the current display interface of the active terminal and the slave terminal is actually a local copy of the same CAD drawing on different terminals.

[0168] In some embodiments, the CAD drawing sharing server can be implemented by a dedicated server or by a user terminal with server functionality.

[0169] In some embodiments, the CAD drawing sharing server further includes a role / permission management module for pre-assigning roles to multiple user terminals communicating with it, and configuring the operation permissions of each role for the shared CAD drawing. For example, the CAD drawing sharing server configures the first user terminal connecting to it as an active terminal with real-time operation permissions for the shared CAD drawing, while configuring other user terminals connecting to it as passive terminals without operation permissions for the shared CAD drawing.

[0170] Of course, in other embodiments, the CAD drawing sharing server may also randomly select one of the multiple user terminals connected to the CAD drawing sharing server to be configured as an active terminal, or configure it as an active terminal in response to a user terminal’s request to become an active terminal.

[0171] In some embodiments, the role / permission management module of the CAD drawing sharing server is also used to respond to a role switching request sent by an active terminal / slave terminal, send a role switching control instruction to the target client in the role switching request, and perform a role switching based on the role switching response message returned by the target client. For example, if an active terminal sends a role switching request to switch one of the slave terminals (or the terminal corresponding to the target client, usually specified by the user corresponding to the active terminal that initiated the role switching request) to the active terminal, while switching itself to a slave terminal, the server sends a corresponding role switching control instruction to the corresponding slave terminal according to the role switching request. Correspondingly, the slave terminal returns a corresponding role switching response message (which includes a control instruction indicating acceptance / rejection of the role switching) to the server to perform the corresponding role switching operation. Of course, the role / permission management module is also used to respond to a disconnection request sent by an active terminal / slave terminal (or the client corresponding to the active terminal / the client corresponding to the slave terminal) indicating a disconnection from the sharing discussion, and configure the user terminal that initiated the disconnection request as an autonomous terminal.

[0172] In some embodiments, the CAD drawing sharing server further includes a drawing switching module, which is used to switch drawings for active and slave terminals connected to the server in response to a drawing switching request sent by an active or slave terminal, based on the identification information of the target CAD drawing in the drawing switching request (usually the target CAD drawing is specified by the user corresponding to the user terminal that initiated the drawing switching request).

[0173] Example 7: CAD Drawing Sharing and Instant Discussion System

[0174] This invention also provides another CAD drawing sharing and real-time discussion system, comprising: a server, and at least two clients capable of data communication with the server. The server can manage roles for the at least two clients connected to it, and configure real-time operation permissions for each role on the shared CAD drawings. The client configured as the active client can perform real-time operations on the currently shared local CAD drawings, and the server instantly synchronizes the corresponding operation data to the corresponding client on each passive client, enabling each client to perform corresponding synchronization processing based on the operation data.

[0175] In some embodiments, the server includes:

[0176] The role / permission management module is used to manage the roles of at least one client connected to the server, and / or configure the permissions of each role to perform real-time operations on the currently shared local CAD drawings; specifically, the role / permission management module is used to configure the first client connected to the server as the active client with the permission to perform real-time operations on the local shared CAD drawings, and correspondingly, configure other clients connected to the server as passive clients without the permission to perform real-time operations on the local shared CAD drawings;

[0177] The data synchronization module is used to receive operation data sent by the client configured as the active end (i.e., the first client) and synchronize it in real time to each client configured as the passive end (i.e., the second client) connected to the server, so that each client of the passive end can synchronize its currently shared local CAD drawings according to the operation data; the instant response module is used to receive communication messages sent by the client configured as the active end and send the communication messages in real time to each client configured as the passive end connected to the server, so that each client of the passive end can synchronously display the communication messages in its current display interface.

[0178] The operation data is the same as the operation data in the above embodiments, and will not be described again here; similarly, the communication message is the same as the communication message in the above embodiments, and will not be described again here.

[0179] In some embodiments, the client includes:

[0180] The shared CAD drawing module is used to respond to real-time operations performed by the corresponding user on the currently shared local CAD drawing, obtain the corresponding operation data, and send the operation data to the server in real time; or, receive operation data sent by other clients in real time from the server, and perform synchronization processing on the local shared CAD drawing based on the received operation data. Specifically, if the client is configured as the active end, only its corresponding user has the permission to perform corresponding real-time operations on the local shared CAD drawing. In this case, the shared CAD drawing module obtains the corresponding operation data and sends it to the server immediately to synchronize with the shared CAD drawing modules of each passive end. If the client is configured as a passive end, its corresponding user does not have the permission to perform corresponding real-time operations on the local shared CAD drawing. Accordingly, the shared CAD drawing module cannot obtain the corresponding operation data, but instead receives the operation data synchronized from the active end by the server and performs the corresponding synchronization processing.

[0181] The instant messaging module is used to respond to the communication operations of the corresponding user in the current display interface, obtain the communication information entered by the user, and send it to the server; or, receive the communication information sent by the server in real time and display it synchronously.

[0182] The synchronization process is the same as that in the above embodiments, except that it synchronizes the data of the drawing modification, such as the added or modified annotations, or the data of the drawing being enlarged or reduced, rather than the modified CAD drawing itself.

[0183] Furthermore, the active and passive ends can be switched. For example, any client (which can be the client corresponding to the active end or the client corresponding to the passive end) can actively initiate a role switching request (such as when the user clicks the role switching icon in the currently displayed interface of the corresponding client), and the server controls the role switching.

[0184] In some embodiments, the client further includes:

[0185] The first request module is used to respond to a role switching operation initiated by the corresponding user, generate a role switching request and send it to the server. Specifically, the role switching request includes unique identifier information of the target client specified by the user. If the user corresponding to the active end initiates a role switching request to change to a new active end, the target client is the client corresponding to the new active end specified by the user. If the user corresponding to the passive end initiates a role switching request to become a new active end, the target user end refers to the client corresponding to the passive end that initiated the role switching request.

[0186] Accordingly, the role / permission management module of the server is also used to respond to the role switching request, send a role switching control instruction to the target client, and perform role switching according to the role switching response message fed back by the target client; wherein, the role switching response message includes: a control instruction indicating acceptance / rejection of role switching.

[0187] Specifically, the user corresponding to the target client can choose to accept the role switch to become the new active / subordinate client, or choose to refuse the role switch to maintain the current role, and then send the corresponding role switch response message to the server through the target client. Of course, it is understandable that the client that initiated the role switch request can initiate a new role switch request after receiving a role switch rejection response message.

[0188] Furthermore, during the discussion, the drawings can be changed to facilitate discussion of the new drawings. For example, any client (which can be the client corresponding to the active client or the client corresponding to the passive client) can actively initiate a drawing switching request (such as when the corresponding user clicks the drawing switching icon in the currently displayed interface of the corresponding client), and the server controls the drawing switching.

[0189] In some embodiments, the client further includes:

[0190] The second request module is used to respond to the drawing switching operation triggered by the corresponding user, generate and send a drawing switching request to the server indicating the switching of local shared CAD drawings; wherein, the drawing switching request includes target CAD drawing identification information (such as drawing number, drawing path, etc.).

[0191] Accordingly, in some embodiments, the server also includes:

[0192] The drawing switching module is used to respond to drawing switching requests sent by clients and switch drawings for all clients connected to the server based on the target CAD drawing identifier information in the drawing switching request.

[0193] Specifically, when the drawing switching module on the server receives a drawing switching request from any client, it first locates the corresponding target CAD drawing in the server's database based on the target CAD drawing identifier information. Then, it distributes the target CAD drawing to each client for display. Of course, the target CAD drawing can also be sent along with the drawing switching request from the client that initiated the drawing switching.

[0194] Of course, after receiving the drawing switch request, the server can also forward the drawing switch request to other clients, and then each client can download the target CAD drawing from the server.

[0195] In some embodiments, the drawing switching request is typically initiated by the client corresponding to the active end.

[0196] Example 8: Instant Discussion Method for Sharing CAD Drawings

[0197] This invention also provides a method for real-time discussion and sharing of CAD drawings. Specifically, see [link to documentation]. Figure 6 The instant discussion method for sharing CAD drawings includes the following steps:

[0198] S101, the server receives operation data sent by the client and synchronizes the operation data to at least one other client connected to the server.

[0199] In some embodiments, before performing step S101, the server needs to assign roles and configure permissions for at least two clients connected to the server. For example, the first client connected to the server is configured as an active client with real-time operation permissions on shared local CAD drawings, while other clients connected to the server are configured as passive clients without real-time operation permissions on the shared local CAD drawings.

[0200] Of course, in other embodiments, the server can also be configured as the active client based on the client's active request. For example, when any client connected to the server (triggered by its corresponding operating user) sends a request to the server indicating that it wants to become the active client (such as indicating that it wants to become the "host"), the server configures it as the active client, and other clients are automatically configured as slave clients.

[0201] Accordingly, after assigning roles and configuring permissions to each client, only the active client with the permission to perform real-time operations on the locally shared CAD drawing can send operation data to the server. The server then synchronizes the operation data to the passive clients without real-time operation permissions in real time.

[0202] In some embodiments, the client, acting as the active end, responds to real-time operations performed by the corresponding user on the locally shared CAD drawing displayed in the CAD drawing area of ​​the current display interface (i.e., currently shared), acquires the operation data of the corresponding operation, and sends the operation data to the server in real time. Of course, in other embodiments, if all clients have permission to perform real-time operations on the CAD drawing, the server can synchronize the operation data sent by any client to other clients in real time for synchronization processing.

[0203] The locally shared CAD drawings are downloaded from the server in advance. Alternatively, they can be pre-stored on the client corresponding to the active end, uploaded to the server by the client corresponding to the active end, and then distributed to the clients corresponding to each slave end by the server.

[0204] The real-time operation is the same as the real-time operation in the above embodiments, including the client corresponding user performing operations such as panning, zooming in and / or zooming out on the local shared CAD drawing, and / or adding, deleting, modifying and / or filtering annotations on the local shared CAD drawing.

[0205] S103, the server receives communication information sent by any client and immediately synchronizes the communication information to all other clients connected to the server so that they can be processed synchronously in the current display interface of each other client.

[0206] In some embodiments, the communication information is obtained by the client (which can be a client configured as a slave or a client configured as an active) in response to a user's communication operation (such as inputting text data, image data, etc.) in the instant messaging area of ​​the current display interface, and then immediately sent to the server. This communication operation includes the user inputting discussion content in the instant messaging area of ​​the current display interface using an input device such as a keyboard or touchscreen.

[0207] During the discussion, any user can initiate a role-switching request through their corresponding client to switch roles. Accordingly, the method also includes the following steps:

[0208] S105, the server responds to the role switching request sent by the client, sends a role switching control instruction to the target client according to the target client identification information in the role switching request, and performs role switching according to the role switching response message returned by the target client.

[0209] In some embodiments, the role switching request is generated and sent to the server by the client (which may be the client corresponding to the slave end or the client corresponding to the active end) in response to the role switching operation triggered by the corresponding user in the current display interface (instant messaging area or CAD drawing area) (such as clicking the corresponding role switching icon).

[0210] The role switching control command includes the target client's unique identification information, such as account or device number.

[0211] In some embodiments, if the client that initiates the role switching request is configured as the active client, the user corresponding to that client will typically select one from multiple passive clients as the new active client, and the client corresponding to the new active client will be the target client; if the client that initiates the role switching request is configured as the passive client, the target client will be the client that initiated the role switching request.

[0212] Accordingly, after receiving the role switching control command, the target client displays or reminds the corresponding user, and generates a corresponding role switching response message based on the user's selection, and sends it to the server. Specifically, the role switching response message includes an instruction indicating whether to accept or refuse the role switching.

[0213] In some embodiments, if the server receives a role switch response message from the target client (e.g., a client whose original role was slave) indicating acceptance of the role switch, the server directly switches the role of the first client that initiated the role switch request (e.g., a client whose original role was active) to slave, and switches the role of the target client, whose original role was slave, to active, to ensure that only the active client exists during the discussion. Of course, if the server receives a role switch response message from the target client (e.g., a client whose original role was slave) indicating rejection of the role switch, it forwards the role switch response message to the first client that initiated the role switch request. After receiving the role switch response message, the first client can initiate a role switch request again.

[0214] During the discussion, any user's client can respond to a drawing switch operation triggered by their corresponding user by generating a drawing switch request to request a drawing switch. Accordingly, the method also includes the following steps:

[0215] S109, the server responds to any drawing switching request sent by the client and performs drawing switching according to the target drawing's identifier information in the drawing switching request.

[0216] In some embodiments, the drawing switching request is generated by the client in response to a drawing switching operation triggered by the corresponding user (such as clicking the corresponding drawing switching icon in the current display interface) and sent to the server.

[0217] In some embodiments, when the server performs drawing switching, it finds the corresponding target drawing in its database / storage module based on the target drawing identifier information (which is pre-input by the user corresponding to the client that initiated the drawing switching request), and then automatically sends it to each client (including the client that initiated the drawing switching), and then each client changes the drawing locally.

[0218] Of course, in other embodiments, the server may issue a drawing switching notification (including the download path of the target drawing), and then each client (including the client that initiated the drawing switching) may download the target drawing according to the download path and then change the drawing locally.

[0219] Of course, in other embodiments, the target drawing may also be sent to the server by the client along with the drawing switching request, or the storage path of the target drawing in the client / server may be included in the drawing switching request.

[0220] In some embodiments, when configuring role permissions, the server may only grant drawing switching / role switching permissions to the active client. That is, only the user corresponding to the client configured as the active client can initiate drawing switching requests / role switching requests, while the user corresponding to the client configured as the passive client does not have the permission to initiate drawing switching requests / role switching requests. They can only initiate drawing switching requests / role switching requests after applying to switch roles to become the active client.

[0221] During the discussion, any client can respond to a user-triggered disconnection request by generating a disconnection request. This allows the corresponding user to perform real-time operations on their local CAD drawings without sharing them with other clients. Accordingly, the method also includes the following steps:

[0222] S110, in response to a disconnect request sent by any client indicating a break from the shared discussion, the server configures the client that initiated the disconnect request as an autonomous client.

[0223] In some embodiments, the disconnect request is generated by the client in response to a disconnect sharing operation triggered by the user in the current display interface (such as clicking the disconnect sharing mode icon in the current display interface) and sent to the server.

[0224] In some embodiments, to ensure the discussion proceeds normally, the user corresponding to the client configured as a slave typically initiates the disconnect request. Of course, the user corresponding to the client configured as the active end can also initiate a disconnect request. In this case, after disconnecting the client configured as the active end, the server will randomly select one from all the clients configured as slaves and configure it as the new active end. Alternatively, the disconnect request sent by the active end client can also carry the target client identifier information designated by the user as the successor active end. Therefore, when the server disconnects the active end client, it finds the target client from all the slave clients based on the target client identifier information and configures it as the new active end.

[0225] In some embodiments, the execution order of the above steps S101, S103, S105, S109 and S110 can be changed according to actual needs, or they can be performed simultaneously.

[0226] Example 9: Instant Discussion Method for Sharing CAD Drawings

[0227] This invention also provides another method for real-time discussion and sharing of CAD drawings. Specifically, see [link to documentation]. Figure 7 The instant discussion method for sharing CAD drawings includes the following steps:

[0228] S201, a client pre-configured as the active end responds to the real-time operation of the corresponding user on the currently shared local CAD drawing, generates corresponding operation data, and sends it to the server so that the server can synchronize the operation data to at least one client pre-configured as the passive end in real time.

[0229] In this embodiment, the user corresponding to the client configured as the active end by the server has the permission to perform real-time operations on the currently shared local CAD drawings; the user corresponding to the client configured as the passive end by the server does not have the permission to perform real-time operations on the currently shared local CAD drawings.

[0230] In some embodiments, before performing step S201, at least two clients connect to the server via the Internet / Internet of Things to communicate with the server. The server manages the roles of these at least two clients and configures the real-time operation permissions for each role on the locally shared CAD drawing. For example, the server configures the first client to connect to the server as an active client with real-time operation permissions on the locally shared CAD drawing, while configuring all subsequent clients connecting to the server as passive clients without real-time operation permissions on the locally shared CAD drawing. Alternatively, the server can configure any client that initiates a request indicating its desire to become an active client as an active client (of course, when multiple clients initiate the request simultaneously, one can be randomly selected, or the first client to initiate the request can be configured as the active client).

[0231] In some embodiments, the real-time operation is a specific operation performed by the client, acting as the active end, on the currently displayed local shared CAD drawing in the CAD drawing display area of ​​the current display interface, such as adding, deleting, modifying and / or filtering annotations; panning, zooming in and / or zooming out; turning on / off / moving the operation object in the current display interface and picking up the cursor, etc.

[0232] In some embodiments, the method further includes the step of:

[0233] S202, the client pre-configured as the active end responds to the corresponding user's communication operation, obtains the communication information input by the user, and sends it to the server, so that the server can synchronize the communication information in real time to all other clients pre-configured as slave ends.

[0234] In some embodiments, the order of step S202 and step S201 described above can be interchanged, or they can be performed simultaneously.

[0235] Of course, the client configured as the active end can also receive communication information synchronized in real time from the client configured as the passive end through the server. Accordingly, the method also includes the following steps:

[0236] S203, the client configured as the active end receives communication information sent by the client configured as the passive end, which is forwarded by the server in real time.

[0237] In some embodiments, when a client on the slave end inputs corresponding communication information into its instant messaging area, thereby triggering a corresponding communication operation, the client obtains the communication information input by the user and sends it to the server in real time, so that the server can synchronize it in real time to the client on the active end and other clients on the slave end.

[0238] The communication information is the same as that in the above embodiments, and includes: image data, text data and / or video data, etc.

[0239] Furthermore, the method also includes the following steps:

[0240] S204. The client configured as the active end responds to the role switching operation triggered by the corresponding user, generates a role switching request, and sends it to the server so that the server can perform the role switching according to the role switching request.

[0241] In some embodiments, the role switching request includes identification information (including device number) of the target client that is the new active end; and the target client is specified by the user who initiated the role switching request.

[0242] S205, the client configured as the active end responds to the corner drawing change operation triggered by the corresponding user, generates a drawing change request, and sends it to the server, so that the server can perform the drawing change according to the role change request.

[0243] In some embodiments, the drawing switch request includes identification information (such as drawing number, storage path, etc.) of the target drawing as the new shared drawing, and the target drawing is specified by the user who initiated the drawing switch request.

[0244] S206, the client configured as the active end responds to the disconnection operation triggered by the corresponding user by generating a disconnection request and sending it to the server to disconnect it from the discussion.

[0245] Of course, the order of the above steps S201 to S206 can be changed according to actual needs, or they can be executed simultaneously.

[0246] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process or method. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0247] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a computer terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0248] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art, under the guidance of the present invention, can make many modifications without departing from the spirit and scope of the claims, and all such modifications are within the protection scope of the present invention. For example, as... Figure 5 In addition to the configurations shown in Embodiments 3, 4, and 5, the processing modules of each terminal of this invention can also be divided into: a CAD drawing management module (which enables uploading, downloading, and editing of CAD drawings); an instant messaging module (which enables sending and receiving messages); an operation command processing module (which enables sending, receiving, and executing operation commands, allowing synchronous operation of shared CAD drawings between slave and active terminals); a display module (which enables the display of CAD drawings and instant messaging information on the terminal); and a control module (which controls the active and slave terminals, controls drawing access permissions, and controls whether to view drawings independently or through sharing).

[0249] This invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the steps of the method described above. For ease of explanation, only the parts related to the embodiments of this specification are shown; for specific technical details not disclosed, please refer to the method section of the embodiments of this specification. This instant discussion device can be any electronic device, including electronic devices, PCs, cloud servers, and even mobile phones, tablets, PDAs (Personal Digital Assistants), POS (Point of Sales), in-vehicle computers, desktop computers, etc.

[0250] Specifically, the memory, processor, and communication interface of the device under discussion are connected via a bus, which may include any number of interconnected buses and bridges that link together various circuits, including one or more processors represented by the processor and memory represented by the memory. The bus may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The communication interface provides an interface between the bus and receivers and / or transmitters, which may be separate, independent receivers or transmitters or a single element such as a transceiver, providing a unit for communicating with various other devices over a transmission medium. The processor is responsible for managing the bus and general processing, while the memory may be used to store data used by the processor during operation.

[0251] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a computer-readable storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, or network device, etc.) to execute the methods described above according to the embodiments of this disclosure.

[0252] The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0253] Program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0254] The aforementioned computer-readable medium carries one or more programs, which, when executed by a device, cause the computer-readable medium to perform the following functions: The server receives operation data and / or communication information sent by the client, and synchronizes the operation data and / or communication information to at least one other client in real time; wherein the operation data is generated and sent to the server when the client's corresponding user performs real-time operation on the currently shared local shared CAD drawing; wherein the communication information is obtained and sent to the server when the client's corresponding user performs a communication operation; or, it performs the following functions: A client pre-configured as the active end responds to the corresponding user's real-time operation on the currently shared local shared CAD drawing, generates corresponding operation data, and sends it to the server, so that the server synchronizes the operation data to at least one client pre-configured as the passive end in real time; and / or, a client pre-configured as the active end responds to the corresponding user's communication operation, obtains the communication information input by the user, and sends it to the server, so that the server immediately forwards the communication information to all clients pre-configured as passive ends.

[0255] Those skilled in the art will understand that the above modules can be distributed in the device as described in the embodiments, or they can be modified accordingly and placed in one or more devices that are unique to this embodiment. The modules in the above embodiments can be combined into one module, or they can be further divided into multiple sub-modules.

[0256] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0257] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a computer terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0258] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims. All of these forms are within the protection scope of the present invention.

Claims

1. A CAD drawing sharing and discussion system, characterized in that, include: A first terminal, and one or more second terminals; the first terminal and the one or more second terminals are in data communication. The first terminal includes a first CAD drawing sharing module and a first instant messaging module locally; the one or more second terminals each include a second CAD drawing sharing module and a second instant messaging module locally; the first CAD drawing sharing module and the first instant messaging module are simultaneously displayed in the interface of the first terminal. The first CAD drawing sharing module and the second CAD drawing sharing module transmit and share CAD drawings with each other; the first instant messaging module and the second instant messaging module transmit communication information with each other; the second CAD drawing sharing module and the second instant messaging module are simultaneously displayed on the second terminal interface. The first CAD drawing sharing module displays and operates the first shared CAD drawing stored in the first terminal, and transmits the generated operation data to the second CAD drawing sharing module; The second CAD drawing sharing module displays the second shared CAD drawings stored on the one or more second terminals, receives the operation data, and performs the same synchronization operation on the second shared CAD drawings as the first CAD drawing sharing module based on the operation data. When the second terminal is in drawing sharing mode, only the first terminal can perform real-time operations on the current shared CAD drawings; When the second CAD drawing sharing module chooses to stop performing the same synchronization operation as the first CAD drawing sharing module, causing the second terminal to change from drawing sharing state to autonomous viewing state, the role of the second terminal becomes the third terminal. The third terminal no longer receives the operation data in real time, so the CAD drawings displayed by the second CAD drawing sharing module on the third terminal are no longer controlled by the first terminal. At the same time, the second CAD drawing sharing module acquires and stores the operation data of the user on the third terminal performing real-time operations on the local second shared CAD drawings. Simultaneously, the second instant messaging module receives communication information sent by the first instant messaging module, causing the ongoing discussion content to be displayed in the instant messaging area; and When the third terminal becomes the first terminal, it sends the second CAD drawing obtained after real-time operation to other second terminals.

2. The CAD drawing sharing and discussion system according to claim 1, characterized in that, The content of the first shared CAD drawing is the same as that of the second shared CAD drawing.

3. The CAD drawing sharing and discussion system according to claim 1, characterized in that, The operations performed on the first shared CAD drawing include: (i) Adding, deleting, modifying, and / or filtering annotations on the first shared CAD drawing; and / or, (ii) Move the laser pointer on the first shared CAD drawing; and / or, (iii) To pan, zoom in and / or zoom out the first shared CAD drawing.

4. The CAD drawing sharing and discussion system according to claim 1, characterized in that, The communication information includes drawings, text, voice, images and / or videos.

5. The CAD drawing sharing and discussion system according to claim 1, characterized in that, It also includes one or more third terminals, each of which includes a third instant messaging module locally, and transmits communication information with the first instant messaging module and the second instant messaging module.

6. The CAD drawing sharing and discussion system according to claim 5, characterized in that, The third terminal can change its role and become the second terminal.

7. The CAD drawing sharing and discussion system according to claim 1, characterized in that, The first terminal and the second terminal can switch roles.

8. A proactive terminal for sharing and discussing CAD drawings, characterized in that, The active terminal includes an active CAD drawing sharing module and an active instant messaging module on its local machine; the active CAD drawing sharing module and the active instant messaging module are displayed simultaneously on the active terminal interface; The active CAD drawing sharing module transmits and shares CAD drawings with the passive CAD drawing sharing modules of one or more slave terminals; the active instant messaging module transmits communication information with the passive instant messaging modules of one or more slave terminals; and when the slave terminal is in drawing sharing state, only the active terminal can perform real-time operations on the currently shared CAD drawings. The active CAD drawing sharing module displays and operates the shared CAD drawings stored on the active terminal, and transmits the generated operation data to the passive CAD drawing sharing module. The active instant messaging module transmits communication information with the autonomous instant messaging modules of one or more autonomous terminals. The autonomous terminal is defined as follows: when the passive CAD drawing sharing module chooses to stop performing the same synchronous operation as the active CAD drawing sharing module, the passive terminal undergoes a role change. The autonomous terminal no longer receives the operation data in real time, so the CAD drawings displayed by the passive CAD drawing sharing module are no longer controlled by the active terminal. Furthermore, the passive CAD drawing sharing module acquires and stores the operation data of the autonomous terminal user's real-time operations on the local shared CAD drawings. Simultaneously, the passive instant messaging module receives communication information sent by the active instant messaging module, displaying the ongoing discussion content in the instant messaging area. When the autonomous terminal becomes an active terminal, it sends the shared CAD drawings obtained after real-time operation to other slave terminals.

9. The CAD drawing sharing and discussion active terminal according to claim 8, characterized in that, The operations performed on the shared CAD drawing include (i) adding, deleting, modifying and / or filtering annotations on the shared CAD drawing; and / or (ii) moving a laser pointer on the shared CAD drawing; and / or (iii) moving, zooming in and / or zooming out of the shared CAD drawing.

10. The CAD drawing sharing and discussion active terminal according to claim 8, characterized in that, The proactive CAD drawing sharing module and the proactive instant messaging module are simultaneously displayed on the proactive terminal display interface.

11. The CAD drawing sharing and discussion active terminal according to claim 8, characterized in that, The communication information includes drawings, text, voice, images and / or videos.

12. The CAD drawing sharing and discussion active terminal according to claim 8, characterized in that, The active terminal can switch roles with one of the passive terminals.

13. A CAD drawing sharing and discussion slave terminal, characterized in that, The slave terminal is located locally and includes a slave CAD drawing sharing module and a slave instant messaging module; The slave CAD drawing sharing module transmits and shares CAD drawings with the active CAD drawing sharing module of the active terminal; the slave instant messaging module transmits communication information with the active instant messaging module of the active terminal; The passive CAD drawing sharing module displays the shared CAD drawings stored on the passive terminal, receives operation data from the active terminal, and performs the same synchronization operation on the passive CAD drawing sharing module as the active CAD drawing sharing module based on the operation data. The passive CAD drawing sharing module and the passive instant messaging module are simultaneously displayed on the passive terminal's display interface; and... The passive CAD drawing sharing module chooses to stop performing the same synchronous operation as the active CAD drawing sharing module, becomes an autonomous terminal, and transmits communication information with the active terminal and other passive terminals through the passive instant communication module. However, the passive terminal no longer receives the operation data in real time, so that the CAD drawings displayed by the passive CAD drawing sharing module of the passive terminal are no longer controlled by the active terminal. The autonomous terminal performs corresponding real-time operations on the shared CAD drawings, and the slave CAD drawing sharing module stores the operation data of the autonomous terminal's real-time operations on the shared CAD drawings. However, the operation data of the real-time operations will not be synchronized to the active terminal and other slave terminals. When the autonomous terminal selects to transmit and perform real-time operations on the shared CAD drawings obtained by the active CAD drawing sharing module, it becomes the slave terminal. Alternatively, when the autonomous terminal changes its role to that of the active terminal, it sends the shared CAD drawings obtained after real-time operations to other slave terminals.

14. The CAD drawing sharing and discussion slave terminal according to claim 13, characterized in that, The operations corresponding to the operation data include: adding, deleting, modifying and / or filtering annotations on the shared CAD drawing; and / or moving the laser pointer on the shared CAD drawing; and / or moving, zooming in and / or zooming out of the shared CAD drawing.

15. The CAD drawing sharing and discussion slave terminal according to claim 13, characterized in that, The communication information includes drawings, text, voice, images and / or videos.

16. The CAD drawing sharing and discussion slave terminal according to claim 13, characterized in that, The slave terminal can switch roles with the active terminal.

17. A CAD drawing sharing server, characterized in that, The shared server is in data communication with the active terminal and one or more slave terminals, and sends and receives shared CAD drawings to and from the active terminal and the one or more slave terminals. The active terminal includes an active CAD drawing sharing module and an active instant messaging module. The active CAD drawing sharing module and the active instant messaging module are simultaneously displayed on the active terminal interface. The slave terminal includes a slave CAD drawing sharing module and a slave instant messaging module. The slave CAD drawing sharing module and the slave instant messaging module are simultaneously displayed on the slave terminal display interface. The shared server receives operation data on the shared CAD drawing from the active CAD drawing sharing module of the active terminal, and transmits the operation data to the passive CAD drawing sharing module of the one or more passive terminals; In response to a disconnection request sent by the active / slave terminal indicating a break from the shared discussion, the sharing server configures the user terminal initiating the disconnection request as an autonomous terminal. This causes the autonomous terminal to no longer receive the operation data in real time, and the CAD drawings displayed by the autonomous terminal's slave CAD drawing sharing module are no longer controlled by the active terminal. The autonomous server also acquires and stores operation data for real-time operations on the local shared CAD drawings. Simultaneously, it receives communication information sent by the active / slave terminal and displays the ongoing discussion content in the instant messaging area. When the autonomous terminal becomes an active terminal, it sends the shared CAD drawings obtained after real-time operation to other slave terminals.

18. The shared server according to claim 17, characterized in that, The operations corresponding to the operation data include: adding, deleting, modifying and / or filtering annotations on the shared CAD drawing; and / or moving the laser pointer on the shared CAD drawing; and / or moving, zooming in and / or zooming out of the shared CAD drawing.

19. A discussion system based on shared CAD drawings, characterized in that, include: A server, and at least two clients connected to the server via the Internet / Internet of Things to communicate data with the server; wherein, The client includes: a shared CAD drawing module, used to respond to real-time operations performed by the corresponding user on the currently shared local CAD drawing, obtain the corresponding operation data, and send the operation data to the server in real time; an instant messaging module, used to respond to the corresponding user's communication operation, obtain the communication information input by the user, and send it to the server in real time; and a third request module, used to respond to the corresponding user's disconnection operation, generate a disconnection request indicating the participation in the sharing discussion, and send it to the server. The server includes: a data synchronization module, used to receive the operation data sent by the client in real time, and synchronize the operation data to all other clients in real time, so that each other client can perform synchronization processing on the currently shared local CAD drawings according to the operation data; an instant response module, used to receive the communication information sent by the client, and instantly send the communication information to all other clients connected to the server; and a role / permission management module, used to manage the roles of at least one client connected to the server, and configure the permissions of each role to perform real-time operations on the currently shared local CAD drawings; the role / permission management module is also used to, in response to the disconnection request, configure the client that initiated the disconnection request as an autonomous client, so that it no longer receives the operation data in real time, and the displayed CAD drawings are no longer controlled by other clients with control, but while communicating instantly with the server and other clients, the autonomous client can perform real-time operations on the locally stored CAD drawings, and when the autonomous client gains control, it uploads the CAD drawings obtained after real-time operations to the server to be sent to other clients, becoming a new object of discussion.

20. The discussion system according to claim 19, characterized in that, The role / permission management module is specifically used to configure the first client connected to the server as an active client with real-time operation permissions on the locally shared CAD drawings, and to configure all other clients that subsequently connect to the server as passive clients.

21. The discussion system according to claim 19, characterized in that, The real-time operations include: (i) Add, delete, modify, and / or filter annotations on the currently shared local CAD drawings; (ii) To pan, zoom in and / or zoom out the currently shared local CAD drawings; (iii) To turn the cursor on / off / move on the object being operated on.

22. The discussion system according to claim 19, characterized in that, The communication information includes: drawing data, text data, voice data, image data, and / or video data.

23. The discussion system according to claim 19, characterized in that, The client further includes: a first request module, configured to generate and send a role switching request to the server in response to a role switching operation initiated by the corresponding user; the role switching request includes identification information of the target client as the new active client; accordingly, The role / permission management module is used to respond to the role switching request by sending a role switching control command to the target client and performing a role switching based on the role switching response message returned by the target client. The role switching response message includes an instruction indicating whether to accept or reject the role switching.

24. The discussion system according to claim 19, characterized in that, The client further includes: a second request module, configured to, in response to a drawing switching operation triggered by a corresponding user, generate and send a drawing switching request to the server, indicating a request to switch the currently shared local CAD drawing; wherein, the drawing switching request includes identifier information of the target drawing as the new shared drawing, accordingly, The server also includes a drawing switching module, which is used to switch drawings for all clients in response to the drawing switching request, based on the identification information of the target drawing.

25. A method for real-time sharing and discussion of CAD drawings, characterized in that, Including the following steps: The server receives operation data and / or communication information sent by the client, and synchronizes the operation data and / or communication information to at least one other client in real time; wherein, the client includes: a shared CAD drawing module, used to respond to the real-time operation performed by the corresponding user on the currently shared local CAD drawing, obtain the corresponding operation data, and send the operation data to the server in real time; and an instant messaging module, used to respond to the communication operation of the corresponding user, obtain the communication information input by the user, and send it to the server in real time; and a third request module, used to respond to the disconnection operation triggered by the corresponding user, generate a disconnection request indicating the participation in the sharing discussion, and send it to the server; In response to a disconnect request sent by any of the clients indicating a withdrawal from the shared discussion, the server configures the client as an autonomous client. The autonomous client communicates instantly with other clients through the server while simultaneously manipulating locally stored CAD drawings in real time. However, it no longer receives operation data in real time, and the displayed CAD drawings are no longer controlled by other clients with control authority. When the autonomous terminal gains control, it uploads the CAD drawings obtained after real-time operation to the server to be sent to other clients, becoming a new subject of discussion. The operation data is generated and sent to the server when the client user performs real-time operations on the currently shared local CAD drawings; The communication information is obtained and sent to the server by the user corresponding to the client when performing a communication operation; The disconnect request is generated and sent to the server by the client in response to a disconnect sharing operation triggered by the corresponding user.

26. The discussion method according to claim 25, characterized in that, Before the server receives the operation data and / or communication information sent by the client, the method further includes the following steps: The server pre-assigns roles to all clients connected to it, and configures permissions for each role to perform real-time operations on the currently shared local CAD drawings.

27. The shared discussion method according to claim 26, characterized in that, The steps for the server to assign roles and / or configure permissions specifically include: The first client connected to the server is configured as the active client with real-time operation permissions on the locally shared CAD drawings, and all other clients connected to the server are configured as passive clients.

28. The shared discussion method according to claim 26, characterized in that, The communication information includes: drawing data, text data, voice data, image data, and / or video data.

29. The shared discussion method according to claim 25, characterized in that, The real-time operations include: (i) Adding, deleting, modifying, and / or filtering annotations on the locally shared CAD drawings; (ii) To pan, zoom in and / or zoom out the locally shared CAD drawings; (iii) To turn the cursor on / off / move on the object being operated on.

30. The shared discussion method according to claim 27, characterized in that, It also includes the following steps: The server responds to any role switching request sent by the client, sends a role switching control command to the target client according to the target client identifier information in the role switching request, and performs role switching according to the role switching response message returned by the target client; The role switching request is generated and sent to the server by the client in response to the corresponding user triggering a role switching operation; The role switching response message is input by the target client in response to the corresponding user's reply to the role switching control command, and includes an instruction indicating acceptance / rejection of the role switching.

31. The shared discussion method according to claim 27, characterized in that, It also includes the following steps: The server responds to any drawing switching request sent by the client and performs drawing switching according to the target drawing's identifier information in the drawing switching request; The drawing switching request is generated by the client in response to a drawing switching operation triggered by the user and sent to the server.

32. A method for real-time sharing and discussion of CAD drawings, characterized in that, Including the following steps: A client pre-configured as the active end with control responds to a user's real-time operation on a currently shared local CAD drawing, generates corresponding operation data, and sends it to the server. The server then synchronizes the operation data in real-time to at least one client pre-configured as a passive end. The client includes: a shared CAD drawing module, used to respond to a user's real-time operation on a currently shared local CAD drawing, acquire corresponding operation data, and send the operation data to the server in real-time; an instant messaging module, used to respond to a user's communication operation, acquire the communication information input by the user, and send it to the server in real-time; and a third request module, used to respond to a user-triggered disconnection operation, generate a disconnection request indicating a break from the shared discussion, and send it to the server. A client pre-configured as the active end responds to the communication operation of the corresponding user, obtains the communication information input by the user, and sends it to the server, so that the server can immediately forward the communication information to all clients pre-configured as the passive end. When the slave terminal is in the drawing sharing state, only the active terminal can perform real-time operations on the currently shared local CAD drawings; When the slave terminal chooses to stop performing the same synchronization operation as the active terminal, causing the slave terminal to change from drawing sharing state to autonomous drawing viewing state, the role of the slave terminal becomes that of the autonomous terminal. The autonomous terminal no longer receives the operation data in real time, so the CAD drawing displayed by the autonomous terminal is no longer controlled by the active terminal with control rights. Furthermore, the autonomous terminal acquires and stores the operation data for real-time operations on the locally shared CAD drawing, and simultaneously receives communication information sent by the active terminal. When the autonomous terminal changes its role to the active terminal, it sends the locally shared CAD drawings obtained after real-time operation to other slave terminals.

33. A computer-readable storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, implements the method discussed in any one of claims 25 to 32.

Citation Information

Patent Citations

  • Cross-platform conference system based on graphic image synchronization

    CN102595096A

  • Three dimensional cooperation conference system based on instant messaging protocol and realization method thereof

    CN105357223A