A geometric modeling kernel parallel editing method and system
By splitting the model into multiple independent sub-models for parallel loading and editing, the problem of low model loading efficiency in existing technologies is solved, enabling multi-user collaborative editing and parallel analysis, and improving the efficiency of computing resource utilization.
Patent Information
- Application Number
- CN202410386443.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-01
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2044-04-01
AI Technical Summary
Existing commercial and open-source CAD kernels cannot fully utilize computing, storage, and network resources under Internet cloud technology, resulting in low model loading efficiency and an inability to support multi-user collaborative editing and parallel analysis.
By constructing a multi-session format, the model is split into multiple sub-models, each of which is stored and loaded independently. Multi-process or multi-threaded loading and editing are used in parallel, supporting multi-user collaborative editing and parallel analysis.
It doubles the model loading efficiency, supports multiple users editing the same model simultaneously, enables parallel analysis, and makes full use of computing resources.
Smart Images

Figure CN118296673B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a geometric modeling kernel editing method and system, in particular to a geometric modeling kernel parallel editing method and system. BACKGROUND
[0002] The existing commercial and open source CAD kernels, such as parasolid, open cascade, technical documents show that they all provide interfaces in the form of single session (such as shown in Figure 1 When the model is loaded, it can only be loaded in a synchronous manner in sequence, and only partial parallel editing and analysis can be realized on model editing and analysis.
[0003] The single session form cannot fully and effectively utilize the computing resources, storage resources and network resources of cloud services under the Internet cloud technology to improve the model loading efficiency, support multi-person collaborative editing of large models, and efficiently analyze the models.
[0004] In order to solve these problems, the present application proposes a solution to the low efficiency of model loading, multi-person parallel editing and parallel analysis through the form of multiple sessions. SUMMARY
[0005] The technical problem solved by the present application is to construct a geometric modeling kernel editing method and system to overcome the technical problems of low efficiency of model loading, inconvenience of multi-person parallel editing and parallel analysis in the form of multiple sessions of the prior art.
[0006] The technical solution of the present application is to construct a geometric modeling kernel parallel editing method, comprising the following steps:
[0007] Constructing multiple sub-models: the existing model is split into multiple sub-models according to the granularity of partition or part or assembly, and there is no reference relationship between the sub-models; for a newly created model, multiple sub-models are constructed according to the granularity of partition or part or assembly, and there is no reference relationship between the sub-models;
[0008] Loading the model: when the model is loaded, a session is created for each sub-model, an independent object manager is set up for each session, a model operation interface is provided by the session, the object manager of the corresponding session is accessed through the context data structure of the session, the context information of the session is passed in the modeling operation, and one or multiple sessions are loaded in parallel for model operation;
[0009] Merging the model: part data replication or transfer is performed between the sub-models to merge them, and the topology expression of the replicated or transferred parts in the target model remains unchanged;
[0010] Storing the model: each sub-model is stored as an independent file on the local disk or remote disk.
[0011] Further technical solutions of the present application are: in the model loading step, further comprising calling the kernel interface to migrate data between different sessions.
[0012] Further technical solutions of the present application are: in the model loading step, a plurality of processes are used to load sub-models, and each process creates a session to load a sub-model.
[0013] Further technical solutions of the present application are: in the model loading step, a plurality of sessions are created in the same process to load a plurality of sub-models.
[0014] Further technical solutions of the present application are: in the model loading step, a plurality of processes are used to load sub-models, and for part of the sub-models, each process creates a session to load a sub-model; and for another part of the sub-models, a plurality of sessions are created in the same process to load a plurality of sub-models.
[0015] Further technical solutions of the present application are: in the model loading step, the plurality of processes can be deployed on the same server or different servers.
[0016] Further technical solutions of the present application are: when storing the model, different sessions are stored on different disk partitions.
[0017] The technical solutions of the present application are: a geometric modeling kernel parallel editing system is constructed, which comprises a sub-model construction module, a model loading module, a model merging module, and a model storage module; the sub-model construction module splits an existing model into a plurality of sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; for a newly created model, the sub-model construction module constructs a plurality of sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; the model loading module creates a session for each sub-model, each session sets up an independent object manager, provides a model operation interface by the session, accesses the object manager of the corresponding session through the context data structure of the session, transmits the context information of the session in the modeling operation, and loads one or a plurality of sessions in parallel for model operation; the model merging module performs part data copying or transferring between the sub-models to perform merging, and the topology expression of the copied or transferred parts in the target model is unchanged; and the model storage module stores each sub-model as an independent file on a local disk or a remote disk.
[0018] Further technical solutions of the present application are: the model loading module comprises multi-process loading, multi-thread loading, and combined multi-process and multi-thread loading.
[0019] Further technical solutions of the present application are: the model loading module comprises distributing the sub-models to different servers for model operation.
[0020] The technical effect of the present application is that the present application constructs a geometric modeling kernel parallel editing method, including the following steps: constructing multiple sub-models: splitting the existing model into multiple sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; for a newly created model, multiple sub-models are constructed according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models. Load the model: when the model is loaded, a session is created for each sub-model, and each session sets up an independent object manager. The model operation interface is provided by the session, the object manager of the corresponding session is accessed through the context data structure of the session, the context information of the session is passed in the modeling operation, and one or multiple sessions are loaded for model operation. Merge the model: copy or transfer the part data between the sub-models to merge, and the topology expression of the copied or transferred part in the target model is unchanged. Store the model: each sub-model is stored in an independent file on the local disk or remote disk. The loading efficiency of the model of the present application is doubled compared with the traditional single session form, while supporting simultaneous editing of the same model by multiple people, supporting parallel analysis of the model, and the CPU computing resources of the computer are more fully utilized. BRIEF DESCRIPTION OF DRAWINGS
[0021] Figure 1 The present application is a schematic diagram of the existing single session structure.
[0022] Figure 2 The present application is a schematic diagram of the multiple session structure. DETAILED DESCRIPTION
[0023] The technical solution of the present application will be further described below in combination with specific embodiments.
[0024] As shown in the specific embodiment of the present application, a geometric modeling kernel parallel editing method is constructed, including the following steps: Figure 2
[0025] Constructing multiple sub-models: splitting the existing model into multiple sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; for a newly created model, multiple sub-models are constructed according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models.
[0026] The specific implementation process is as follows: for an existing model, the model is split into multiple sub-models according to the granularity of partitions, parts or assemblies, and it is required that there is no reference relationship between different sub-models after splitting, for example, different faces of a main body cannot be split into multiple sub-models, and different instances of an assembly cannot be split into multiple sub-models. For a newly created model, the user can create multiple sessions when creating a model component, and independently edit different components of the model in each session. The user selects the number of sub-models after splitting and the parts included in each sub-model. In the specific embodiment, the kernel adaptive algorithm is used for intelligent splitting, and the number of sub-models after splitting and the parts included in each sub-model are determined by the kernel algorithm. When the model is loaded, a separate session is started for each sub-model, so that the data between the sub-models is completely independent after the model is loaded, and each sub-model can be edited and analyzed in parallel.
[0027] Loading a model: when the model is loaded, a session is created for each sub-model, an independent object manager is set up for each session, the model operation interface is provided by the session, the object manager of the corresponding session is accessed through the context data structure of the session, the context information of the session is passed in the modeling operation, and one or multiple sessions are loaded in parallel for model operation.
[0028] The specific implementation process is as follows: in order to improve the loading efficiency of the model, the model is loaded in a parallel manner, in order to realize parallel operation of the model, the data of each model must be stored independently, and there is no reference relationship between them. When starting a session to load a sub-model, an independent entity manager is established for each session, so that there is no shared data between the sub-models, and the parallel operation is naturally supported from the model storage. When loading the model, multiple sessions can operate their respective entity managers in parallel, thereby improving the loading efficiency of the model; when editing the model, different sub-models can be edited by multiple users online in real time. In the preferred embodiment, when operating the model, the kernel interface is also called to migrate data between different sessions.
[0029] Merging a model: part data is copied or transferred between sub-models for merging, and the topological expression of the copied or transferred parts in the target model is unchanged.
[0030] The specific implementation process is as follows: when the model is merged, part data is copied or transferred between sub-models, the topological expression of the copied or transferred parts in the target model is unchanged, and the labels of the entities in the parts are re-allocated. When the model is merged, the entity manager corresponding to the merged model, the labels of the entities of the remaining models remain unchanged, and the entities of the merged models are re-allocated labels. For example, model one is merged with model two, model one is retained, and model two is deleted, so the labels of the entities in model one remain unchanged, and the entities in model two are all re-allocated labels.
[0031] Storage model: each sub-model is stored in an independent file on a local disk or a remote disk.
[0032] The implementation process is as follows: each sub-model is stored in an independent file on a local disk or a remote disk, and different sub-models should be stored on different disk partitions in order to achieve the highest read-write efficiency.
[0033] A preferred embodiment of the present application is that, when loading the model, multiple processes are used to load the sub-models, each process creates a session to load a sub-model, and the multiple processes can be deployed on the same server or different servers. In the preferred embodiment, when loading the model, multiple sessions are created in the same process to load multiple sub-models. In the preferred embodiment, when loading the model, multiple processes are used to load the sub-models, for some sub-models, each process creates a session to load a sub-model, and for other sub-models, multiple sessions are created in the same process to load multiple sub-models. When loading the model, the multiple processes can be deployed on the same server or different servers.
[0034] A preferred embodiment of the present application is that, when storing the model, different sessions are stored on different disk partitions, which can improve the read-write efficiency.
[0035] As shown in Figure 3 The specific implementation of the present application is to construct a geometric modeling kernel parallel editing system, which includes a sub-model construction module 1, a model loading module 2, a model merging module 3, and a model storage module 4. The sub-model construction module 1 splits an existing model into multiple sub-models according to the granularity of partitions, parts, or assemblies, and there is no reference relationship between the sub-models. For a newly created model, the sub-model construction module 1 constructs multiple sub-models according to the granularity of partitions, parts, or assemblies, and there is no reference relationship between the sub-models. The model loading module 2 creates a session for each sub-model, each session sets up an independent object manager, provides a model operation interface by the session, accesses the object manager of the corresponding session through the context data structure of the session, transmits the context information of the session in the modeling operation, and loads one or multiple sessions in parallel for model operation. The model merging module 3 copies or transfers part data between sub-models for merging, the topology expression of the copied or transferred part in the target model is unchanged, and the labels of the entities in the part are re-allocated. The model storage module 4 stores each sub-model in an independent file on a local disk or a remote disk.
[0036] As shown in Figure 3As shown, the specific implementation process of the application is: for an existing model, the sub-model construction module 1 is split into multiple sub-models according to the granularity of partition, parts or assemblies, and the entities between different sub-models after splitting are required to have no reference relationship, such as: different faces of a main body cannot be split into multiple sub-models, and different instances of an assembly cannot be split into multiple sub-models. For a newly created model, the user can create multiple sessions when creating model components, and independently edit different components of the model in each session. The user selects the number of split sub-models and the parts contained in each sub-model. In the specific embodiment, the kernel adaptive algorithm is used for intelligent splitting, and the number of split sub-models and the parts contained in each sub-model are determined by the kernel algorithm. When the model is loaded, a separate session is started for each sub-model, so that the data between the sub-models is completely independent after the model is loaded, thereby enabling parallel editing and analysis of each sub-model.
[0037] The technical effect of the application is: the application constructs a geometric modeling kernel parallel editing method, including the following steps: constructing multiple sub-models: splitting an existing model into multiple sub-models according to the granularity of partition or parts or assemblies, and the sub-models have no reference relationship; for a newly created model, multiple sub-models are constructed according to the granularity of partition or parts or assemblies, and the sub-models have no reference relationship. Load the model: when the model is loaded, a session is created for each sub-model, each session sets up an independent object manager, the model operation interface is provided by the session, the object manager of the corresponding session is accessed through the context data structure of the session, the context information of the session is passed in the modeling operation, and one or multiple sessions are loaded in parallel for model operation. Merge the model: copy or transfer part data between sub-models to merge, the topology expression of the copied or transferred parts in the target model is unchanged, and the labels of the entities in the parts are redistributed. Store the model: each sub-model is stored in an independent file on the local disk or remote disk. The loading efficiency of the model of the application is doubled compared with the traditional single-session form, while supporting simultaneous editing of the same model by multiple people, supporting parallel analysis of the model, and the CPU computing resources of the computer are more fully utilized.
[0038] In order to improve the loading efficiency of the model, the parallelization mode is used for loading, and in order to realize the parallel operation of the model, the data of each model must be independently stored, and there is no reference relationship between each other. When starting the session loading sub-model, an independent entity manager is established for each session, so that there is no shared data between each sub-model, and the parallel operation is naturally supported from the model storage. When loading the model, multiple sessions can operate the entity manager of each session in parallel, thereby improving the loading efficiency of the model; when editing the model, different sub-models can be edited in real time by multiple users online. In the preferred embodiment, when operating the model, the kernel interface is also called to migrate data between different sessions.
[0039] When the model is merged, the part data is copied or transferred between the sub-models, the topology expression of the copied or transferred part in the target model is unchanged, and the label of the entity in the part is re-allocated. When the model is merged, the entity manager corresponding to the merged model retains the label of the entity of the remaining model unchanged, and the entity of the merged model is re-allocated the label. For example, when model one is merged with model two, model one is retained, and model two is deleted, the label of the entity in model one remains unchanged, and the entities in model two are all re-allocated the label.
[0040] When storing the model, each model is stored in an independent file on the local disk or the remote disk, and in order to achieve the highest read-write efficiency, different models should be stored on different disk partitions.
[0041] As shown in Figure 3 , the specific implementation process of the present application is that the model loading module 2 includes multi-process loading, multi-thread loading and multi-process and multi-thread combined loading. Specifically: when loading the model, multiple sessions are created in the same process to load multiple sub-models. In the preferred embodiment, when loading the model, multiple processes are used to load the sub-models, and for part of the sub-models, each process creates a session to load a sub-model; for another part of the sub-models, multiple sessions are created in the same process to load multiple sub-models. When loading the model, multiple processes can be deployed on the same server or different servers.
[0042] As shown in Figure 3 , the specific implementation process of the present application is that the model loading module 2 includes distributing the sub-models to different servers for model operation.
[0043] The technical effect of the present application is that the present application constructs a parallel editing method of a geometric modeling kernel, comprising the following steps: constructing multiple sessions: splitting the existing model into multiple sessions according to the granularity of partition, part or assembly, and there is no reference relationship between the split sessions; for a newly created model, multiple sessions are created, and different components of the model are edited independently in each session; each session sets up an independent object manager. Parallel loading of sessions and editing: accessing the object manager of the corresponding session through the context data structure of the session, passing the context information of the session in the modeling operation, and parallel loading and editing analysis of the session. Merge sessions: merge the object managers of the sessions, reassign the labels of the entities in the sessions, and correct the label values in the related session data structure. Store the session: each session is stored in an independent file on the local disk or remote disk, and different sessions should be stored on different disk partitions. The loading efficiency of the model of the present application is doubled compared with the traditional single session form, while supporting simultaneous editing of the same model by multiple people, supporting parallel analysis of the model, and the CPU computing resources of the computer are more fully utilized.
[0044] The above is a further detailed description of the present application in combination with specific preferred embodiments, and cannot be considered as limiting the specific implementation of the present application to these descriptions. For ordinary skilled persons in the technical field to which the present application belongs, a number of simple deductions or substitutions can be made without departing from the concept of the present application, and all of them should be considered as falling within the protection scope of the present application.
Claims
1. A method for parallel editing of geometric modeling kernels, characterized in that, The method comprises the following steps: constructing multiple sub-models: splitting an existing model into multiple sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; for a newly created model, multiple sub-models are constructed according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models; loading the model: when the model is loaded, a session is created for each sub-model, an independent object manager is set up for each session, a model operation interface is provided by the session, an object manager of the corresponding session is accessed through a context data structure of the session, context information of the session is passed in a modeling operation, and one or multiple sessions are loaded in parallel for model operation; merging the model: part data is copied or transferred between the sub-models for merging, and the topological expression of the copied or transferred part in the target model is unchanged; storing the model: each sub-model is stored in an independent file on a local disk or a remote disk.
2. The parallel editing method of geometric modeling kernel according to claim 1, wherein, In the model loading step, a kernel interface is called to migrate data between different sessions.
3. The method of claim 1, wherein the geometric modeling kernel is parallel edited. In the model loading step, multiple processes are used to load the sub-models, and each process creates a session to load a sub-model.
4. The method of claim 1, wherein, In the model loading step, multiple sessions are created in the same process to load multiple sub-models.
5. The method of claim 1, wherein, In the model loading step, multiple processes are used to load the sub-models, for part of the sub-models, each process creates a session to load a sub-model, and for another part of the sub-models, multiple sessions are created in the same process to load multiple sub-models.
6. The parallel editing method of geometric modeling kernels according to claim 1, wherein, In the model loading step, the multiple processes can be deployed on the same server or different servers.
7. The method of claim 1, wherein the geometric modeling kernel is parallelized. When the model is stored, different sessions are stored on different disk partitions.
8. A geometric modeling kernel parallel editing system, characterized by, The method comprises a sub-model construction module, a model loading module, a model merging module, and a model storage module. The sub-model construction module splits an existing model into multiple sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models. For a newly created model, the sub-model construction module constructs multiple sub-models according to the granularity of partitions or parts or assemblies, and there is no reference relationship between the sub-models. The model loading module creates a session for each sub-model, sets up an independent object manager for each session, provides a model operation interface by the session, accesses the object manager of the corresponding session through a context data structure of the session, passes context information of the session in a modeling operation, and loads one or multiple sessions in parallel for model operation. The model merging module copies or transfers part data between the sub-models for merging, and the topological expression of the copied or transferred part in the target model is unchanged. The model storage module stores each sub-model in an independent file on a local disk or a remote disk.
9. The parallel editing system of claim 8, wherein, The model loading module comprises multi-process loading, multi-thread loading, and combined multi-process and multi-thread loading.
10. The parallel editing system of claim 8, wherein, The model loading module comprises distributing the sub-models to different servers for model operation.
Citation Information
Patent Citations
Outbound service implementation method and system based on contexts in operation
CN103399786A
System and method for supporting multiple partition edit sessions in a multitenant application server environment
CN106462833A
Method for loading three-dimensional model of transformer substation, electronic equipment and storage medium
CN117392334A