CAD (Computer Aided Design) system suitable for multiple modeling engines and implementation method

By introducing IModelingGlobal and ITag interfaces, the CAD system and the modeling engine are decoupled, and multi-engine switching and expansion are supported, which solves the flexibility and compatibility problems caused by engine binding in the existing technology, improves the stability and maintainability of the system, and provides data support for engine selection.

CN120277735AActive Publication Date: 2025-07-08ZHEJIANG HUADONG ENG DIGITAL TECH CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510757509.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-09
Publication Date
2025-07-08
Estimated Expiration
2045-06-09

AI Technical Summary

Technical Problem

Existing CAD software usually binds a specific styling engine, resulting in the inability to flexibly switch or replace the engine, making it difficult to achieve cross-engine compatibility testing and expansion, and it also forms a dependence on commercial engines, affecting the functional integrity of the software.

Method used

By introducing a unified modeling interface IModelingGlobal and data interface ITag, a standardized modeling interface system across engines is built to decouple the code between the CAD system and the modeling engine, support flexible switching and expansion of multiple modeling engines, and ensure system stability and compatibility through lightweight data interfaces and unit testing modules.

Benefits of technology

It realizes the decoupling of the front-end and back-end modeling engines of the CAD system, supports multi-engine switching and dynamic loading, reduces performance losses, improves the efficiency and stability of the modeling process, and provides multi-dimensional comparison and analysis reports to assist in engine selection decisions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120277735A_ABST
    Figure CN120277735A_ABST
Patent Text Reader

Abstract

The invention provides a CAD system suitable for multiple modeling engines and an implementation method. The system comprises a modeling tool module and at least two modeling implementation modules. The modeling tool module is used for determining a target modeling implementation module based on the selected target modeling engine; the calling modeling interface receives a target modeling method calling request and input data transmitted by the CAD front end, and distributes the target modeling method calling request and the input data to the target modeling implementation module; the modeling implementation module is used for calling an adaptive modeling engine API in a homonymous method for implementing the target modeling method, receiving input data in a data interface form transmitted by the modeling tool module, converting the input data into data executable by an adaptive modeling engine, and executing modeling operation by using the converted data executable by the adaptive modeling engine; and the control module is also used for acquiring output data of the adaptive modeling engine after execution, converting the output data of the adaptive modeling engine into a data interface form and returning the data interface form to the modeling tool module, so that decoupling of the CAD system and the modeling engine is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of software design, and particularly to a CAD system adaptable to multiple modeling engines and an implementation method thereof. Background Art

[0002] CAD (Computer Aided Design) uses a computer and its graphic devices to assist designers in their design work. One of the cores of a CAD system is a modeling engine. The modeling engine is responsible for processing geometric data related to three-dimensional objects, including creating, modifying, analyzing, and displaying three-dimensional shapes. Currently, during the process of industrial software development, quite a few self-developed modeling engines have emerged. However, due to a late start and a short launch time, there is still a significant gap in maturity compared with modeling engines that have a history of several decades.

[0003] Currently, most CAD software is bound to a specific modeling engine at the beginning of design and usually does not support switching engines during runtime. This results in a tight coupling between the application layer and the modeling engine, causing the following technical problems: 1) It is impossible to flexibly switch or replace the modeling engine; 2) It is difficult to implement cross-engine compatibility testing and extension; 3) There is a dependence on a specific commercial engine. Once the engine license is restricted, the integrity of software functions will be seriously affected.

[0004] Therefore, how to separate the modeling engine from the CAD front-end logic, support the rapid switching and integration of different modeling engines, and balance the technical autonomy and engineering stability of CAD software is an urgent problem to be solved. Summary of the Invention

[0005] The present disclosure provides a CAD system adaptable to multiple modeling engines and an implementation method thereof, realizing the code decoupling between the CAD system and the modeling engine, so that the CAD system can switch between multiple modeling engines.

[0006] In a first aspect, the present disclosure provides a CAD system adaptable to multiple modeling engines, including: A modeling tool module (101) and at least two modeling implementation modules (102, 102'); The modeling tool module (101) is configured to determine a target modeling implementation module (102, 102') based on a selected target modeling engine; receive a target modeling method call request and input data passed in by the CAD front-end through a modeling interface, forward them to the method with the same name that implements the target modeling method in the target modeling implementation module (102, 102'), and transfer the input data to the target modeling implementation module through a data interface; The modeling implementation module (102, 102') is used to call the adaptation modeling engine API in the method with the same name for implementing the target modeling method, receive the input data in the form of a data interface passed by the modeling tool module 101, convert the input data into data executable by the adaptation modeling engine, and use the converted data executable by the adaptation modeling engine to perform a modeling operation; it is also used to obtain the output data of the adaptation modeling engine after execution, convert the output data of the adaptation modeling engine into the form of a data interface, and return it to the modeling tool module (101).

[0007] In some embodiments, it further includes: each modeling implementation module (102, 102') includes a data wrapper class inherited from the data interface. The input data is forwarded to the modeling implementation module in the form of a data interface by the modeling tool module, and the modeling implementation module is responsible for converting it into the data wrapper class, which is used to encapsulate the data executable by the adaptation modeling engine and the output data of the adaptation modeling engine.

[0008] In some embodiments, it further includes: both the data executable by the adaptation modeling engine and the output data of the adaptation modeling engine adopt handle type data, and the handle type data is used to point to geometric entity data.

[0009] In some embodiments, it further includes: only a pure virtual method for obtaining a data identifier is defined inside the data interface, and the return value of this method is used as the unique identifier of the input data and serves as the basis for sorting and judging the same entity.

[0010] In some embodiments, the system further includes a unit test module (104), which is used to pass a preset test request to the modeling tool module (101) after selecting a target modeling engine; wherein, the test request includes a target modeling method call request and input data; The test run monitoring module (105) is used to monitor the process of the system executing the preset test request to obtain a test result.

[0011] In some embodiments, the system further includes a modeling engine comparison module (106), which is used to obtain and record the execution situations and output results of each modeling engine when executing the same preset test request, evaluate the execution situations and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visual display module (107), and generate a model result of each modeling engine executing the same preset test request, and send the model result to the visual display module (107) in a form of comparative display; The evaluation dimensions include at least one or more of geometric accuracy, mesh quality, topological structure integrity, attribute retention, execution efficiency, and stability.

[0012] A visualization display module (107) for displaying the comparison analysis report and the visualization result of model comparison for intuitive comparison and analysis by the user.

[0013] In a second aspect, the present disclosure also provides a method for implementing a CAD system adapted to multiple modeling engines, which is used to execute the CAD system adapted to multiple modeling engines, including: Through the modeling tool module (101), based on the selected target modeling engine, determine the target modeling implementation modules (102, 102'); call the modeling interface to receive the target modeling method call request and input data passed in by the CAD front end, forward them to the method with the same name that implements the target modeling method in the target modeling implementation modules (102, 102'), and transfer the input data to the target modeling implementation modules through the data interface; Through the modeling implementation modules (102, 102'), in the method with the same name that implements the target modeling method, call the adapted modeling engine API, receive the input data in the form of a data interface passed by the modeling tool module (101), convert the input data into data executable by the adapted modeling engine, and use the converted data executable by the adapted modeling engine to perform the modeling operation; and, after execution, obtain the output data of the adapted modeling engine, convert the output data of the adapted modeling engine into the form of a data interface, and return it to the modeling tool module (101).

[0014] In some embodiments, the method further includes: Through the unit test module (104), after selecting the target modeling engine, transfer the preset test request to the modeling tool module (101); The test run monitoring module (105) monitors the process of the system executing the preset test request to obtain the test result.

[0015] In some embodiments, the method further includes: Through the modeling engine comparison module (106), obtain and record the execution situations and output results of each modeling engine when executing the same preset test request, evaluate the execution situations and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visualization display module 107, and generate the model results of each modeling engine when executing the same preset test request, and send the model results to the visualization display module (107) in a form of comparative display; Through the visualization display module (107), display the comparison analysis report and the visualization result of model comparison for intuitive comparison and analysis by the user.

[0016] In a third aspect, the present disclosure provides an electronic device, including: a processor, and a memory communicatively connected to the processor; The memory stores computer execution instructions; The processor executes the computer-executable instructions stored in the memory to implement the method in the present disclosure.

[0017] In a fourth aspect, the present disclosure provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the method of the present disclosure.

[0018] The beneficial effects of the present disclosure are that, compared with the prior art, the present disclosure has the following advantages: 1) This paper proposes a design idea to decouple the CAD system from the modeling engine code. By introducing the unified modeling interface IModelingGlobal and the data interface ITag, a standardized modeling interface system across engines is constructed, which decouples the front-end of the CAD system from the back-end modeling engine. This architecture supports flexible switching and expansion of multiple modeling engines (including self-developed and imported) to avoid the system's excessive dependence on a single engine. The system supports switching and dynamic loading of multiple modeling engines, and realizes compatible calls of the same front-end instructions executed on different engines, meeting the engineering requirements of multi-source modeling kernel switching.

[0019] 2) By defining a lightweight data interface ITag and using the "packing-unpacking" mechanism to encapsulate and unpack data, the minimum transmission cost of input and output data between the CAD system and the modeling engine is achieved. Each modeling task only requires one interface conversion to complete the transmission of the entire data flow, which greatly reduces performance loss and ensures the efficiency and real-time performance of the modeling process.

[0020] 3) In response to the problems that may arise from the use of multiple modeling engines, a unit testing module and a test operation monitoring module are introduced to support the automated batch construction of modeling instructions and input data, and to achieve compatible calls for the same front-end test instructions executed on different engines. This module can fully cover the modeling function interface, achieve continuous verification of the modeling logic, fault location, and regression verification, and improve the overall system stability and quality controllability.

[0021] 4) The modeling engine comparison module can analyze and evaluate the modeling execution and output results of multiple modeling engines under the same input data, and support the generation of comparison analysis reports from multiple dimensions such as geometric accuracy, topological integrity, attribute retention, execution efficiency and stability; and send the model results of each modeling engine executing the same preset test request to the visualization display module in the form of comparative display. Engineering personnel can combine the comparison analysis report and the model comparison visualization results to comprehensively judge the advantages and disadvantages of each engine in terms of modeling accuracy, stability and performance, assist engineering personnel to complete the selection evaluation of the modeling engine and the adaptation decision of the optimal engine, and provide data support and decision-making basis for the modeling engine selection of the subsequent CAD system. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings herein are incorporated into and constitute a part of this specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure.

[0023] Figure 1 Schematic structural diagram of a CAD system adapted to multiple modeling engines provided by an embodiment of the present disclosure; Figures 2 - 5 List diagram of modeling interface method types included in the IModelingGlobal interface provided by an embodiment of the present disclosure; Figure 6 Schematic diagram of the drawing result of a CAD system developed based on the present disclosure using a certain imported engine provided by an embodiment of the present disclosure; Figure 7 Schematic diagram of the drawing result of a CAD system developed based on the present disclosure using a certain self-developed engine provided by an embodiment of the present disclosure; Through the above-mentioned accompanying drawings, specific embodiments of the present disclosure have been shown, and there will be more detailed descriptions hereinafter. These drawings and text descriptions are not intended to limit the scope of the concept of the present disclosure in any way, but to explain the concept of the present disclosure to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0024] The present disclosure will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solutions of the present disclosure and cannot be used to limit the protection scope of the present disclosure.

[0025] It should be noted that the order of the steps of the present disclosure is only for illustrative purposes. In actual execution, the order can be adjusted as needed, or some steps can be executed in parallel, unless the execution of a certain step clearly depends on the result of the previous step. Otherwise, the order between the steps does not constitute a limitation to the present disclosure.

[0026] Embodiment 1

[0027] As Figure 1 shown, this embodiment provides a CAD system 100 adapted to multiple modeling engines, including: a modeling tool module 101, and at least two modeling implementation modules (102, 102').

[0028] The modeling tool module 101 is used to determine the target modeling implementation module (102, 102') based on the selected target modeling engine; call the modeling interface to receive the target modeling method call request and input data passed in by the CAD front end, forward them to the method with the same name that implements the target modeling method in the target modeling implementation module (102, 102'), and transfer the input data to the target modeling implementation module through the data interface; In a specific implementation, the modeling interface is the IModelingGlobal interface, which is used to provide a set of modeling methods that are the minimum requirements for a CAD software. It only provides definitions and declarations and does not provide the implementation of the methods. Among them, the IModelingGlobal interface includes but is not limited to: 1) Query methods. For example, obtaining all the topological faces (Face), topological edges (Edge), and topological vertices (Vertex) of a topological body (Body). 2) Creation methods. For example, creating a linear topological body (Body), an arc topological body (Body), and a B-spline curve topological body (Body). 3) Calculation methods. For example, calculating the centroid, length, and area of a topological body (Body). 4) Serialization methods. For example, serializing a topological body (Body) and deserializing a topological body (Body). 5) Meshing methods. For example, meshing a topological body (Body), a topological face (Face), and a topological edge (Edge). 6) Operation methods. For example, Boolean operations between topological bodies (Body), stitching topological bodies (Body), chamfering, stretching, sweeping, lofting, and imprinting.

[0029] As Figures 2 - 5 shown, the types of modeling methods included in the IModelingGlobal interface are exemplarily demonstrated.

[0030] The data interface is the ITag interface, which is used to transfer data and does not include implementation either.

[0031] In one embodiment, the modeling tool module 101 contains a ModelingGlobal class, which contains an instance of a target modeling implementation module. The specific functions of the ModelingGlobal class are as follows: responsible for creating an instance of the target modeling implementation module based on the selected target modeling engine. This instance calls the IModelingGlobal interface to receive the IModelingGlobal modeling method call requests and input data passed in by the CAD front-end, forwards them to the method with the same name as the IModelingGlobal modeling method in the target modeling implementation module (102, 102'), and transfers the input data to the target modeling implementation module through the ITag data interface.

[0032] The modeling implementation module (102, 102') is used to call the adapted modeling engine API in the method with the same name for implementing the target modeling method, receive the input data in the form of a data interface passed by the modeling tool module 101, convert the input data into data executable by the adapted modeling engine, and use the converted data executable by the adapted modeling engine to perform a modeling operation; The modeling implementation module (102, 102') is further used to obtain the output data of the adapted modeling engine after execution, convert the output data of the adapted modeling engine into the form of a data interface, and return it to the modeling tool module 101.

[0033] It can be understood that the modeling tool module 101 can further return the modeling result in the form of a data interface received to the front end of the CAD system, and complete the graphic drawing and result display.

[0034] Among them, each modeling implementation module (102, 102') is respectively connected to a specific modeling engine. Common modeling engines include imported engines such as Parasolid, Open CASCADE, ACIS, etc., and self-developed engines such as Glodon, Jiushao, etc.

[0035] In some embodiments, each modeling implementation module (102, 102') includes an interface implementation class that inherits from the IModelingGlobal interface, which is used to implement all the modeling methods in the IModelingGlobal interface. Through the modeling methods of this interface implementation class, the adapted modeling engine API corresponding to this modeling implementation module can be called to perform a modeling operation. That is to say, the class in the modeling implementation module specifically implements the interface function in the modeling tool module.

[0036] In some embodiments, each modeling implementation module (102, 102') includes a data wrapper class (Tag class) that inherits from the data interface (ITag interface). The input data is forwarded to the modeling implementation module by the modeling tool module in the form of a data interface, and the modeling implementation module is responsible for converting it into the data wrapper class, which is used to encapsulate the data executable by the adapted modeling engine and the output data of the adapted modeling engine; Among them, the data wrapper class is used to encapsulate the data executable by the adapted modeling engine and receive the output data of the adapted modeling engine. Subsequently, the modeling implementation module returns the data wrapper class to the modeling tool module in the form of a data interface.

[0037] Optionally, both the data executable by the adapted modeling engine and the output data of the adapted modeling engine adopt handle type data, and the operations of calling the adapted modeling engine API are all specified by the handle type data. Among them, the handle type data is used to point to or identify geometric entity data.

[0038] In a specific implementation, taking the Parasolid modeling engine as an example, the way the system transfers data is described as follows: In the modeling implementation module, there is a ParasolidTag class that inherits from the ITag interface. The ParasolidTag class has an m_entity member of the handle type PK_ENTITY_t, which is used to identify the geometric entity data (such as bodies / faces / lines / points) required by the Parasolid modeling engine. When data is passed in, the data is forwarded to the modeling implementation module in the form of the ITag interface through the modeling tool module. The modeling implementation module is responsible for converting it into the ParasolidTag class and obtaining the m_entity member data, that is, adapting the data executable by the modeling engine. When outputting data, the modeling implementation module stores the output PK_ENTITY_t handle data obtained from the Parasolid modeling engine into the m_entity member of the ParasolidTag class. Subsequently, it is output to the modeling tool module in the form of the ITag interface and then forwarded to the CAD system front end.

[0039] In this embodiment, both the modeling interface IModelingGlobal and the data interface ITag in the modeling tool module are inherited and implemented by each modeling implementation module to adapt to the call mechanisms and core capabilities of different modeling engines. That is to say, the system will use the interfaces in the modeling tool module to use the modeling implementation module, making the modeling implementation module "plug-in" and achieving code decoupling between the CAD system front end and the back-end modeling engine. At the same time, the system supports the switching and dynamic loading of multiple modeling engines, realizing compatible calls of the same front-end instruction on different engines and meeting the engineering requirements of switching multi-source modeling kernels.

[0040] Moreover, by defining the lightweight data interface ITag, during the modeling call process of the system, the input and output data only need to perform one encapsulation (boxing) and one parsing (unboxing) operation to complete the two-way transfer from the front-end parameters to the engine data structure, effectively reducing the performance overhead during the data conversion process and improving the system operation efficiency and stability.

[0041] In some embodiments, only a pure virtual method for obtaining a data identifier is defined inside the data interface. The return value of this method serves as the unique identifier of the input data and is used as the basis for sorting and judging the same entity.

[0042] Specifically, the ITag interface provides a unified data encapsulation structure for all data objects in the system. Only a pure virtual method GetCode() is defined inside it. This method returns an integer value, which serves as the unique identifier of the input data and is used as the basis for sorting and judging the same entity.

[0043] In this embodiment, the data packaging class is also used to implement this pure virtual method when inheriting the data interface, so as to return the unique identifier of the input data and be used for sorting and equality judgment of data objects.

[0044] It can be understood that since the ITag interface only defines a pure virtual method GetCode(), the data packaging classes (i.e., Tag classes) in each modeling implementation module need to implement the GetCode() method when inheriting the ITag interface, so as to return the unique identifier of the input data and be used for sorting and equality judgment of data objects.

[0045] In the CAD front-end user interface, it is generally necessary to display lists of geometric entities such as faces, edges, and vertices. Through the integer value returned by GetCode(), these entities can be quickly sorted according to the creation order, topological level, or user-set priority, improving the interface response speed and user operation efficiency; during geometric calculations or assembly verification processes, the system can quickly determine whether two objects represent the same geometric entity by comparing the return values of GetCode() of different data objects, so as to support key modeling functions such as Boolean operations, duplicate detection, and entity reference verification.

[0046] It can be seen that by adopting a minimized method design in the ITag interface and only retaining the GetCode() method, it not only meets the requirements of unique identification and efficient comparison of data objects, but also reduces the interface complexity and improves the maintainability and extensibility of the system.

[0047] In some embodiments, the system further includes: a modeling interface definition module 103, which is used to define the modeling interface and the data interface.

[0048] In this embodiment, the modeling tool module 101 depends on the modeling interface and data interface definitions in the modeling interface definition module 103.

[0049] Embodiment 2

[0050] Based on the system described in Embodiment 1, this embodiment further includes the following unit modules: A unit test module 104, which is used to transfer a preset test request to the modeling tool module 101 after selecting a target modeling engine. Among them, the test request includes a target modeling method call request and input data.

[0051] The unit test module 104 conducts functional verification on the methods in the ModelingGlobal class, specifically including writing test cases according to the IModelingGlobal interface methods and the ITag interface data form.

[0052] That is to say, the target modeling method call request and input data in the embodiments of the present disclosure can also be generated by the built-in unit test module 104 of the system, which is used to verify whether the implementation of each modeling engine meets the expectations, so as to ensure the correctness and stability of the core functions.

[0053] The test running monitoring module 105 is used to monitor the process of the system executing the preset test requests and obtain the test results.

[0054] Specifically, for the selected target modeling engine, the test running monitoring module 105 monitors the process of the system executing the preset test requests. If there are abnormalities, crashes or unresponsive situations, it determines that the test fails and generates an error report; if all the preset test requests are executed and there are no abnormal situations, it determines that the test passes.

[0055] In view of the possible problems caused by the multiple selectable modeling engines in this embodiment, the unit test module 104 and the test running monitoring module 105 are introduced, which support automatic batch construction of preset test requests, realize compatible calls of the same front-end test instructions on different engines, can comprehensively cover the modeling function interfaces, and make it faster and easier to discover / fix problems in the modeling part.

[0056] Embodiment 3

[0057] On the basis of the system described in Embodiment 2, this embodiment further includes the following unit modules: The modeling engine comparison module 106 is used to obtain and record the execution situations and output results of each modeling engine when executing the same preset test requests, evaluate the execution situations and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visualization display module 107, and generate the model results of each modeling engine when executing the same preset test requests, and send the model results to the visualization display module 107 in a comparative display form.

[0058] When performing adaptability analysis and selection on multiple modeling engines, the modeling engine comparison module comprehensively evaluates the output results of different engines according to multiple evaluation dimensions. The evaluation dimensions disclosed in this embodiment at least include one or more of geometric accuracy, mesh quality, topological structure integrity, attribute retention, execution efficiency, and stability.

[0059] First, in the geometric accuracy dimension, the module 106 extracts geometric parameters such as the curvature continuity, normal angle, and boundary position fitting error of the key surfaces in the model returned by the engine, and judges whether there are situations such as curvature mutation, excessive surface seam, and fitting error exceeding the limit. These data can be obtained by comparing the geometric error values between the original input parameters and the output entities, or calculated by using the geometric analysis API provided by the modeling engine.

[0060] Secondly, in terms of mesh quality dimension, the triangular patch mesh structure output by the system evaluation engine includes indicators such as the total number of patches, the minimum interior angle, the maximum aspect ratio, and the distortion rate.

[0061] In the dimension of topological structure integrity, module 106 traverses topological elements such as the edges, faces, and bodies of the entity, and combines the connection relationships of geometric entities to determine whether it conforms to the B-Rep closure rule, ensuring that it has the correct engineering entity attributes.

[0062] For the evaluation of attribute retention, module 106 will compare whether information such as colors, material identifiers, and user-defined attributes attached in the input data are completely retained in the results returned by the modeling engine, for evaluating the integrity and consistency of the engine in feature modeling.

[0063] In the dimension of execution efficiency, module 106 will obtain the processing time and memory consumption of each modeling engine when executing modeling instructions. For example, by recording the start and end times of the modeling API and combining with the system memory monitoring interface to record the peak memory usage, the execution efficiency of the evaluation engine under tasks of different complexities can be evaluated.

[0064] Finally, in the dimension of stability, module 106 will capture whether there are problems such as crashes, interruptions, abnormal returns, and invalid entity outputs during the modeling process, and check the validity of the output entities (such as whether it is a NULL handle and whether the structure is damaged).

[0065] According to the evaluation results of each dimension, a comparison analysis report is generated and sent to the visualization display module 107.

[0066] Furthermore, the modeling engine comparison module 106 is also used to generate model results of each modeling engine executing the same preset test request, and send the model results to the visualization display module 107 in a comparative display form.

[0067] For the model results returned by multiple modeling engines under the same input conditions, module 106 sends the model results (including mesh data, geometric entity information, etc.) to the visualization display module 107 in a comparative display form, supporting visual comparison in the view in ways such as side-by-side, overlay, or transparent overlay, so as to intuitively identify the differences between multiple modeling engines in aspects such as geometric processing, topology generation, and boundary surfaces.

[0068] For example, such as Figure 6 And Figure 7As shown, when using two modeling engines to draw the same spherical model, although the overall geometric shape is the same, there are still slight differences in boundary processing and face mesh generation. Through the above visualization method, users can intuitively identify the implementation differences of multiple modeling engines in terms of geometric accuracy, topology generation strategy, boundary continuity, etc., thereby providing an auxiliary judgment basis for engineers to independently select and adapt the modeling engine.

[0069] The visualization display module 107 is used to display the comparison analysis report and the visualization result of model comparison for users to conduct intuitive comparative analysis.

[0070] Thus, engineers can combine the comparison analysis report and the visualization result of model comparison shown by the visualization display module 107 to comprehensively judge the advantages and disadvantages of each engine in terms of modeling accuracy, stability, and performance effect, thereby independently completing the selection and switching of the adapted modeling engine, providing auxiliary decision-making support for the multi-engine access and dynamic scheduling of the system, and more importantly, providing data support and decision-making basis for the subsequent selection of the modeling engine of the CAD system.

[0071] Embodiment 4

[0072] This embodiment provides a method for implementing a CAD system adapted to multiple modeling engines, which is used to execute the CAD system adapted to multiple modeling engines as described in Embodiment 1 - Embodiment 3. The implementation method includes: Through the modeling tool module 101, based on the selected target modeling engine, determine the target modeling implementation module (102, 102'); call the modeling interface to receive the target modeling method call request and input data passed in by the CAD front-end, forward them to the method with the same name that implements the target modeling method in the target modeling implementation module (102, 102'), and transfer the input data to the target modeling implementation module through the data interface; Through the modeling implementation module (102, 102'), in the method with the same name that implements the target modeling method, call the adapted modeling engine API, receive the input data in the form of the data interface passed by the modeling tool module 101, convert the input data into data executable by the adapted modeling engine, and use the converted data executable by the adapted modeling engine to perform the modeling operation; and, after execution, obtain the output data of the adapted modeling engine, convert the output data of the adapted modeling engine into the form of the data interface, and return it to the modeling tool module 101.

[0073] In some embodiments, the method further includes: Through the unit test module 104, after selecting the target modeling engine, transfer the preset test request to the modeling tool module 101; The test running monitoring module 105 monitors the process of the system executing the preset test request to obtain the test result.

[0074] In some embodiments, the method further includes: Through the modeling engine comparison module 106, obtain and record the execution conditions and output results of each modeling engine when executing the same preset test request, evaluate the execution conditions and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visualization display module 107, and generate the model results of each modeling engine executing the same preset test request, and send the model results to the visualization display module 107 in the form of a comparison display.

[0075] Through the visualization display module 107, display the comparison analysis report and the model comparison visualization results for the user to conduct an intuitive comparative analysis.

[0076] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, which may include: a processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete mutual communication through the communication bus. The processor can call the logical instructions in the memory to execute the implementation method based on the configuration software soft license.

[0077] In addition, when the logical instructions in the above-mentioned memory are implemented in the form of a software functional unit and sold or used as an independent product, they can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present disclosure, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present disclosure. The foregoing storage medium includes: various media such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc that can store program codes.

[0078] On the other hand, the present disclosure also provides a non-transitory computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it is implemented to execute the implementation method based on the configuration software soft license provided by the above-mentioned various methods.

[0079] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. A person of ordinary skill in the art can understand and implement it without creative work.

[0080] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0081] It should be understood that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them; although the present disclosure 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 recorded 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 the embodiments of the present disclosure.

Claims

1. A CAD system adapted to multiple modeling engines, characterized in that, Comprising: A modeling tool module (101) and at least two modeling implementation modules (102, 102'); The modeling tool module (101) is configured to determine the target modeling implementation module (102, 102') based on the selected target modeling engine; call the modeling interface to receive the target modeling method call request and input data passed in from the CAD front-end, forward them to the method with the same name that implements the target modeling method in the target modeling implementation module (102, 102'), and transfer the input data to the target modeling implementation module through the data interface; The modeling implementation module (102, 102') is configured to call the adapted modeling engine API in the method with the same name that implements the target modeling method, receive the input data in the form of the data interface passed by the modeling tool module (101), convert the input data into data executable by the adapted modeling engine, and use the converted data executable by the adapted modeling engine to perform the modeling operation; It is also configured to obtain the output data of the adapted modeling engine after execution, convert the output data of the adapted modeling engine into the form of the data interface, and return it to the modeling tool module (101).

2. The CAD system adapted to multiple modeling engines according to claim 1, wherein It further comprises: Each modeling implementation module (102, 102') includes a data wrapper class inherited from the data interface. The input data is forwarded to the modeling implementation module by the modeling tool module in the form of the data interface, and the modeling implementation module is responsible for converting it into the data wrapper class, which is used to encapsulate the data executable by the adapted modeling engine and the output data of the adapted modeling engine.

3. The CAD system adapted to multiple modeling engines according to claim 2, wherein It further comprises: Both the data executable by the adapted modeling engine and the output data of the adapted modeling engine adopt handle-type data, and the handle-type data is used to point to the geometric entity data.

4. The CAD system adapted to multiple modeling engines according to claim 1, characterized in that, It further comprises: The data interface only defines a pure virtual method for obtaining the data identifier internally, and the return value of this method serves as the unique identifier of the input data and is used as the basis for sorting and judging the same entity.

5. The CAD system adapted to multiple modeling engines according to claim 1, characterized in that, It further includes a unit test module (104), which is configured to transfer a preset test request to the modeling tool module (101) after selecting the target modeling engine; wherein, the test request includes a target modeling method call request and input data; A test run monitoring module (105), which is configured to monitor the process of the system executing the preset test request to obtain the test result.

6. The CAD system adapted to multiple modeling engines according to claim 5, wherein, It further includes a modeling engine comparison module (106), which is configured to obtain and record the execution situations and output results of each modeling engine when executing the same preset test request, evaluate the execution situations and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visualization display module (107), and generate the model results of each modeling engine when executing the same preset test request, and send the model results to the visualization display module (107) in a comparative display form; The evaluation dimensions include at least one or more of geometric accuracy, mesh quality, topological structure integrity, attribute retention, execution efficiency, and stability.

7. The CAD system adapted to multiple modeling engines according to claim 6, wherein It further includes a visualization display module (107), which is configured to display the comparison analysis report and the model comparison visualization result for the user to conduct an intuitive comparative analysis.

8. A method for implementing a CAD system adaptable to multiple modeling engines, for implementing a CAD system adaptable to multiple modeling engines as described in any one of claims 1-7, characterized in that, Comprising: Through the modeling tool module (101), determine the target modeling implementation module (102, 102') based on the selected target modeling engine; Call the modeling interface to receive the target modeling method call request and input data passed in by the CAD front-end, forward them to the method with the same name that implements the target modeling method in the target modeling implementation module (102, 102'), and transfer the input data to the target modeling implementation module through the data interface; Through the modeling implementation module (102, 102'), call the adapted modeling engine API in the method with the same name that implements the target modeling method, receive the input data in the form of a data interface passed by the modeling tool module (101), convert the input data into data executable by the adapted modeling engine, and use the converted data executable by the adapted modeling engine to perform the modeling operation; Moreover, after execution, obtain the output data of the adapted modeling engine, convert the output data of the adapted modeling engine into the form of a data interface, and return it to the modeling tool module (101).

9. A method for implementing a CAD system adaptable to multiple modeling engines according to claim 8, characterized in that, It further includes: Through the unit test module (104), after selecting the target modeling engine, transfer the preset test request to the modeling tool module (101); The test run monitoring module (105) monitors the process of the system executing the preset test request to obtain the test result.

10. A method for implementing a CAD system adaptable to multiple modeling engines according to claim 9, characterized in that, It further includes: Through the modeling engine comparison module (106), obtain and record the execution situations and output results of each modeling engine when executing the same preset test request, evaluate the execution situations and output results of each modeling engine according to multiple evaluation dimensions, generate a comparison analysis report and send it to the visualization display module (107), and generate the model results of each modeling engine when executing the same preset test request, and send the model results to the visualization display module (107) in the form of a comparison display; Through the visualization display module (107), display the comparison analysis report and the model comparison visualization result for the user to conduct an intuitive comparative analysis.

Citation Information

Patent Citations

  • Modeling method and system adaptive to various geometric engines

    CN117150588A

  • Upgrading method for newly-added parallel engine of existing software based on IPC technology

    CN117632215A

  • Interface data processing method and device for heterogeneous geometric modeling engine and storage medium

    CN119760803A

  • Method and system for CAD engine independence

    US20030233199A1