Cloud rendering technology-based cloud CAD online collaboration system and cloud rendering technology-based cloud CAD online collaboration method
Through the cloud CAD online collaborative system based on cloud rendering technology, the backend shared video cache is used to realize real-time collaborative design of multiple users, solving the shortcomings of traditional CAD software in the collaborative design and performance requirements of multi-user, and improving design efficiency and collaboration capabilities.
Patent Information
- Application Number
- CN202510630566.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-16
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2045-05-16
AI Technical Summary
The existing technology is difficult to realize multi-user online collaborative design, the collaboration efficiency is low, data synchronization is not timely, and traditional CAD software has high computer performance requirements, the software installation package is huge, and it is inconvenient to use.
The cloud CAD online collaboration system based on cloud rendering technology is adopted to realize real-time collaborative design of multi-users through the back-end storage layer, CAD core layer and view layer. The CAD core layer realizes real-time synchronization of the same CAD file data by sharing video caches by multiple users.
It realizes that multiple users can edit the same CAD file online at the same time, improves design efficiency and team collaboration capabilities, reduces front-end performance requirements, supports lightweight front-end, and solves the problems of data delay and picture tearing.
Smart Images

Figure CN120145484A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computer-aided design, and particularly to a cloud CAD online collaboration system and method based on cloud rendering technology. Background Art
[0002] Computer Aided Design (CAD) technology, relying on computers and their advanced graphics processing capabilities, provides powerful design assistance for designers. In the fields of engineering design and product development, CAD technology not only undertakes complex calculation tasks but also realizes the efficient storage and precise drawing of design information. During the design process, designers can use the computer to perform detailed calculations, in-depth analysis, and comprehensive comparison of different design schemes, so as to accurately select the optimal scheme. At the same time, various design information, whether it is digital data, text descriptions, or graphic materials, can be safely stored in the computer's memory or external storage devices and can be quickly retrieved and called. Designers usually start with sketches, and the cumbersome process of converting sketches into professional working drawings can be automatically completed by the computer, greatly improving the design efficiency. In addition, CAD technology also has powerful graphic data processing capabilities, such as editing, scaling, panning, rotating, etc., providing designers with rich design means.
[0003] As one of the core technologies in the field of modern engineering design, the mainstream software of CAD technology, such as AutoCAD, Rivet, Microstation, CATIA, etc., are all powerful desktop applications. However, these software have relatively high requirements for computer performance, and the software installation package is huge, which brings certain inconvenience to use. With the continuous improvement of the requirements for design work efficiency, the problems of these traditional CAD software in terms of the performance requirements of client computers, usability, collaborative work ability, data management, and software upgrade are becoming increasingly prominent. To address these challenges, cloud CAD solutions have emerged, aiming to solve the limitations of traditional CAD software through cloud computing technology.
[0004] Nevertheless, at the current stage, client CAD software still occupies the mainstream position in the market. However, its inherent defects, especially the inability to achieve multi-user online collaborative design, have severely restricted the improvement of design efficiency and team collaboration ability. In contrast, although the existing cloud CAD technology has alleviated these problems to a certain extent, there are still many deficiencies in the implementation of multi-user online collaborative design, such as low collaborative efficiency and untimely data synchronization. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to provide a cloud CAD online coordination system and method based on cloud rendering technology that can support multiple users to simultaneously edit the same CAD file online, so as to achieve interactive free modeling and parametric modeling in a multi-user online collaboration scenario.
[0006] To solve the above technical problem, the technical solution provided by the present invention is a cloud CAD online collaboration system based on cloud rendering technology, including a backend, at least one frontend, and a network communication module for real-time communication between each frontend and the backend; the backend includes: A storage layer for storing CAD file data; A CAD core layer for performing real-time processing and updating on the CAD file data in the storage layer based on the data sent by any one of the frontends, and for rendering the real-time processed and updated CAD file data into the video memory cache; A view layer including a view set connected to each frontend one by one, and any one of the view sets includes: A viewport layout module for combining at least one viewport to form a viewport layout canvas, and any one of the viewports is used to generate a rendered image based on the rendering data in the video memory cache; A video encoding module for encoding the viewport layout canvas into a video stream and pushing it to the corresponding frontend through the network communication module; The CAD core layer realizes real-time synchronization operations on the same CAD file data by any one of the frontends by sharing the video memory cache, and any real-time synchronization operation on the video memory cache data corresponding to the same CAD file data by any one of the frontends is pushed to all the frontends through the network communication module.
[0007] In a preferred embodiment, any one of the view sets further includes a message management module for receiving the data sent by the corresponding frontend through the network communication module, distributing it to the corresponding modules within this view set, and at the same time returning the response data generated by the corresponding modules to the corresponding frontend.
[0008] In a preferred embodiment, any one of the view sets further includes a tool module for receiving and responding to the data distributed by the message management module in this view set, and performing reading, writing, geometric modeling, attribute attachment, and rendering on the CAD file data in the storage layer through the CAD core layer.
[0009] 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; The file reading and writing module performs persistent storage and loading on the CAD file data based on the operation instructions transmitted by the tool module in any one of the view sets; The geometric modeling module generates, modifies, or deletes geometry for the CAD file data based on the operation instructions transmitted by any of the tool modules in the view set. The attribute system module attaches attributes to the CAD file data based on the operation instructions transmitted by any of the tool modules in the view set. The attribute attachment includes layer, color, linetype, 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, geometric modeling module, and attribute system module to the video memory cache.
[0010] In a preferred embodiment, any of the view sets further includes an auxiliary coordinate module, a precise drawing module, and a precise snap module for receiving and responding to the data distributed by the message management module in the present view set. The auxiliary coordinate module is used to provide switching and alignment functions for multiple reference coordinate systems during modeling. The precise drawing module is used to generate temporary auxiliary drawing elements during drawing operations, construct a local coordinate system, and process the coordinate values input by the user in this coordinate system, and automatically clear them after completion. The precise snap module is used to automatically snap to geometric feature points or auxiliary lines during drawing operations and adjust the dynamic snap sensitivity.
[0011] In a preferred embodiment, any of the viewports is configured with an independent camera orientation, display style, and projection mode. The viewport generates a rendered image based on the rendered data in the video memory cache through the corresponding camera orientation, display style, and projection mode.
[0012] 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 interaction between the message management module in the view set and the corresponding front end.
[0013] The present invention also provides a method for operating any of the above cloud CAD online collaboration systems based on cloud rendering technology, including the following steps: Creation of the view set and establishment of the communication link, creating an independent view set for each front end, and establishing a real-time communication connection through the network communication module. Real-time processing and rendering of the CAD file data, in response to requests from each front end, performing real-time processing and updating of the same CAD file data in the storage layer through the CAD core layer, and rendering the updated data to the video memory cache. The viewport layout and the video stream are generated. 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 this view set, and encodes it into a corresponding video stream through the video encoding module in this view set; Data synchronization and front-end push. Through the network communication module, the video stream is pushed to the front-end display corresponding to this view set.
[0014] In a preferred embodiment, the front-end request includes global instructions, and the global instructions include model creation, editing or deletion instructions, and attribute attachment instructions; The global instructions directly update the video memory cache corresponding to the same CAD file data through the CAD core layer, thereby triggering synchronous updates of the viewport rendering screens in each of the view sets, encoding them into video streams through the video encoding modules in their respective view sets, and pushing them to the corresponding front-end display through the network communication module.
[0015] In a preferred embodiment, the front-end request further includes local instructions, and the local instructions include selected model highlighting instructions, temporary auxiliary element display instructions, and viewport control instructions; The local instructions only trigger synchronous updates of the viewport rendering screens in the view set that is in real-time communication with the current front-end, encode them into video streams through the video encoding module in this view set, and push them to the current front-end display through the network communication module.
[0016] The cloud CAD online collaboration system and method based on cloud rendering technology of the present invention have the following beneficial effects compared with the prior art: (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. The backend includes a storage layer, a CAD core layer, and a view layer. The storage layer is used to store CAD file data, which on the one hand solves the problem of frequent transmission of file copies during multi-user collaboration, resulting in 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 the overhead of repeated reading. The CAD core layer is used to perform real-time processing and update of the CAD file data in the storage layer based on the data sent by any frontend, and to render the CAD file data after real-time processing and update into the video memory cache. On the one hand, the backend server is used to uniformly process the rendering tasks, reducing the performance requirements of the frontend, supporting lightweight frontends, and solving the problems that traditional CAD depends on local computing resources, the rendering of complex models requires extremely high frontend performance, and it is impossible to synchronize multi-user operations in real time. On the other hand, all users operate based on the same video memory cache data, ensuring that addition, deletion, and modification operations (such as model editing, attribute adjustment) are synchronized to all frontends in real time, solving the problems of data latency and screen tearing in traditional tools. The view layer includes a view set corresponding to each frontend one by one. Any view set includes a viewport layout module and a video encoding module. On the one hand, users can independently adjust the viewport parameters (camera orientation, display style) through the frontend. 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 systems, snapping) are only effective for the current view set, avoiding multi-user operation conflicts and solving the problems of multi-user view coupling, interfering operations with each other, and being unable to support personalized display requirements in existing cloud CAD; on the other hand, the viewport layout canvas is encoded into a video stream, which reduces the bandwidth occupancy compared with transmitting the original CAD data, adapts to high concurrency and weak network environments, and the frontend only needs to decode the video stream to support smooth operation on low-performance devices.
[0017] The CAD core layer caches through shared video memory, enabling any front end to perform real-time synchronous operations on the data of the same CAD file. Any front end's real-time synchronous operation on the video memory cache data corresponding to the data of the same CAD file is pushed to all front ends through the network communication module. All viewports share the video memory cache of the same CAD file data. Based on the rendering data in the video memory cache, different rendering images are generated and pushed to the corresponding front ends through the video stream, solving the problems of latency and performance bottlenecks in the prior art's cloud CAD, which uses "operation log synchronization" or "incremental data transmission" and requires frequent parsing of geometric data in the CAD file data. Each front-end user directly modifies the video memory cache corresponding to the data of the same CAD file. All viewports generate different rendering images based on the rendering data in the same video memory cache, avoiding the overhead of geometric data parsing, and enabling multiple users to edit the same CAD file online simultaneously, thus achieving interactive free modeling and parametric modeling in a multi-user online collaboration scenario.
[0018] (2) In the cloud CAD online collaboration system based on cloud rendering technology of the present invention, the view set further includes a message management module, which is used to receive the data sent by the corresponding front end through the network communication module, distribute it to the corresponding modules within this view set, and at the same time return the response data generated by the corresponding modules to the corresponding front ends. This solves the problems of instruction loss or processing delay in traditional cloud CAD due to the lack of a unified message distribution mechanism. The message management module of the present invention, on the one hand, classifies and distributes front-end instructions (such as mouse and keyboard events, tool parameters) to the corresponding modules (such as viewport layout modules), reducing the redundancy of the processing link; on the other hand, the front end only needs to send formatted messages without being aware of the details of the back-end modules, reducing the system coupling degree.
[0019] In the cloud CAD online collaboration system based on cloud rendering technology of the present invention, the view set includes a tool module, which is used to receive and respond to the data distributed by the message management module in this view set, and perform reading and writing, geometric modeling, attribute attachment, and rendering on the CAD file data in the storage layer through the CAD core layer. The view set also includes an auxiliary coordinate module, a precise drawing module, and a precise capture module, which are used to receive and respond to the data distributed by the message management module in this view set. Each front-end user realizes the efficient integration of collaborative operation and user independence through their respective independent view sets, as follows: As the core interface for user operations, the tool module receives and parses the instruction data (such as modeling commands and parameter settings) distributed by the message management module within 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 simultaneously. The auxiliary coordinate module, precise drawing module, and precise capture module only act on the current view set to ensure that multi-user operations do not interfere with each other. All users perform real-time synchronization of model addition, deletion, and modification operations (such as creating features and modifying attributes) through the shared video memory cache to ensure data consistency; users can freely adjust viewport parameters (rotation, zoom), enable personalized auxiliary functions (such as highlighting rules), and implement customized design processes through independent auxiliary modules.
[0020] Through the decoupled design of the tool module and the auxiliary function module, the system not only ensures the real-time collaboration of multiple users on core data but also supports a highly personalized operation experience, solving the contradiction of "high operation coupling" and "low user freedom" in traditional CAD collaboration tools, providing a flexible and efficient technical foundation for team collaboration in complex engineering scenarios. Brief Description of the Drawings
[0021] Figure 1 It is a schematic diagram of the overall structure of an embodiment of a cloud-based CAD online collaboration system based on cloud rendering technology according to the present invention; Figure 2 It is a schematic diagram of the front-end viewport layout canvas structure of an embodiment of a cloud-based CAD online collaboration system based on cloud rendering technology according to the present invention; Figure 3 It is a schematic diagram of the front-end page structure of an embodiment of a cloud-based CAD online collaboration system based on cloud rendering technology according to the present invention; Figure 4 It is a schematic diagram of the operation logic of an embodiment of a method using a cloud-based CAD online collaboration system based on cloud rendering technology according to the present invention; Figure 5 It is a schematic diagram of the steps of an embodiment of a method using a cloud-based CAD online collaboration system based on cloud rendering technology according to the present invention. Detailed Description of the Invention
[0022] In order to make the objectives, technical solutions, and advantages of the present invention clearer and more understandable, 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 used to limit the present invention.
[0023] In the description of the present invention, it should be understood that the orientation or positional relationship indicated by the terms "upper", "lower", "front", "rear", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings. It is 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 should not be construed as a limitation to the present invention.
[0024] In the description of the present invention, it should be noted that unless otherwise clearly specified and limited, the terms "installed", "connected", and "coupled" 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 communication inside two elements; it can be directly connected, or indirectly connected through an intermediate medium. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific situations.
[0025] Embodiment 1
[0026] The cloud CAD online collaboration system based on cloud rendering technology in this embodiment, as Figure 1 shown, includes a backend, at least one frontend, and a network communication module for real-time communication between each frontend and the backend.
[0027] The frontend architecture in this embodiment is based on a Web browser to achieve user interaction and service response. Its core functions include: receiving user access requests, dynamically rendering the UI interface, and managing data streams, video streams, and signaling interactions between the frontend and the backend. As Figure 2 and Figure 3 shown, the UI interface adopts a regional modular design. Through a component layout with high cohesion and low coupling, efficient human-computer interaction and multi-task parallel processing are achieved. The specific area division and function definition are shown in Table 1: Table 1. Frontend Area Division and Core Components Region Component Type Function Description Interaction Feature A Menu and Toolbar Component Integrates global functions such as file management (open / save / export), view control (zoom / rotate), and toolchain activation (modeling / analysis) Permanent, globally available B Property Component Realtime displays and edits geometric parameters (dimensions, angles) of the currently selected model Data-driven, dynamically updated C Evoked Command Interaction Component Pop up when executing specific tools (such as chamfering, lofting), receive user input parameters (such as radius, path), and support realtime preview and adjustment Context-sensitive, activated as needed D Video Stream Playback Component Decodes and renders the viewport layout canvas video stream pushed by the backend, supports multi-viewport switching (tiled / split-screen) and canvas interaction event capture Low latency E Message Display Component Displays system status (connection status, rendering progress), operation feedback (success / error prompt), and collaboration notifications (summary of other users' operations) Hierarchical alarm F Permanent Command Interaction Component Provides basic interaction functions (select / drag / delete), shortcut command input (coordinate positioning, command abbreviation), and collaboration session management (chat / annotation) Globally available, supports shortcut key binding 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 transmission of file copies during multi-user collaboration, resulting in 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 the overhead of repeated reading.
[0028] The CAD core layer is used to perform real-time processing and updating on the CAD file data in the storage layer based on the data sent by any front end, and to render the real-time processed and updated CAD file data to the video memory cache. On the one hand, it uses the back-end server to uniformly process the rendering tasks, reducing the front-end performance requirements, supporting lightweight front-ends, and solving the problems that traditional CAD depends on local computing resources, complex model rendering has extremely high requirements for front-end performance, and it is impossible to synchronize multi-user operations in real time. On the other hand, all users operate based on the same video memory cache data, ensuring that addition, deletion, and modification operations (such as model editing and attribute adjustment) are synchronized to all front-ends in real time, solving the problems of data latency and screen tearing in traditional tools.
[0029] 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.
[0030] The file reading and writing module is used for the 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 perform real-time processing and updating on the same CAD file data, and is also used to store the real-time processed and updated CAD file data into the storage layer.
[0031] The geometric modeling module is used to perform calculations and operations related to geometric models on the CAD file data loaded into the back-end service memory, specifically including the generation, editing, topology relationship management of geometric bodies, and the implementation of geometric algorithms, specifically as follows: Geometric generation: Supports the creation of basic geometric bodies (points, lines, surfaces, solids), such as generating three-dimensional entities through operations such as stretching, rotating, and sweeping; provides parametric modeling capabilities, such as dynamically adjusting geometric shapes through dimension driving (such as defining the radius and height of a cylinder); implements complex geometric operations, such as Boolean operations (union, difference, intersection), chamfering, rounding, surface lofting, etc.
[0032] Geometric editing: Supports transformation operations such as translation, rotation, scaling, and mirroring of geometric bodies; provides local editing functions, such as direct operations on vertices / edges / faces, and allows dragging vertices to adjust the local shape of the model; implements historical feature tree management, allowing users to trace back and modify modeling steps (such as modifying the extrusion depth or sketch profile).
[0033] Topology and tolerance processing: Manages the topological relationships between geometric bodies (such as face-edge associations, solid-shell nesting); processes geometric tolerance problems (such as repairing tiny gaps and optimizing surface continuity) to ensure the manufacturability of the model.
[0034] The attribute system module is used for attaching geometric model attributes. Attribute attachment includes basic attributes (layer, color, linetype, line width, transparency) and user-defined extended attributes, specifically as follows: Basic attribute editing: Modify the layer, color, linetype, and line width of the model elements, and the display characteristics of the model will change accordingly. Attachment, modification, query, and deletion of user-defined extended attributes: It refers to user-defined attribute types, included fields, and the values of each field. Users can create custom types, attach instances of these types to model elements, and query or modify the values of each field.
[0035] The image rendering module is used to convert CAD file data into visual graphics, generate high-quality renders to the video memory cache through GPU acceleration to achieve real-time interaction.
[0036] The view layer includes a view set that is connected to the front end one-to-one. Any view set includes: The viewport layout module is used to combine at least one viewport to form a viewport layout canvas. Any viewport is used to generate a rendered image based on the rendered data in the video memory cache. The video encoding module is used to encode the viewport layout canvas into a video stream and push it to the corresponding front end through the network communication module. On the one hand, users can independently adjust the 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 systems, snapping) are only effective for the current view set to avoid multi-user operation conflicts, solving the problem of multi-user view coupling in existing cloud CAD, where operations interfere with each other and cannot support personalized display requirements. On the other hand, the viewport layout canvas is encoded into a video stream. Compared with transmitting the original CAD data, the bandwidth occupancy is reduced, adapting to high concurrency and weak network environments. Moreover, the front end only needs to decode the video stream to support smooth operation on low-performance devices.
[0037] In this embodiment, the CAD core layer realizes real-time synchronous operations on the same CAD file data by any front end through sharing the video memory cache. Any front end's real-time synchronous operations on the video memory cache data corresponding to the same CAD file data are pushed to all front ends through the network communication module. All viewports share the video memory cache of the same CAD file data. Based on the rendered data in the video memory cache, different rendered images are generated and pushed to the corresponding front ends through the video stream, solving the problems of latency and performance bottlenecks in the existing cloud CAD technology that uses "operation log synchronization" or "incremental data transmission" and requires frequent parsing of geometric data in CAD file data. Each front-end user directly modifies the video memory cache corresponding to the same CAD file data, and all viewports generate different rendered images based on the rendered data in the same video memory cache, avoiding the overhead of geometric data parsing, supporting multiple users to simultaneously edit the same CAD file online, and thus realizing interactive free modeling and parametric modeling in a multi-user online collaboration scenario.
[0038] Any view set further includes a message management module, which is configured to receive data sent by the corresponding front end through the network communication module and distribute it to the corresponding modules within the view set, and at the same time transmit the response data generated by the corresponding modules back to the corresponding front end. This solves the problems of the traditional cloud CAD, such as the lack of a unified message distribution mechanism, resulting in instruction loss or processing delay. The message management module of the present invention, on the one hand, classifies and distributes front-end instructions (such as mouse and keyboard events, tool parameters) to the corresponding modules (such as viewport layout modules), reducing the redundancy of the processing link; on the other hand, the front end only needs to send formatted messages without perceiving the details of the back-end modules, reducing the system coupling degree.
[0039] Any view set further includes a tool module, which is configured to receive and respond to the data distributed by the message management module in the view set, and perform reading and writing, geometric modeling, attribute attachment, 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, the tool module transmits operation instructions to the CAD core layer. The file reading and writing module in the CAD core layer persists and loads the CAD file data based on the operation instructions transmitted by the tool module in any view set; the geometric modeling module in the CAD core layer generates, modifies, or deletes the CAD file data based on the operation instructions transmitted by the tool module in any view set; the attribute system module in the CAD core layer attaches attributes to the CAD file data based on the operation instructions transmitted by the tool module in any view set. The attribute attachment includes layers, colors, line types, line widths, 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, the geometric modeling module, and the attribute system module to the video memory cache.
[0040] Any view set also includes an auxiliary coordinate module, a precise drawing module, and a precise capture module for receiving and responding to the data distributed by the message management module in this view set. The auxiliary coordinate module is used to provide functions for switching and aligning multiple reference coordinate systems in modeling; the precise drawing module is used to generate temporary auxiliary drawing elements, construct a local coordinate system, and process the coordinate values input by the user in this coordinate system during the drawing operation, and automatically clear them after completion; the precise capture module is used to automatically snap to geometric feature points or auxiliary lines during the drawing operation, and adjust the dynamic capture sensitivity. The tool module, as the core interface for user operations, receives and parses the instruction data (such as modeling commands, parameter settings) distributed by the message management module in this view set, and through calling the geometric modeling, attribute attachment, and file reading and writing functions of the CAD core layer, performs real-time synchronization operations on the data of the same CAD file in the storage layer, realizing the simultaneous online editing of the same CAD file by multiple users. The auxiliary coordinate module, the precise drawing module, and the precise capture module only act on the current view set to ensure that multi-user operations do not interfere with each other. All users perform real-time synchronization of model addition, deletion, and modification operations (such as creating features, modifying attributes) through the shared video memory cache to ensure data consistency; users can freely adjust the viewport parameters (rotation, zoom), enable personalized auxiliary functions (such as highlighting rules), and implement customized design processes through independent auxiliary modules.
[0041] Through the decoupled design of the tool module and the auxiliary function module, the system not only ensures the real-time collaboration of multiple users on core data but also supports a highly personalized operation experience, solving the contradiction of "high operation coupling" and "low user freedom" in traditional CAD collaboration tools, providing a flexible and efficient technical foundation for team collaboration in complex engineering scenarios.
[0042] In this embodiment, any 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 through the corresponding camera orientation, display style, and projection mode. On the one hand, all viewports share the same video memory cache to avoid repeated rendering. On the other hand, different images are generated based on the shared video memory cache to support personalized collaboration. Although there are many viewports, only the backend server needs to perform rendering once, and the rendering overhead is close to that of a single viewport.
[0043] 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 interaction 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 to multiple terminals, and adapting to remote office and mobile office scenarios.
[0044] Embodiment 2 This embodiment provides a method for using the cloud CAD online collaboration system based on the cloud rendering technology as described above, including the following steps: Step S01, creating a view set and establishing a communication link, creating an independent view set for each front end, and establishing a real-time communication connection through a network communication module; Step S02, real-time processing and rendering of CAD file data, responding to requests from each front-end, real-time processing and updating of the same CAD file data in the storage layer through the CAD core layer, and rendering the updated data to the video memory cache; Step S03, viewport layout and video stream generation, 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 encodes it into a corresponding video stream through the video encoding module in the view set; 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.
[0045] Preferably, step S01 specifically includes the following steps: 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 opening instruction to the scheduling service; the scheduling service checks the target CAD file status: 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; If the file has been loaded: directly associate with the existing CAD service process and reuse the initialized video memory cache resources.
[0046] Step S012, create a view set, create an independent view set for each front end, and initialize the following core components: Message Management Module: Establish a data channel to receive front-end instructions (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 (such as operation results, status updates) generated by the back-end back to the front-end, realizing two-way real-time communication of front-end and back-end instructions and data, and ensuring the immediacy and accuracy of interactive operations.
[0047] Tool Module: Provide a set of modeling and editing tools (such as selection tools, drawing tools, transformation tools, Boolean operation tools, etc.), and coordinate the state switching (such as start, pause, end) and parameter configuration of the tools through a 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 in the CAD core layer.
[0048] Auxiliary Coordinate Module: Provide the switching and alignment functions of multiple reference coordinate systems (such as world coordinate system, local coordinate system, user-defined coordinate system), assist users in precise modeling, simplify the positioning and orientation problems of complex geometric operations, and improve modeling efficiency.
[0049] Precise Drawing Module: Generate temporary auxiliary elements (such as reference lines, annotations, highlight previews, local coordinate system indicators), construct a local coordinate system and process the coordinate values input by the user in this coordinate system, and automatically clear them after the user completes the operation, visually guiding the user to complete complex operations (such as chamfering, lofting), and avoiding directly modifying the CAD file data.
[0050] User Prompt Information: Real-time display of operation feedback (such as tool usage instructions, error warnings, progress prompts), presented in the form of a status bar, pop-up window or floating label, enhancing the user's perception of the system status and operation results, and reducing the probability of misoperation.
[0051] Precise Snapping Module: Automatically snap to geometric feature points (such as endpoints, midpoints, centers, intersections) or auxiliary lines (such as grids, axes), support dynamic adjustment of snapping sensitivity, ensure the accuracy of user operations (such as drawing, editing), and reduce manual calibration errors.
[0052] Session Management Module: Maintain the current independent session state of front-end users, including currently active tools, operation history (such as undo / redo stack), user preferences (such as shortcut key bindings), and temporary data (such as unsaved modeling drafts), isolate the operation contexts of different users, and ensure that multi-user concurrent operations do not interfere with each other.
[0053] Viewport Layout Module: Generate an initial viewport layout canvas according to the current front-end user preferences (such as single viewport, four-viewport split screen).
[0054] Step S013, WebRTC connection establishment. A two-way communication link is established through the WebRTC protocol. Media channel: The dynamic bit rate adapts to the network conditions; data channel: The instruction data is encapsulated using the Protobuf protocol to ensure efficient serialization and parsing; after the signaling exchange (SDP / ICE) is completed, the backend and the frontend enter the real-time communication state.
[0055] Preferably, the frontend request includes global instructions, and the global instructions include instructions for creating, editing, or deleting models, and attribute attachment instructions.
[0056] The global instructions directly update the video memory cache corresponding to the data of the same CAD file through the CAD core layer, thereby triggering the synchronous update of the rendered images of each viewport in each view set, and after being encoded into a video stream by the video encoding module in their respective view sets, they are pushed to the corresponding frontend display through the network communication module.
[0057] The frontend request also includes local instructions, and the local instructions include instructions for highlighting the selected model, displaying temporary auxiliary elements, and viewport control instructions.
[0058] The local instructions only trigger the synchronous update of the rendered images of the viewports within the view set that is in real-time communication with the current frontend, and after being encoded into a video stream by the video encoding module in this view set, they are pushed to the current frontend display through the network communication module.
[0059] Preferably, step S02 specifically includes the following steps: Frontend instruction processing. The message management module in each view set receives the global instructions and local instructions from the corresponding frontend and distributes them to the modules corresponding to this view set. The global instructions connect to 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, perform geometric modeling, and attach attributes to the data of the same CAD file 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.
[0060] Preferably, step S03 specifically includes the following steps: Viewport layout and video stream generation. Each viewport generates a differentiated rendered image based on the shared video memory cache, combined with the independently configured camera orientation, display style, and projection mode. The viewport layout module in each view set arranges multiple viewports according to the settings of the corresponding frontend user (such as a grid of four or a main and auxiliary viewport) to generate a complete viewport layout canvas. The viewport layout canvas is encoded into a video stream through the corresponding video encoding module in this view set.
[0061] It should be noted that global instructions, including creating a model, deleting a model, editing model attributes or attaching model attributes, modify the video memory cache data through the CAD core layer, trigger the update of the rendering screens of all viewports, and push them to all front-ends through the video stream. Local instructions for temporary operations (such as selection highlighting and auxiliary line drawing) only update the temporary area of the video memory of the current view set, and the video stream is only pushed to this front-end. The temporary data is automatically cleared after the operation is completed, not written to the storage layer, and does not trigger synchronization of other front-ends.
[0062] Preferably, step S04 specifically includes the following steps: The viewport layout canvas is transmitted to the corresponding front-end through the WebRTC network communication module. After receiving the video stream, the front-end decodes it into frame images in real time through a decoder, and the decoded images are rendered to the front-end viewport layout canvas through Canvas or WebGL.
[0063] In summary, the above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A cloud 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 the frontends and the backend; the backend includes: Storage layer, used to store CAD file data; A CAD core layer, for processing and updating the CAD file data in the storage layer in real time based on the data sent by any of the front ends, and for rendering the CAD file data processed and updated in real time to a video memory cache; The view layer includes a view set connected to the front end in a one-to-one correspondence, and any of the view sets includes: A viewport layout module, used for combining at least one viewport to form a viewport layout canvas, wherein any of the viewports is used to generate a rendering picture based on the rendering data in the video memory buffer; A video encoding module, used for encoding the viewport layout canvas into a video stream, and pushing it to the corresponding front end through the network communication module; The CAD core layer shares the video memory cache, thereby enabling any of the front ends to perform real-time synchronization operations on the same CAD file data. Any of the front ends perform real-time synchronization operations on the video memory cache data corresponding to the same CAD file data, which are pushed to all the 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 message management module for receiving data sent by the corresponding front end through the network communication module and distributing it to the corresponding modules in the view set, and transmitting the response data generated by the corresponding module back to the corresponding front end.
3. A cloud-based CAD online collaborative system based on cloud rendering technology according to claim 2, 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 attachment and rendering the CAD file data in the storage layer through the CAD core layer.
4. A cloud-based CAD online collaborative system based on cloud rendering technology according to claim 3, 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 performs persistent storage and loading of the CAD file data based on the operation instructions transmitted by any of the view concentration tool modules; The geometric modeling module performs geometric generation, modification or deletion on the CAD file data based on the operation instruction 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 to the video memory cache.
5. A cloud-based CAD online collaborative system based on cloud rendering technology according to any one of claims 2 to 4, characterized in that: Any of the view sets also includes 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, construct a local coordinate system and process the coordinate values input by the user in the coordinate system during the drawing operation, and automatically clear the system after completion; The precise capture module is used for automatically adsorbing geometric feature points or auxiliary lines during drawing operations, and for dynamic capture sensitivity adjustment.
6. A cloud-based CAD online collaborative system based on cloud rendering technology according to claim 5, 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.
7. A cloud CAD online collaborative system based on cloud rendering technology according to any one of claims 2 to 4 or 6, 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 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.
8. A method for using the cloud CAD online collaboration system based on cloud rendering technology as described in any one of claims 1 to 7, characterized in that: The steps include: The view set is created and the communication link is established, an independent view set is created for each front end, and a real-time communication connection is established 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, 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, through the network communication module, push the video stream to the front-end display corresponding to the current view set.
9. A method for running a cloud CAD online collaborative system based on cloud rendering technology according to claim 8, 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 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.
10. A method for running a cloud CAD online collaborative system based on cloud rendering technology according to claim 9, characterized in that: The front-end request also includes local instructions, and the local instructions 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 by 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 architecture CAD platform real-time rendering system and method based on server side
CN113761609A
Cloud CAD processing system and construction method thereof
CN116415321A
Multi-User Cloud Parametric Feature-Based 3D CAD System
US20160246899A1
CAD drawing sharing and discussing system and method thereof, terminal, server, electronic device, and storage medium
WO2021104455A1
Cited By
Custom atlas node visualization method based on service attribute dynamic rendering
CN120975206A
A self-defined graph node visualization method based on dynamic rendering of business attributes
CN120975206B
STEP model dynamic rendering method and system based on component-based processing
CN121053332A
A method and system for dynamic rendering of STEP models based on componentized processing
CN121053332B