Method, system and device for integrating CAx software and storage medium

By designing a system that integrates CAx software, using plug-in manager, event bus and user interface component manager, the data and interface differences in the coordinated use of different CAx software are solved, and efficient user experience and system flexibility are achieved.

CN120144165APending Publication Date: 2025-06-13SHENZHEN POISSON SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510200551.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2025-06-13

AI Technical Summary

Technical Problem

The coordinated use of existing CAx software between different software has differences in data format and standard, underlying framework, interface style and interactive logic, which makes it difficult to exchange and integrate data and make it difficult to achieve effective integration.

Method used

Design a system that integrates CAx software, including plug-in manager, event bus and user interface component manager, to realize communication and functional interaction between plug-ins through unified interfaces and event mechanisms, and provide a unified user interface and flexible system architecture.

Benefits of technology

It improves the user experience of CAx software, realizes flexible combination and one-click deployment of different CAx software, avoids the need for frequent switching of software, and enhances the flexibility and scalability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120144165A_ABST
    Figure CN120144165A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computer-aided engineering, and provides a system for integrating CAx software, and the system comprises a plug-in manager which is used for loading, unloading and managing a plurality of plug-ins and analyzing a dependency relationship among the plug-ins; the event bus is used for providing a uniform interface for the plurality of plug-ins and realizing communication among the plug-ins based on an event mechanism; the user interface component manager is used for providing a user interface between the plug-ins and the main program and is responsible for unified layout and management of the user interface; any one or more plug-ins of the plurality of plug-ins are used for realizing one or more CAx software functions, and realizing results of the CAx software functions are interacted through the event bus. According to the technical scheme, the experience of using CAx software by a user can be enhanced, and the flexibility and expandability of the system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer-aided engineering technology, and particularly to a method, system, device, and storage medium for integrating CAx software. Background Art

[0002] CAx (Computer-Aided Technology) generally refers to computer-aided technologies widely used in product design, engineering, and manufacturing processes. CAx includes multiple fields, such as Computer-Aided Design (CAD), Computer Aided Manufacturing (CAM), Computer-Aided Engineering (CAE), and Computer-Aided Process Planning (CAPP), and so on. There are a wide variety of existing CAx software, and users can select appropriate CAx software according to specific needs. However, in actual engineering, the entire life cycle of a product from design to production often involves multiple links and requires the collaborative use of these CAx software.

[0003] To reduce the cost for users to switch back and forth between different CAx software and improve development efficiency, a solution is called integrated CAx software design, that is, by integrating CAx software such as CAD, CAM, and CAE, designers and engineers can work on a unified platform. Although integrated CAx software design has certain advantages, however, in implementation and practice, integrated CAx software design also faces some problems, for example, different CAx software may use different data formats and standards, resulting in difficult data exchange and integration; furthermore, differences in the underlying frameworks, interface styles, and interaction logics of different CAx software make it difficult to effectively integrate them into a unified platform, and so on. Summary of the Invention

[0004] This application provides a method, system, device, and storage medium for integrating CAx software, which can enhance the user experience of using CAx software and improve the flexibility and scalability of the system.

[0005] On the one hand, this application provides a system for integrating CAx software, the system includes a plug-in manager, an event bus, a user interface component manager, several plug-ins, and a main program for managing the plug-in manager, the event bus, and the user interface component manager:

[0006] The plug-in manager is used to load, unload, manage the several plug-ins, and resolve the dependency relationships between the plug-ins in the several plug-ins;

[0007] The event bus is used to provide a first unified interface to the plurality of plugins and implement communication between the plugins among the plurality of plugins based on an event mechanism;

[0008] The user interface component manager is used to provide a user interface between the plurality of plugins and the main program, and is responsible for the unified layout and management of the user interface;

[0009] Any one or more of the plurality of plugins are used to implement the functions of one or more CAx software, and the implementation results of the functions of the CAx software are interacted through the event bus.

[0010] On the other hand, the present application provides a method for integrating CAx software. The method is applied to the above-mentioned system for integrating CAx software, and the method includes:

[0011] After the main program is started, the plugin manager, the event bus, and the user interface component manager are initialized;

[0012] The plugin manager loads a plurality of plugins according to the configuration file and plugin input, and parses the dependency relationships between the plugins among the plurality of plugins to complete the initialization of the plurality of plugins;

[0013] The user interface component manager loads user interface components according to the configuration file and plugin input to provide a user interface between the plurality of plugins and the main program, and is responsible for the unified layout and management of the user interface;

[0014] After the initialization of the plurality of plugins is completed, communication between the plugins among the plurality of plugins is implemented through the first unified interface provided by the event bus and based on the event mechanism, and the implementation results of the functions of the CAx software are interacted through the event bus.

[0015] In a third aspect, the present application provides an electronic device. The device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the technical solution of the above-mentioned method for fusing CAD and CAE data are implemented.

[0016] In a fourth aspect, the present application provides a storage medium. The storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the technical solution of the above-mentioned method for fusing CAD and CAE data are implemented.

[0017] As can be seen from the technical solutions provided by the present application above, on the one hand, the user interface component manager provides a user interface between the plug-in and the main program, and is responsible for the unified layout and management of the user interface, greatly improving the user experience of using CAx software; on the other hand, the plug-in implements one or more functions of CAx software, and interacts the implementation results of the functions of CAx software through the event bus. Therefore, different CAx software can be combined and matched in the form of plug-ins to achieve one-key deployment, effectively avoiding frequent switching between different software; on the third hand, the event bus provides a unified interface to the plug-in and realizes communication between plug-ins based on the event mechanism, thus ensuring the decoupling between plug-ins and improving the flexibility and scalability of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0019] Figure 1 is a schematic structural diagram of a system for integrating CAx software provided by an embodiment of the present application;

[0020] Figure 2 is a schematic structural diagram of a system for integrating CAx software provided by another embodiment of the present application;

[0021] Figure 3 is a schematic flowchart of a method for integrating CAx software provided by an embodiment of the present application;

[0022] Figure 4 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present application.

[0024] In this specification, adjectives such as first and second are only used to distinguish one element or action from another element or action, and do not necessarily require or imply any actual such relationship or order. Where circumstances permit, a reference to an element or component or step (etc.) should not be construed as being limited to only one of the elements, components, or steps, but may be one or more of the elements, components, or steps, etc.

[0025] In this specification, for ease of description, the dimensions of the various parts shown in the drawings are not drawn in accordance with actual proportional relationships.

[0026] There are a wide variety of existing CAx software, and users can select appropriate CAx software according to specific requirements. However, in actual engineering, the entire life cycle of a product from design to production often involves multiple links and requires the collaborative use of these CAx software. To reduce the cost for users to switch back and forth between different CAx software and improve development efficiency, a solution is called integrated CAx software design, that is, by integrating CAx software such as CAD, CAM, and CAE, designers and engineers can work on a unified platform. Although integrated CAx software design has certain advantages, however, in implementation and practice, integrated CAx software design also faces some problems, for example, different CAx software may use different data formats and standards, resulting in difficult data exchange and integration; another example is that the differences in the underlying frameworks, interface styles, and interaction logics of different CAx software make it difficult to effectively integrate them into a unified platform, and so on.

[0027] In view of the above problems of the prior art, the present application proposes a system for integrating CAx software, as Figure 1 shown, the system includes a plug-in manager 101, an event bus 102, a user interface component manager 103, a number of plug-ins 104, and a main program 105 for managing the plug-in manager 101, the event bus 102, and the user interface component manager 103, wherein:

[0028] Plugin Manager 101 is used to load, unload, manage several plugins 104, and resolve the dependency relationships between the plugins in the several plugins 104. A plugin 104 is an independently runnable module, and each plugin is responsible for a specific function (such as CAD, CAM, CAE, etc.). These plugins work together through a unified standardized interface and event mechanism. In the embodiments of the present application, each plugin follows a unified interface standard, thereby ensuring that they can exchange data through standard formats and protocols. For example, the model data generated by the plugin corresponding to CAD can be passed to the plugin corresponding to CAE through the standardized interface for simulation analysis without complex format conversion. The role of the standardized interface is to ensure that the plugins can achieve a unified and predictable interaction method. Each plugin following a unified interface standard actually means the interfaces provided by the plugin to the outside world (such as the main application or other plugins). These interfaces define how the plugin interacts with the outside world (other plugins or systems), how data is exchanged, and how functions are called. Each plugin runs independently and interacts through a unified standardized interface. The plugins do not directly depend on each other, making it convenient to update, replace, and expand.

[0029] Event Bus 102 is used to provide a unified interface to several plugins 104 and implement communication between the plugins in the several plugins 104 based on the event mechanism. To distinguish from the unified interface provided by the engine manager to several plugins mentioned in the subsequent embodiments, the unified interface provided by the event bus 102 to several plugins 104 is referred to as the first unified interface here. As an intermediary, the event bus 102 transfers events and messages between the plugins to ensure effective cooperation between the plugins. The event mechanism enables the plugins to interact by publishing and subscribing to events, avoiding direct calls and dependencies. The first unified interface provided by the event bus to several plugins 104 enables the event publishers and event subscribers to only interact with the event bus without caring about the implementation details of other components. Thus, even if the implementation of the plugin changes, as long as the unified interface remains consistent, other plugins do not need to be modified.

[0030] User Interface Component Manager 103 is used to provide a user interface between several plugins 104 and the main program 105 and is responsible for the unified layout and management of the user interface;

[0031] Any one or more of the several plugins 104 are used to implement the functions of one or more CAx software, and the implementation results of the functions of the CAx software are interacted through the event bus 102. By passing messages through the event bus, the plugins do not need to directly call each other's interfaces, thereby reducing the coupling degree between the plugins and improving the flexibility of the system.

[0032] From the above Figure 1As can be seen from the system of the exemplary integrated CAx software, on the one hand, the user interface component manager provides the user interface between the plug-in and the main program, and is responsible for the unified layout and management of the user interface, greatly improving the user experience of using the CAx software; on the other hand, the plug-in implements one or more functions of the CAx software, and interacts the implementation results of the functions of the CAx software through the event bus. Therefore, different CAx software can be combined and matched in the form of plug-ins to achieve one-key deployment, effectively avoiding frequent switching between different software; on the third hand, the event bus provides a unified interface to the plug-in and realizes communication between the plug-ins based on the event mechanism, thus ensuring the decoupling between the plug-ins and improving the flexibility and scalability of the system.

[0033] In an embodiment of the present application, the event bus is specifically used to receive the events published by the plug-in acting as the publisher through the first unified interface, and forward the events to the plug-in acting as the subscriber. In the embodiment of the present application, when a CAx corresponding to a plug-in completes a certain operation (for example, CAD completes the design), the plug-in can publish an event (for example, "design completed") through the event bus, and other relevant plug-ins (for example, the plug-in corresponding to CAE, the plug-in corresponding to CAM) can subscribe to the event and make corresponding responses, which means that the event bus enables the plug-ins to communicate in a loosely coupled manner.

[0034] In another embodiment of the present application, the event bus is also used to receive the dynamic subscription and cancellation of events by the subscriber. In the event mechanism, the publisher of the event and the subscriber of the event interact based on the publish-subscribe mode, that is, the publisher of the event and the subscriber of the event communicate through the event bus, and do not need to directly reference each other. The publisher only needs to publish the event to the event bus, and the subscriber only needs to subscribe to the events of interest; when the event occurs, the event bus will notify all subscribers who have subscribed to the event. In the publish-subscribe mode, the feature or advantage is that the publisher of the event and the subscriber of the event do not need to know the existence of each other, only need to know the interface of the event bus, and this design reduces the coupling between components; on the other hand, the publisher of the event and the subscriber of the event communicate through the event bus, rather than directly calling the methods of each other, and this loose coupling enables the components to be developed, tested and deployed independently. The dynamic subscription of events by the subscriber means that the plug-in acting as the subscriber can subscribe to the events of interest at runtime, and the event bus will notify these plug-ins when the event occurs, or can cancel the subscription of the event at runtime, and the event bus will stop notifying these plug-ins. This dynamic nature enables the system to flexibly add or remove functions as needed, without modifying the code of other plug-ins.

[0035] In another embodiment of the present application, the event bus supports asynchronous or concurrent processing of events. The so-called asynchronous processing of events means that the event bus processes events in a background thread, thereby avoiding blocking the main thread and improving the performance of the system. The concurrent processing of events means that the event bus can process multiple events simultaneously, improving the concurrency of the system. In specific scenarios, it can enable the plug-ins corresponding to different CAx to perform parallel calculations, improving the execution efficiency of this scenario.

[0036] In another embodiment of the present application, the system further includes an engine manager 201 managed by the main program 105, as Figure 2 shown in the system for integrating CAx software provided by the embodiment of the present application. The engine manager 201 is responsible for managing and coordinating the engines of each CAx software, ensuring that different engines can be compatible with each other and work smoothly, and providing a second unified interface to several plug-ins 104. Among them, the second unified interface is used for several plug-ins 104 to call the functions of the CAx software.

[0037] In another embodiment of the present application, Figure 2 The exemplary engine manager 201 mainly includes an allocation module and a recycling module. Among them, the allocation module is used to allocate resources to the plug-ins that send resource requests according to the resource status of the resource pool and the resource requests sent by several plug-ins. The recycling module is used to recycle the resources allocated to several plug-ins. For example, when a plug-in finishes using the resources, it will return the resources to the engine manager 201, and the engine manager 201 will put the returned resources back into the resource pool so that other plug-ins can use them.

[0038] In another embodiment of the present application, the allocation module is mainly composed of an available resource allocation unit, a resource creation unit, and a recording unit, where:

[0039] The available resource allocation unit is used to obtain available resources from the resource pool according to the resource requests sent by several plug-ins and allocate them to the plug-ins that send resource requests;

[0040] The resource creation unit is used to create available resources and allocate them to the plug-ins that send resource requests if there are no available resources in the resource pool;

[0041] The recording unit is used to record the resource usage situation, that is, the status of the resources, including marking which resources are being used and which resources are available. For example, the recycled resources can be marked as available.

[0042] The present application proposes a method for integrating CAx software. This method can be applied to the system for integrating CAx software in the foregoing embodiments. Its flowchart is as attached Figure 3 shown, and mainly includes steps S301 to S304, which are described in detail as follows:

[0043] Step S301: After the main program starts, initialize the plugin manager, event bus, and user interface component manager.

[0044] In the embodiment of the present application, the main program is the core of the system integrating CAx software, responsible for initializing the plugin manager, event bus, and user interface component manager, loading plugins, and starting the engine manager, etc.

[0045] Step S302: The plugin manager loads a number of plugins and parses the dependencies between the plugins in the number of plugins according to the configuration file and plugin input, and completes the initialization of the number of plugins.

[0046] According to the configuration file and plugin input, the plugin manager can load the specified plugins. When each plugin is loaded, it is first registered, and the plugin manager parses the dependencies of the plugin so that the plugins can be loaded in the correct order. After the plugin is loaded, the plugin manager calls the initialization method of the plugin to complete the initialization of the plugin. It should be noted that the number of plugins here can be a plugin group composed of multiple plugins. The plugin manager can load the specified plugin group according to the configuration file and plugin input. After the plugin group is loaded, the plugin manager calls the initialization method of the plugin group to complete the initialization of the plugin group; the plugin group can implement complex CAx functions, such as integrated design and manufacturing, co-simulation, etc.

[0047] Step S303: The user interface component manager loads user interface components according to the configuration file and plugin input to provide a user interface between a number of plugins and the main program, and is responsible for the unified layout and management of the user interface.

[0048] Step S304: After the initialization of a number of plugins is completed, communication between the plugins in the number of plugins is implemented through the first unified interface provided by the event bus and based on the event mechanism, and the implementation results of the functions of the CAx software are interacted through the event bus.

[0049] From the above-described Figure 3 Example method for integrating CAx software, on the one hand, the user interface component manager provides a user interface between the plugin and the main program and is responsible for the unified layout and management of the user interface, greatly improving the user experience of using the CAx software; on the other hand, the plugin implements one or more functions of the CAx software, and the implementation results of the functions of the CAx software are interacted through the event bus. Therefore, different CAx software can be combined and matched in the form of plugins to achieve one-key deployment, effectively avoiding frequent switching between different software; on the third hand, the event bus provides a unified interface to the plugin and implements communication between the plugins based on the event mechanism, thus ensuring the decoupling between the plugins and improving the flexibility and scalability of the system.

[0050] Figure 4It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 4 shown, the electronic device 4 in this embodiment mainly includes: a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40, such as a program for the method of fusing CAD and CAE data. When the processor 40 executes the computer program 42, it implements the steps in the embodiment of the above method for fusing CAD and CAE data, such as Figure 3 the steps S301 to S304 shown. Alternatively, when the processor 40 executes the computer program 42, it implements the functions of each module / unit in the above device embodiments, such as Figure 1 the functions of the plug-in manager 101, the event bus 102, the user interface component manager 103, several plug-ins 104, and the main program 105 for managing the plug-in manager 101, the event bus 102, and the user interface component manager 103 shown.

[0051] Exemplarily, the computer program 42 for the method of fusing CAD and CAE data mainly includes: after the main program is started, initializing the plug-in manager, event bus, and user interface component manager; the plug-in manager loads a number of plug-ins and parses the dependencies between the plug-ins in a number of plug-ins according to the configuration file and plug-in input to complete the initialization of a number of plug-ins; the user interface component manager loads user interface components according to the configuration file and plug-in input to provide a user interface between a number of plug-ins and the main program, and is responsible for the unified layout and management of the user interface; after the initialization of a number of plug-ins is completed, communication between the plug-ins in a number of plug-ins is implemented through the first unified interface provided by the event bus and based on the event mechanism, and the implementation results of the functions of the CAx software are interacted through the event bus. The computer program 42 can be divided into one or more modules / units, and one or more modules / units are stored in the memory 41 and executed by the processor 40 to complete the present application. One or more modules / units can be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 42 in the electronic device 4. For example, the computer program 42 can be divided into a plug-in manager 101, an event bus 102, a user interface component manager 103, a number of plug-ins 104, and the function of a main program 105 (module in the virtual device) for managing the plug-in manager 101, the event bus 102, and the user interface component manager 103. The specific functions of each module are as follows: the plug-in manager 101 is used to load, unload, manage a number of plug-ins 104, and parse the dependencies between the plug-ins in a number of plug-ins 104; the event bus 102 is used to provide a unified interface to a number of plug-ins 104 and implement communication between the plug-ins in a number of plug-ins 104 based on the event mechanism; the user interface component manager 103 is used to provide a user interface between a number of plug-ins 104 and the main program 105, and is responsible for the unified layout and management of the user interface; any one or more of the number of plug-ins 104 are used to implement one or more functions of the CAx software, and the implementation results of the functions of the CAx software are interacted through the event bus 102.

[0052] The electronic device 4 may include but is not limited to the processor 40 and the memory 41. Those skilled in the art can understand that Figure 4 merely examples of the electronic device 4 do not constitute a limitation on the electronic device 4, and it may include more or fewer components than shown in the figure, or combine some components, or different components. For example, the electronic device may also include input / output devices, network access devices, buses, etc.

[0053] The so-called processor 40 may be a Central Processing Unit (CPU), or may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0054] The memory 41 may be an internal storage unit of the electronic device 4, such as the hard disk or memory of the electronic device 4. The memory 41 may also be an external storage device of the electronic device 4, such as a plug-in hard disk equipped on the electronic device 4, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Further, the memory 41 may also include both the internal storage unit and the external storage device of the electronic device 4. The memory 41 is used to store computer programs and other programs and data required by the electronic device. The memory 41 may also be used to temporarily store data that has been output or is to be output.

[0055] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the above-mentioned division of each functional unit and module is used as an example for illustration. In actual applications, the above-mentioned functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working processes of the units and modules in the above-mentioned device can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0056] In the above embodiments, the descriptions of the respective embodiments have their own emphases. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0057] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0058] In the embodiments provided in this application, it should be understood that the disclosed apparatus / devices and methods can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another apparatus, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the apparatus or unit can be in electrical, mechanical or other forms.

[0059] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0060] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0061] When an integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, to implement all or part of the processes in the above-described embodiment methods of this application, it can also be completed by instructing relevant hardware through a computer program. The computer program for the CAD and CAE data fusion method can be stored in a storage medium. When this computer program is executed by a processor, it can implement the steps of each of the above method embodiments, that is, after the main program starts, initialize the plug-in manager, event bus, and user interface component manager; the plug-in manager loads a number of plug-ins and parses the dependencies between the plug-ins in a number of plug-ins according to the configuration file and plug-in input to complete the initialization of a number of plug-ins; the user interface component manager loads user interface components according to the configuration file and plug-in input to provide a user interface between a number of plug-ins and the main program, and is responsible for the unified layout and management of the user interface; after the initialization of a number of plug-ins is completed, communication between the plug-ins in a number of plug-ins is implemented through the first unified interface provided by the event bus and based on the event mechanism, and the implementation results of the functions of the CAx software are interacted through the event bus. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file, or some intermediate form, etc. The storage medium can include: any entity or device capable of carrying computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the storage medium does not include electrical carrier signals and telecommunication signals.

[0062] The above embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of each embodiment of this application, and should all be included in the protection scope of this application. The above-described specific implementation manners have further elaborated on the purpose, technical solutions, and beneficial effects of this application. It should be understood that the above is only the specific implementation manner of this application and is not used to limit the protection scope of this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this application should all be included in the protection scope of this invention.

Claims

1. A system integrating CAx software, characterized in that: The system includes a plug-in manager, an event bus, a user interface component manager, a plurality of plug-ins, and a main program for managing the plug-in manager, the event bus, and the user interface component manager: The plug-in manager is used to load, unload, manage the plug-ins and analyze dependencies between the plug-ins. The event bus is used to provide a first unified interface to the plurality of plug-ins and implement communication between the plurality of plug-ins based on an event mechanism; The user interface component manager is used to provide a user interface between the plurality of plug-ins and the main program, and is responsible for the unified layout and management of the user interface; Any one or more of the plurality of plug-ins are used to implement functions of one or more CAx software, and the implementation results of the functions of the CAx software are exchanged through the event bus.

2. The system for integrating CAx software according to claim 1, characterized in that: The event bus is specifically configured to receive events published by a plug-in acting as a publisher through the first unified interface, and forward the events to a plug-in acting as a subscriber.

3. The system for integrating CAx software according to claim 2, characterized in that: The event bus is also used to receive dynamic subscription and cancellation of events by the subscriber.

4. The system for integrating CAx software according to claim 1, characterized in that: The event bus supports asynchronous or concurrent processing of events.

5. A system for integrating CAx software according to any one of claims 1 to 4, characterized in that: The system further includes an engine manager managed by the main program, wherein the engine manager is used to provide a second unified interface to the plurality of plug-ins, and the second unified interface is used for the plurality of plug-ins to call functions of the CAx software.

6. The system for integrating CAx software according to claim 5, characterized in that: The engine manager comprises: An allocation module, configured to allocate resources to the plug-in sending the resource request according to the resource status of the resource pool and the resource requests sent by the plurality of plug-ins; The recycling module is used to recycle the resources allocated by the plurality of plug-ins.

7. The system for integrating CAx software according to claim 6, characterized in that: The allocation module comprises: An available resource allocation unit, configured to obtain available resources from the resource pool according to the resource requests sent by the plurality of plug-ins, and then allocate the available resources to the plug-ins that sent the resource requests; A resource creation unit, configured to create available resources and allocate them to the plug-in that sent the resource request if there are no available resources in the resource pool; A recording unit is used to record resource usage.

8. A method for integrating CAx software, characterized in that: The method is applied to the system integrating CAx software according to claim 1, and the method comprises: After the main program starts, the plugin manager, event bus and user interface component manager are initialized; The plug-in manager loads a plurality of plug-ins and resolves dependencies between the plug-ins according to the configuration file and the plug-in input, thereby completing the initialization of the plurality of plug-ins; The user interface component manager loads the user interface component according to the configuration file and the plug-in input to provide a user interface between the plug-ins and the main program, and is responsible for the unified layout and management of the user interface; After the initialization of the plurality of plug-ins is completed, the communication between the plurality of plug-ins is realized through the first unified interface provided by the event bus and based on the event mechanism, and the realization results of the functions of the CAx software are exchanged through the event bus.

9. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to claim 8 are implemented.

10. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to claim 8 are implemented.