A cloud CAD online collaboration system and method based on cloud rendering technology
The cloud-based CAD online collaborative system, which uses cloud rendering technology, realizes real-time synchronization and personalized modeling in multi-user online collaborative design, solves the problems of low collaboration efficiency and untimely data synchronization in existing technologies, and supports multiple users to edit the same CAD file online.
Patent Information
- Application Number
- CN202510630566.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-16
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-05-16
AI Technical Summary
Existing cloud-based CAD software has problems such as low collaborative efficiency and untimely data synchronization in multi-user online collaborative design, and cannot enable multiple users to edit the same CAD file online.
A cloud-based CAD online collaborative system based on cloud rendering technology is adopted, including back-end, front-end and network communication modules. It realizes multi-user real-time synchronous operation through shared video memory cache, uses the view layer and message management module for data distribution and rendering, and supports multi-user personalized display needs.
It realizes real-time synchronization and personalized modeling under multi-user online collaboration, reduces front-end performance requirements, solves the problems of high operational coupling and low user freedom in traditional CAD tools, and adapts to high concurrency and weak network environments.
Smart Images

Figure CN120145484B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer-aided design technology, and in particular to a cloud-based CAD online collaboration system and method based on cloud rendering technology. Background Art
[0002] Computer-aided design (CAD) technology, leveraging computers and their advanced graphics processing capabilities, provides designers with powerful design support. In the fields of engineering design and product development, CAD technology not only handles complex computational tasks but also enables efficient storage of design information and precise drafting. During the design process, designers can use computers to perform detailed calculations, in-depth analysis, and comprehensive comparisons of different design options, accurately selecting the optimal one. Furthermore, all types of design information, whether digital data, text descriptions, or graphical data, can be securely stored in the computer's memory or on external storage devices, enabling rapid retrieval and access. Designers typically begin their designs with sketches, but the tedious process of converting sketches into professional working drawings can now be automated by computers, greatly improving design efficiency. CAD technology also boasts powerful graphics data processing capabilities, such as editing, scaling, translating, and rotating, providing designers with a wealth of design tools.
[0003] As one of the core technologies in modern engineering design, mainstream CAD software, such as AutoCAD, Rivet, Microstation, and CATIA, are powerful desktop applications. However, these applications require high computer performance and their bulky installation packages present certain inconveniences. As design productivity demands continue to rise, these traditional CAD software programs are facing increasing challenges in terms of client computer performance requirements, ease of use, collaborative work, data management, and software upgrades. To address these challenges, cloud-based CAD solutions have emerged, aiming to address the limitations of traditional CAD software through cloud computing.
[0004] Despite this, client-based CAD software still dominates the market. However, its inherent flaws, particularly its inability to enable multi-user online collaborative design, have severely hampered improvements in design efficiency and team collaboration. While existing cloud-based CAD technologies have alleviated these issues to some extent, they still suffer from numerous shortcomings in enabling multi-user online collaborative design, such as low collaborative efficiency and delayed data synchronization. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to provide a cloud-based CAD online coordination system and method based on cloud rendering technology that can support multiple users to edit the same CAD file online at the same time, thereby realizing interactive free modeling and parametric modeling in a multi-user online collaborative scenario.
[0006] To solve the above technical problems, the present invention provides a technical solution, a cloud-based CAD online collaboration system based on cloud rendering technology, comprising a backend, at least one frontend, and a network communication module for real-time communication between the frontend and the backend; the backend comprises:
[0007] Storage layer, used to store CAD file data;
[0008] A CAD core layer, configured to process and update the CAD file data in the storage layer in real time based on data sent by any of the front ends, and to render the processed and updated CAD file data to a video memory cache;
[0009] The view layer includes view sets connected to the front end in a one-to-one correspondence, and any view set includes:
[0010] A viewport layout module, configured to combine at least one viewport to form a viewport layout canvas, wherein any of the viewports is configured to generate a rendering image based on the rendering data in the video memory buffer;
[0011] A video encoding module, configured to encode the viewport layout canvas into a video stream and push the video stream to the corresponding front end via the network communication module;
[0012] The CAD core layer shares the video memory cache, thereby enabling any front-end to perform real-time synchronization operations on the same CAD file data. Any front-end performs real-time synchronization operations on the video memory cache data corresponding to the same CAD file data, which are pushed to all front-ends through the network communication module.
[0013] In a preferred embodiment, any of the view sets also includes a message management module for receiving data sent by the corresponding front end through the network communication module, and distributing it to the corresponding module in this view set, and at the same time transmitting the response data generated by the corresponding module back to the corresponding front end.
[0014] In a preferred embodiment, any of the view sets also includes a tool module for receiving and responding to data distributed by the message management module in this view set, and reading, writing, geometrically modeling, attaching attributes and rendering the CAD file data in the storage layer through the CAD core layer.
[0015] In a preferred embodiment, the CAD core layer includes a geometric modeling module, an image rendering module, an attribute system module, and a file reading and writing module;
[0016] The file reading and writing module transmits an operation instruction from any of the view concentration tool modules to persistently store and load the CAD file data;
[0017] The geometric modeling module performs geometric generation, modification or deletion on the CAD file data based on the operation instructions transmitted by any of the view concentration tool modules;
[0018] The attribute system module adds attributes to the CAD file data based on the operation instructions transmitted by any of the view concentration tool modules, and the attribute additions include layer, color, line type, line width, transparency, and user-defined extended attributes;
[0019] The image rendering module is used to render the data processed and updated by the file reading and writing module, the geometric modeling module and the attribute system module into the video memory cache.
[0020] In a preferred embodiment, any of the view sets further comprises an auxiliary coordinate module, a precise drawing module and a precise capture module for receiving and responding to data distributed by the message management module in the view set;
[0021] The auxiliary coordinate module is used to provide switching and alignment functions of multiple reference coordinate systems in modeling;
[0022] The precise drawing module is used to generate temporary auxiliary drawing elements, build a local coordinate system, process the coordinate values input by the user in the coordinate system, and automatically clear the drawing after completion.
[0023] The precise capture module is used for automatically adsorbing geometric feature points or auxiliary lines during drawing operations, as well as for dynamic capture sensitivity adjustment.
[0024] In a preferred embodiment, any of the viewports is configured with an independent camera orientation, display style and projection mode, and the viewport generates a rendering image based on the rendering data in the video memory cache through the corresponding camera orientation, display style and projection mode.
[0025] In a preferred embodiment, the network communication module includes a media channel and a data channel. The media channel is used to push the video stream encoded by the video encoding module in the view set to the corresponding front end, and the data channel is used for data exchange between the message management module in the view set and the corresponding front end.
[0026] The present invention also provides a method for using any of the above-mentioned cloud-based CAD online collaborative systems based on cloud rendering technology, comprising the following steps:
[0027] The view set creation and communication link establishment are to create an independent view set for each front end and establish a real-time communication connection through the network communication module;
[0028] The CAD file data is processed and rendered in real time, and in response to each front-end request, the CAD file data in the storage layer is processed and updated in real time through the CAD core layer, and the updated data is rendered to the video memory cache;
[0029] The viewport layout and the video stream are generated, and each view set generates an independent viewport layout canvas based on the same rendering data in the video memory cache through the viewport layout module in the view set, and is encoded into a corresponding video stream through the video encoding module in the view set;
[0030] Data synchronization and front-end push: push the video stream to the front-end display corresponding to the current view set through the network communication module.
[0031] In a preferred embodiment, the front-end request includes a global instruction, and the global instruction includes a create, edit or delete model instruction and an attribute addition instruction;
[0032] The global instruction directly updates the video memory cache corresponding to the same CAD file data through the CAD core layer, thereby triggering the synchronous update of the viewport rendering screen in each view set, and is encoded into a video stream by the video encoding module in each view set, and pushed to the corresponding front-end display through the network communication module.
[0033] In a preferred embodiment, the front-end request further includes local instructions, wherein the local instructions include a selected model highlighting instruction, a temporary auxiliary element display instruction, and a viewport control instruction;
[0034] The local instruction only triggers the synchronous update of the viewport rendering screen in the view set that communicates with the current front end in real time, and is encoded into a video stream through the video encoding module in this view set, and pushed to the current front end display through the network communication module.
[0035] Compared with the prior art, the cloud-based CAD online collaboration system and method based on cloud rendering technology of the present invention has the following beneficial effects:
[0036] (1) The cloud-based CAD online collaboration system based on cloud rendering technology of the present invention includes a backend, at least one frontend, and a network communication module for real-time communication between the frontend and the backend, wherein the backend includes a storage layer, a CAD core layer, and a view layer. The storage layer is used to store CAD file data. On the one hand, it solves the problem of frequent file copy transmission during multi-user collaboration, which leads to version conflicts and data redundancy. On the other hand, the CAD file data only needs to be loaded into the video memory cache once, and multiple users can share resources, reducing repeated reading overhead. The CAD core layer is used to process and update the CAD file data in the storage layer in real time based on the data sent by any frontend, and to render the CAD file data processed and updated in real time to the video memory cache. On the one hand, the backend server is used to uniformly process the rendering tasks, reduce the frontend performance requirements, support lightweight frontends, and solve the problem that traditional CAD relies on local computing resources, complex model rendering requires extremely high frontend performance, and cannot synchronize multi-user operations in real time. On the other hand, all users operate based on the same video memory cache data, ensuring that add, delete, and modify operations (such as model editing and property adjustment) are synchronized to all frontends in real time, solving the data delay and screen tearing problems in traditional tools. The view layer includes view sets that are connected to the front end in a one-to-one correspondence. Any view set includes a viewport layout module and a video encoding module. On the one hand, users can independently adjust viewport parameters (camera orientation, display style) through the front end. For example, user A views the structure in wireframe mode, and user B views the same model in solid rendering mode. Some auxiliary functions (such as coordinate system and capture) are only effective in the current view set, avoiding multi-user operation conflicts and solving the problem of multi-user view coupling in current cloud-based CAD, mutual interference in operations, and inability to support personalized display needs. On the other hand, the viewport layout canvas is encoded into a video stream. Compared with transmitting original CAD data, it reduces bandwidth usage and adapts to high concurrency and weak network environments. In addition, the front end only needs to decode the video stream to support smooth operation of low-performance devices.
[0037] The CAD core layer uses a shared video memory cache to enable any front-end to perform real-time synchronization operations on the same CAD file data. Any front-end performs real-time synchronization operations on the video memory cache data corresponding to the same CAD file data, which are pushed to all front-ends through the network communication module. All viewports share the video memory cache of the same CAD file data, and generate differentiated rendering images based on the rendering data in the video memory cache, which are pushed to the corresponding front-ends through video streams. This solves the problem of "operation log synchronization" or "incremental data transmission" used in existing cloud CAD technologies, which requires frequent parsing of geometric data in CAD file data, resulting in delays and performance bottlenecks. Each front-end user directly modifies the video memory cache corresponding to the same CAD file data, and all viewports generate differentiated rendering images based on the rendering data in the same video memory cache, avoiding the geometric data parsing overhead, and supporting multiple users to edit the same CAD file online at the same time, thereby achieving interactive free modeling and parametric modeling in a multi-user online collaborative scenario.
[0038] (2) In the cloud-based CAD online collaborative system based on cloud rendering technology of the present invention, the view set also includes a message management module for receiving data sent by the corresponding front end through the network communication module and distributing it to the corresponding module in the view set, while transmitting the response data generated by the corresponding module back to the corresponding front end. This solves the problem of traditional cloud-based CAD lacking a unified message distribution mechanism, which leads to command loss or processing delay. The message management module of the present invention, on the one hand, classifies and distributes front-end commands (such as keyboard and mouse events, tool parameters) to corresponding modules (such as viewport layout modules), reducing processing link redundancy; on the other hand, the front end only needs to send formatted messages, without having to perceive the details of the back-end modules, thereby reducing system coupling.
[0039] In the cloud-based online CAD collaborative system based on cloud rendering technology, the viewset includes a tool module for receiving and responding to data distributed by the message management module within the viewset. The viewset also reads and writes CAD file data in the storage layer, performs geometric modeling, adds attributes, and renders it via the CAD core layer. The viewset also includes an auxiliary coordinate module, a precision drawing module, and a precision capture module for receiving and responding to data distributed by the message management module within the viewset. Each front-end user achieves an efficient fusion of collaborative operation and user independence through their own independent viewset, as follows:
[0040] As the core interface for user operations, the tool module receives and parses instruction data (such as modeling commands and parameter settings) distributed by the message management module in this view set. By calling the geometric modeling, attribute attachment, and file reading and writing functions of the CAD core layer, it performs real-time synchronization operations on the same CAD file data in the storage layer, enabling multiple users to edit the same CAD file online at the same time. The auxiliary coordinate module, precise drawing module, and precise capture module only work on the current view set to ensure that multi-user operations do not interfere with each other. All users synchronize model addition, deletion, and modification operations (such as creating features and modifying attributes) in real time through the shared video memory cache to ensure data consistency; users can freely adjust viewport parameters (rotation, scaling), enable personalized auxiliary functions (such as highlighting rules), and implement customized design processes through independent auxiliary modules.
[0041] Through the decoupling design of tool modules and auxiliary function modules, the system not only ensures real-time collaboration of multiple users on core data, but also supports a highly personalized operation experience. It solves the contradiction between "high operational coupling" and "low user freedom" in traditional CAD collaboration tools, and provides a flexible and efficient technical foundation for team collaboration in complex engineering scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 This is a schematic diagram of the overall structure of an embodiment of a cloud-based CAD online collaborative system based on cloud rendering technology of the present invention;
[0043] Figure 2 This is a schematic diagram of the front-end viewport layout canvas structure of an embodiment of a cloud-based CAD online collaborative system based on cloud rendering technology of the present invention;
[0044] Figure 3 This is a schematic diagram of the front-end page structure of an embodiment of a cloud-based CAD online collaborative system based on cloud rendering technology of the present invention;
[0045] Figure 4 A schematic diagram of an embodiment of a method for utilizing a cloud-based CAD online collaborative system based on cloud rendering technology according to the present invention;
[0046] Figure 5 The present invention is a schematic diagram of the steps of an embodiment of a method of using a cloud-based CAD online collaborative system based on cloud rendering technology. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0048] In the description of the present invention, it should be understood that the terms "upper", "lower", "front", "back", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention.
[0049] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected" and "connected" should be understood in a broad sense. For example, it can be a fixed connection, an integral connection, or a detachable connection; it can be the internal communication of two components; it can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0050] Example 1
[0051] The cloud CAD online collaborative system based on cloud rendering technology in this embodiment is as follows: Figure 1 As shown, it includes a backend, at least one frontend, and a network communication module for real-time communication between each frontend and the backend.
[0052] The front-end architecture of this embodiment implements user interaction and service response based on a Web browser. Its core functions include: receiving user access requests, dynamically rendering the UI interface, and managing data flow, video flow and signaling interaction between the front-end and back-end. Figure 2 and Figure 3 As shown in the figure, the UI interface adopts a modular design with different regions. Through the high cohesion and low coupling component layout, it realizes efficient human-computer interaction and multi-task parallel processing. The specific area division and function definition are shown in Table 1:
[0053] Table 1. Front-end area division and core components
[0054] area Component Type Functional Description Interactive Features A Menu and toolbar components Integrated global functions such as file management (open / save / export), view control (zoom / rotate), tool chain activation (modeling / analysis), etc. Resident, globally available B Property Component Real-time display and editing of the geometric parameters (size, angle) of the currently selected model Data-driven, dynamic updates C Evocative command interaction component Pops up when executing specific tools (such as chamfering and lofting), receives user input parameters (such as radius and path), and supports real-time preview and adjustment Context-sensitive, activated on demand D Video streaming component Decodes and renders the viewport layout canvas video stream pushed by the backend, supporting multi-viewport switching (tiling / split screen) and canvas interaction event capture Low latency E Message display component Display system status (connection status, rendering progress), operation feedback (success / error prompts) and collaborative notifications (summary of other users' operations) Graded alarm F Resident command interaction component Provides basic interactive functions (select / drag / delete), shortcut command input (coordinate positioning, command abbreviations), and collaborative session management (chat / annotation) Globally available, supports shortcut key binding
[0055] The backend consists of a storage layer, a CAD core layer, and a view layer. The storage layer stores CAD file data, eliminating the need for frequent file copy transfers during multi-user collaboration, which can lead to version conflicts and data redundancy. Furthermore, CAD file data only needs to be loaded into the graphics card cache once, allowing multiple users to share resources and reduce repeated read overhead.
[0056] The CAD core layer is used to process and update CAD file data in the storage layer in real time based on data sent by any front-end, and to render the processed and updated CAD file data to the graphics memory cache. This utilizes back-end servers to centrally handle rendering tasks, reducing front-end performance requirements and supporting lightweight front-ends. This addresses the issues of traditional CAD relying on local computing resources, requiring extremely high front-end performance for rendering complex models, and being unable to synchronize multi-user operations in real time. Furthermore, all users operate on the same graphics memory cache data, ensuring that add, delete, and modify operations (such as model editing and property adjustment) are synchronized to all front-ends in real time, resolving data latency and screen tearing issues often encountered with traditional tools.
[0057] In this embodiment, the CAD core layer includes a geometric modeling module, an image rendering module, an attribute system module, and a file reading and writing module.
[0058] The file reading and writing module is used for persistent storage and loading of CAD file data in the storage layer. In this embodiment, the file reading and writing module is used to load the CAD file data in the storage layer into the memory of the back-end server so that any front-end user can process and update the same CAD file data in real time. It is also used to store the CAD file data processed and updated in real time in the storage layer.
[0059] The geometry modeling module is used to load CAD file data into the backend server memory to perform calculations and operations related to geometric models. Specifically, it includes the generation and editing of geometric bodies, topological relationship management, and the implementation of geometric algorithms. The details include the following:
[0060] Geometry Generation: Supports the creation of basic geometric entities (points, lines, surfaces, and solids), such as generating 3D entities through operations such as stretching, rotating, and sweeping. It provides parametric modeling capabilities, such as dynamically adjusting geometric shapes through dimension-driven operations (such as defining the radius and height of a cylinder). It also implements complex geometric operations such as Boolean operations (union, difference, intersection), chamfers, fillets, and surface lofting.
[0061] Geometry Editing: Supports transformation operations such as translation, rotation, scaling, and mirroring of geometric bodies; provides local editing functions, such as direct operation of vertices / edges / faces, and can drag vertices to adjust the local shape of the model; implements historical feature tree management, allowing users to retrace and modify modeling steps (such as modifying extrusion depth or sketch outline).
[0062] Topology and tolerance processing: Manage the topological relationships between geometric bodies (such as face-edge association and solid-shell nesting); handle geometric tolerance issues (such as repairing small gaps and optimizing surface continuity) to ensure the manufacturability of the model.
[0063] The attribute system module is used to add geometric model attributes. The attribute additions include basic attributes (layer, color, line type, line width, transparency) and user-defined extended attributes, including the following:
[0064] Basic property editing: Modify the layer, color, line type, and line width of model elements, and the display characteristics of the model will change accordingly;
[0065] Adding, modifying, querying, and deleting user-defined extended attributes: This refers to user-defined attribute types, the fields they contain, and the values of each field. By creating a user-defined type and attaching an instance of that type to a model element, users can query or modify the values of each field within it.
[0066] The image rendering module is used to convert CAD file data into visual graphics, generate high-quality renderings to the video memory cache through GPU acceleration, and achieve real-time interaction.
[0067] The view layer includes view sets that are connected one-to-one with the front end. Any view set includes:
[0068] A viewport layout module, configured to combine at least one viewport to form a viewport layout canvas, wherein any viewport is used to generate a rendering image based on rendering data in a video memory cache;
[0069] The video encoding module encodes the viewport layout canvas into a video stream and pushes it to the corresponding front-end via the network communication module. Users can independently adjust viewport parameters (camera orientation, display style) through the front-end. For example, user A can view a structure in wireframe mode, while user B can view the same model in solid rendering mode. Some auxiliary functions (such as coordinate systems and snapping) are only effective within the current view set, avoiding conflicts between multiple users. This solves the current problem of multi-user view coupling in cloud-based CAD, which interferes with each other's operations and cannot support personalized display needs. Furthermore, the viewport layout canvas is encoded into a video stream, which reduces bandwidth usage compared to transmitting raw CAD data, making it suitable for high-concurrency and weak network environments. Furthermore, the front-end only needs to decode the video stream, supporting smooth operation on low-performance devices.
[0070] In this embodiment, the CAD core layer realizes real-time synchronization operation of the same CAD file data by any front-end through shared video memory cache. Any front-end performs real-time synchronization operation on the video memory cache data corresponding to the same CAD file data, which is pushed to all front-ends through the network communication module. All viewports share the video memory cache of the same CAD file data, and generate differential rendering images based on the rendering data in the video memory cache, which are pushed to the corresponding front-end through the video stream, solving the problem of "operation log synchronization" or "incremental data transmission" used in the existing cloud CAD technology, which requires frequent parsing of geometric data in the CAD file data, resulting in delays and performance bottlenecks. Each front-end user directly modifies the video memory cache corresponding to the same CAD file data, and all viewports generate differential rendering images based on the rendering data in the same video memory cache, avoiding the geometric data parsing overhead, and supporting multiple users to edit the same CAD file online at the same time, thereby realizing interactive free modeling and parametric modeling in a multi-user online collaborative scenario.
[0071] Each view set also includes a message management module for receiving data sent by the corresponding front-end through the network communication module and distributing it to the corresponding module in this view set. At the same time, it transmits the response data generated by the corresponding module back to the corresponding front-end. This solves the problem of traditional cloud-based CAD lacking a unified message distribution mechanism, which leads to command loss or processing delays. On the one hand, the message management module of the present invention classifies and distributes front-end commands (such as keyboard and mouse events, tool parameters) to corresponding modules (such as viewport layout modules), reducing processing link redundancy; on the other hand, the front-end only needs to send formatted messages, without the need to perceive the details of the back-end modules, thereby reducing system coupling.
[0072] Any view set also includes a tool module for receiving and responding to data distributed by the message management module in this view set, and performing reading and writing, geometric modeling, attribute addition, and rendering on the CAD file data in the storage layer through the CAD core layer. In this embodiment, each front end completes interactive modeling through the tool module in the corresponding view set, specifically by transmitting operation instructions to the CAD core layer through the tool module. The file reading and writing module in the CAD core layer transmits operation instructions based on any view set tool module to perform persistent storage and loading of CAD file data; the geometric modeling module in the CAD core layer transmits operation instructions based on any view set tool module to perform geometric generation, modification, or deletion of CAD file data; the attribute system module in the CAD core layer transmits operation instructions based on any view set tool module to perform attribute addition on the CAD file data, and the attribute addition includes layer, color, line type, line width, transparency, and user-defined extended attributes; the image rendering module in the CAD core layer is used to render the data processed and updated by the file reading and writing module, geometric modeling module, and attribute system module to the video memory cache.
[0073] Each view set also includes an auxiliary coordinate module, a precise drawing module, and a precise capture module, which receive and respond to data distributed by the message management module within that view set. The auxiliary coordinate module provides switching and alignment capabilities between multiple reference coordinate systems during modeling. The precise drawing module generates temporary auxiliary drawing elements, constructs a local coordinate system, processes user-entered coordinate values within that coordinate system, and automatically clears the drawing process upon completion. The precise capture module automatically snaps to geometric feature points or auxiliary lines during drawing operations and dynamically adjusts capture sensitivity. The tool module, serving as the core interface for user operations, receives and interprets command data (such as modeling commands and parameter settings) distributed by the message management module within the view set. By invoking the geometric modeling, attribute addition, and file read / write functions of the CAD core layer, it synchronizes data on the same CAD file in the storage layer in real time, enabling multiple users to edit the same CAD file simultaneously online. The auxiliary coordinate module, precise drawing module, and precise capture module operate only within the current view set, ensuring that multiple users do not interfere with each other's operations. All users synchronize model addition, deletion, and modification operations (such as creating features and modifying attributes) in real time through a shared graphics memory cache to ensure data consistency. Users can freely adjust viewport parameters (rotation and scaling), enable personalized auxiliary functions (such as highlighting rules), and implement customized design processes through independent auxiliary modules.
[0074] Through the decoupling design of tool modules and auxiliary function modules, the system not only ensures real-time collaboration of multiple users on core data, but also supports a highly personalized operation experience. It solves the contradiction between "high operational coupling" and "low user freedom" in traditional CAD collaboration tools, and provides a flexible and efficient technical foundation for team collaboration in complex engineering scenarios.
[0075] In this embodiment, each viewport is configured with an independent camera orientation, display style, and projection mode. The viewport generates a rendered image based on the rendering data in the video memory cache, using the corresponding camera orientation, display style, and projection mode. On the one hand, all viewports share the same video memory cache, avoiding duplicate rendering. On the other hand, differentiated images are generated based on the shared video memory cache, supporting personalized collaboration. Although there are many viewports, only one rendering operation is required by the backend server, and the rendering overhead is similar to that of a single viewport.
[0076] The network communication module includes a media channel and a data channel. The media channel is used to push the video stream encoded by the video encoding module in the view set to the corresponding front end, and the data channel is used for data exchange between the message management module in the view set and the corresponding front end. In this embodiment, WebRTC is used to realize two-way communication between the media channel (video stream) and the data channel (command). On the one hand, keyboard and mouse events and tool commands are transmitted through the data channel, and the end-to-end delay is less than 100ms, which is close to the local operation experience. WebRTC has built-in anti-packet loss and dynamic bit rate adjustment to ensure operational continuity in complex network environments; on the other hand, it is based on Web standards and can run on browsers, iOS, Android and other platforms without installing plug-ins, breaking through the desktop limitations of traditional CAD, supporting real-time access from multiple terminals, and adapting to remote office and mobile office scenarios.
[0077] Example 2
[0078] This embodiment provides a method for utilizing the cloud-based CAD online collaboration system based on the cloud rendering technology, including the following steps:
[0079] Step S01: Create a view set and establish a communication link. Create an independent view set for each front end and establish a real-time communication connection through the network communication module.
[0080] Step S02: real-time processing and rendering of CAD file data. In response to requests from various front-ends, the CAD core layer processes and updates the same CAD file data in the storage layer in real time, and renders the updated data to the video memory cache.
[0081] Step S03: generating a viewport layout and a video stream. Each viewset generates an independent viewport layout canvas based on the same rendering data in the video memory cache through the viewport layout module in the viewset, and encodes the canvas into a corresponding video stream through the video encoding module in the viewset.
[0082] Step S04: data synchronization and front-end push: push the video stream to the front-end display corresponding to the current view set through the network communication module.
[0083] Preferably, step S01 specifically includes the following steps:
[0084] Step S011: The front-end request is initialized. The user initiates an access request through the front-end (such as a web browser). The front-end service sends a file open instruction to the scheduling service. The scheduling service checks the status of the target CAD file:
[0085] If the file is not loaded: start a new CAD service process, load the CAD file into the memory through the file reading and writing module, and parse the data through the geometric modeling module and the attribute system module;
[0086] If the file has been loaded: directly associate with the existing CAD service process and reuse the initialized video memory cache resources.
[0087] Step S012: Create a view set. Create an independent view set for each front end and initialize the following core components:
[0088] Message management module: establishes a data channel to receive front-end commands (such as keyboard and mouse events, tool parameters) and distribute them to the corresponding back-end modules. At the same time, it transmits the response messages generated by the back-end (such as operation results, status updates) back to the front-end, realizing two-way real-time communication of front-end and back-end commands and data, and ensuring the immediacy and accuracy of interactive operations.
[0089] Tool module: provides a set of modeling and editing tools (such as selection tools, drawing tools, transformation tools, Boolean operation tools, etc.), and coordinates the tool status switching (such as start, pause, end) and parameter configuration through the tool manager, supporting users to complete interactive modeling through tools. The tool logic is linked with the geometric modeling module, image rendering module, attribute system module and file reading and writing module of the CAD core layer.
[0090] Auxiliary Coordinate Module: Provides switching and alignment functions for multiple reference coordinate systems (such as the world coordinate system, local coordinate system, and user-defined coordinate system), assisting users in precise modeling, simplifying the positioning and orientation problems of complex geometric operations, and improving modeling efficiency.
[0091] Precision Drawing Module: Generates temporary auxiliary elements (such as reference lines, annotations, highlight previews, and local coordinate system indicators), builds a local coordinate system, processes the coordinate values entered by the user in this coordinate system, and automatically clears the system after the user completes the operation. It visually guides users to complete complex operations (such as chamfering and lofting) to avoid directly modifying CAD file data.
[0092] User prompt information: Real-time display of operation feedback (such as tool instructions, error warnings, and progress prompts) is presented through status bars, pop-ups, or floating labels to enhance users' perception of system status and operation results, reducing the probability of incorrect operations.
[0093] Precision Capture Module: Automatically snaps to geometric feature points (such as endpoints, midpoints, center points, and intersections) or auxiliary lines (such as grids and axes), supports dynamic capture sensitivity adjustment, ensures the accuracy of user operations (such as drawing and editing), and reduces manual calibration errors.
[0094] Session management module: Maintains the current independent session state of the front-end user, including the currently activated tool, operation history (such as undo / redo stack), user preferences (such as shortcut key bindings), temporary data (such as unsaved modeling drafts), isolates the operation context of different users, and ensures that multiple users do not interfere with each other when operating concurrently.
[0095] Viewport layout module: Generates the initial viewport layout canvas based on the current front-end user preferences (such as single viewport, four viewport split screen).
[0096] Step S013: A WebRTC connection is established, and a two-way communication link is established through the WebRTC protocol. The media channel uses a dynamic bit rate to adapt to network conditions. The data channel uses the Protobuf protocol to encapsulate command data to ensure efficient serialization and parsing. After the signaling exchange (SDP / ICE) is completed, the backend and frontend enter a real-time communication state.
[0097] Preferably, the front-end request includes global instructions, and the global instructions include create, edit or delete model instructions and attribute addition instructions.
[0098] The global instruction directly updates the video memory cache corresponding to the same CAD file data through the CAD core layer, thereby triggering the synchronous update of the rendering screen of each viewport in each view set, and is encoded into a video stream through the video encoding module in each view set, and pushed to the corresponding front-end display through the network communication module.
[0099] The front-end request also includes local instructions, including selected model highlighting instructions, temporary auxiliary element display instructions, and viewport control instructions.
[0100] The local instruction only triggers the synchronous update of the viewport rendering screen in the view set that communicates with the current front end in real time, and is encoded into a video stream through the video encoding module in this view set, and pushed to the current front end display through the network communication module.
[0101] Preferably, step S02 specifically includes the following steps:
[0102] Front-end instruction processing, the message management module in each view set receives the global instructions and local instructions of the corresponding front end and distributes them to the module corresponding to this view set. The global instructions connect the geometric modeling module, image rendering module, attribute system module and file reading and writing module in the CAD core layer through the tool module to read, geometrically model and attach attributes of the same CAD file data in the storage layer, and at the same time render the real-time processed and updated data to the video memory cache. The viewports of all view sets share the same video memory cache to ensure data consistency.
[0103] Preferably, step S03 specifically includes the following steps:
[0104] Viewport layout and video stream generation: Each viewport generates differentiated renderings based on a shared video memory cache, combined with independently configured camera orientation, display style, and projection mode. The viewport layout module in each viewset arranges multiple viewports according to the corresponding front-end user settings (e.g., grid, primary and secondary viewports), generating a complete viewport layout canvas. This viewport layout canvas is encoded into a video stream by the corresponding video encoding module in that viewset.
[0105] It should be noted that global commands, including creating a model, deleting a model, editing model properties, or appending model properties, modify the video memory cache data through the CAD core layer, triggering an update of all viewport rendering images, and pushing them to all front-ends via the video stream. Local command temporary operations (such as selecting highlights and drawing auxiliary lines) only update the temporary video memory area of the current view set, and the video stream is only pushed to the current front-end. The temporary data is automatically cleared after the operation is completed, and is not written to the storage layer, and does not trigger synchronization with other front-ends.
[0106] Preferably, step S04 specifically includes the following steps:
[0107] The viewport layout canvas is transmitted to the corresponding front-end through the WebRTC network communication module. After the front-end receives the video stream, it is decoded into picture frames in real time through the decoder. The decoded pictures are rendered to the front-end viewport layout canvas through Canvas or WebGL.
[0108] In short, the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A cloud-based CAD online collaborative system based on cloud rendering technology, characterized by: It includes a backend, at least one frontend, and a network communication module for real-time communication between each frontend and the backend; the backend includes: Storage layer, used to store CAD file data; A CAD core layer, configured to process and update the CAD file data in the storage layer in real time based on data sent by any of the front ends, and to render the processed and updated CAD file data to a video memory cache; The view layer includes view sets connected to the front end in a one-to-one correspondence, and any view set includes: A viewport layout module, configured to combine at least one viewport to form a viewport layout canvas, wherein any of the viewports is configured to generate a rendering image based on the rendering data in the video memory buffer; A video encoding module, configured to encode the viewport layout canvas into a video stream and push the video stream to the corresponding front end via the network communication module; The message management module is used to receive data sent by the corresponding front end through the network communication module, distribute it to the corresponding module in the current view set, and transmit the response data generated by the corresponding module back to the corresponding front end; The CAD core layer shares the video memory cache, thereby enabling any front-end to perform real-time synchronization operations on the same CAD file data. Any front-end performs real-time synchronization operations on the video memory cache data corresponding to the same CAD file data, which are pushed to all front-ends through the network communication module.
2. A cloud-based CAD online collaborative system based on cloud rendering technology according to claim 1, characterized in that: Any of the view sets also includes a tool module for receiving and responding to data distributed by the message management module in the view set, and reading and writing, geometric modeling, attribute addition and rendering of CAD file data in the storage layer through the CAD core layer.
3. The cloud-based CAD online collaborative system based on cloud rendering technology according to claim 2, characterized in that: The CAD core layer includes a geometric modeling module, an image rendering module, an attribute system module and a file reading and writing module; The file reading and writing module transmits an operation instruction from any of the view concentration tool modules to persistently store and load the CAD file data; The geometric modeling module performs geometric generation, modification or deletion on the CAD file data based on the operation instructions transmitted by any of the view concentration tool modules; The attribute system module adds attributes to the CAD file data based on the operation instructions transmitted by any of the view concentration tool modules, and the attribute additions include layer, color, line type, line width, transparency, and user-defined extended attributes; The image rendering module is used to render the data processed and updated by the file reading and writing module, the geometric modeling module and the attribute system module into the video memory cache.
4. A cloud-based CAD online collaborative system based on cloud rendering technology according to any one of claims 1 to 3, characterized in that: Any of the view sets further comprises an auxiliary coordinate module, a precise drawing module and a precise capture module for receiving and responding to data distributed by the message management module in the view set; The auxiliary coordinate module is used to provide switching and alignment functions of multiple reference coordinate systems in modeling; The precise drawing module is used to generate temporary auxiliary drawing elements, build a local coordinate system, process the coordinate values input by the user in the coordinate system, and automatically clear the drawing after completion. The precise capture module is used for automatically adsorbing geometric feature points or auxiliary lines during drawing operations, as well as for dynamic capture sensitivity adjustment.
5. The cloud-based CAD online collaborative system based on cloud rendering technology according to claim 4, characterized in that: Any of the viewports is configured with an independent camera orientation, display style and projection mode. The viewport generates a rendering image based on the rendering data in the video memory buffer through the corresponding camera orientation, display style and projection mode.
6. A cloud-based CAD online collaborative system based on cloud rendering technology according to any one of claims 1 to 3 or 5, characterized in that: The network communication module includes a media channel and a data channel. The media channel is used to push the video stream encoded by the view set video encoding module to the corresponding front end, and the data channel is used for data exchange between the view set message management module and the corresponding front end.
7. A method for using the cloud CAD online collaboration system based on cloud rendering technology as described in any one of claims 1 to 6, characterized in that: The steps include: The view set creation and communication link establishment are to create an independent view set for each front end and establish a real-time communication connection through the network communication module; The CAD file data is processed and rendered in real time, and in response to each front-end request, the CAD file data in the storage layer is processed and updated in real time through the CAD core layer, and the updated data is rendered to the video memory cache; The viewport layout and the video stream are generated, and each view set generates an independent viewport layout canvas based on the same rendering data in the video memory cache through the viewport layout module in the view set, and is encoded into a corresponding video stream through the video encoding module in the view set; Data synchronization and front-end push: push the video stream to the front-end display corresponding to the current view set through the network communication module.
8. The method for operating a cloud-based CAD online collaborative system based on cloud rendering technology according to claim 7, characterized in that: The front-end request includes a global instruction, and the global instruction includes a create, edit or delete model instruction, and an attribute addition instruction; The global instruction directly updates the video memory cache corresponding to the same CAD file data through the CAD core layer, thereby triggering the synchronous update of the viewport rendering screen in each view set, and is encoded into a video stream by the video encoding module in each view set, and pushed to the corresponding front-end display through the network communication module.
9. The method for operating a cloud-based CAD online collaborative system based on cloud rendering technology according to claim 8, characterized in that: The front-end request also includes local instructions, which include selected model highlighting instructions, temporary auxiliary element display instructions, and viewport control instructions; The local instruction only triggers the synchronous update of the viewport rendering screen in the view set that communicates with the current front end in real time, and is encoded into a video stream through the video encoding module in this view set, and pushed to the current front end display through the network communication module.
Citation Information
Patent Citations
Cloud CAD processing system and construction method thereof
CN116415321A
CAD drawing sharing and discussing system and method thereof, terminal, server, electronic device, and storage medium
WO2021104455A1