Geometric topology updating method and device and storage medium

By localizing the scope of topology updates, incrementally recording changes in topology relationships, marking deletion status in the model manager, and managing records using an undo stack list, the problem of low efficiency in traditional topology updates is solved, achieving efficient geometric topology updates and undo/redo operations.

CN120951410APending Publication Date: 2025-11-14SHENZHEN FENGCHAO YUNBO SOFTWARE TECHNOLOGY CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202511486036.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-17
Publication Date
2025-11-14

AI Technical Summary

Technical Problem

Traditional geometric topology update methods require a complete reconstruction of the topology relationships, resulting in low efficiency and long undo/redo times. In particular, the real-time performance and reliability of these methods are insufficient in high-frequency modification scenarios of complex CAD/CAE models.

Method used

By responding to the (n+1)th geometric processing action, the target element of the change is determined, its historical topological relationship is backed up, the current topological relationship is constructed, the associated record is generated, and the deletion status is marked in the model manager. The change record is managed using the undo stack list, realizing localized processing and incremental recording.

Benefits of technology

It improves the efficiency of geometric topology updates, ensures the integrity of element information and the reversibility of operations, and significantly enhances the real-time performance of user operations and the reliability of model processing in high-frequency modification scenarios of complex CAD/CAE models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120951410A_ABST
    Figure CN120951410A_ABST
Patent Text Reader

Abstract

The invention discloses a geometric topology updating method and device and a storage medium, and relates to the technical field of model processing, the geometric topology updating method comprises the following steps: in response to an (n + 1) th geometric processing action, determining a changed first target element in a kernel model; backing up a historical topological relation of the geometric object where the first target element is located after the nth geometric processing action; constructing a current topological relation of each element in the geometric object based on the topological top end of the geometric object; comparing the current topological relation and the historical topological relation of each element in the geometric object, and determining a second target element with topological change and the changed topological content of the second target element; and generating an association record of the second target element according to the changed topology content. The technical problem that the efficiency of geometric topology updating is low due to the fact that a new topological relation is reconstructed in a full-amount mode is solved, and the technical effect of improving the efficiency of geometric topology updating is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer-aided engineering model processing technology, and in particular to a geometric topology update method, device and storage medium. Background Technology

[0002] Geometric topology update refers to the process by which the system updates the connection relationships of topological elements when the geometry or connection relationships of the model change during CAD (Computer Aided Design) / CAE (Computer Aided Engineering) modeling or geometric processing.

[0003] In related technologies, the traditional topology update method is to traverse the topology again from the top, construct new topological relationships, and delete elements that are not in the topology. However, related technologies reconstruct new topological relationships from scratch, resulting in low efficiency of geometric topology updates. Summary of the Invention

[0004] The main objective of this application is to provide a geometric topology update method, device, and storage medium, which aims to solve the technical problem that the low efficiency of geometric topology updates is caused by the complete reconstruction of new topology relationships.

[0005] To achieve the above objectives, this application provides a geometric topology update method applied to the (n+1)th geometric processing action, the geometric topology update method comprising: In response to the (n+1)th geometry processing action, determine the first target element in the kernel model that has changed; Back up the historical topological relationships of the geometric object containing the first target element after the nth geometric processing action; The current topological relationships of each element in the geometric object are constructed based on the topological top of the geometric object; By comparing the current topological relationship and the historical topological relationship of each element in the geometric object, a second target element with a topological change and the changed topological content of the second target element are determined. Generate an associated record for the second target element based on the changed topology content.

[0006] In one embodiment, if the geometric processing action is to delete an element, after the step of generating the associated record of the second target element based on the changed topology content, the method includes: In the model manager, the target element corresponding to the deletion action is marked as deleted to indicate that the target element is no longer in the topology.

[0007] In one embodiment, after the step of generating the associated record of the second target element based on the changed topology content, the method includes: The associated records are stored in the undo stack list according to the record type and the geometric processing action. The record types include new element, deleted element, and updated element.

[0008] In one embodiment, after the step of storing the associated record in an undo stack list in association with the geometry processing action according to the type of the geometry processing action, the method includes: In response to an undo action, retrieve the target associated record from the undo stack list; The topological relationships of each element in the geometric model are updated by setting each record according to the record type of the target associated record.

[0009] In one embodiment, the step of setting records one by one according to the record type of the target associated record includes: If the record type is a newly created element, mark the newly created first target element as deleted. If the record type is a deleted element, cancel the deletion status of the second target element; If the record type is an update element, the updated third target element will be marked as an old element in the model manager.

[0010] In one embodiment, after the step of setting each record according to the record type of the target associated record to update the topological relationship of each element in the geometric model, the method includes: In response to a redo action, move the target-associated record from the undo stack list to the redo stack list; The record type is set one by one based on the target associated record in the redo stack list to update the topological relationships of each element in the geometric model.

[0011] In one embodiment, the step of setting the record type of the target associated record in the redo stack list one by one includes: If the record type is a newly created element, cancel the deletion status of the newly created first target element; If the record type is a deleted element, mark the second target element as deleted; If the record type is an update element, the updated third target element will be marked as a new element in the model manager.

[0012] In one embodiment, the step of constructing the current topological relationship of each element in the geometric object based on the topological top of the geometric object includes: Based on the model data of the kernel model, the geometric object is determined in the target model associated with the kernel model; The current topological relationships of each element in the geometric object are constructed based on the topological top of the geometric object.

[0013] In addition, to achieve the above objectives, this application also provides a geometric topology update device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the geometric topology update method as described above.

[0014] In addition, to achieve the above objectives, this application also provides a storage medium, which is a computer-readable storage medium, on which a program implementing the geometric topology update method is stored, and the program implementing the geometric topology update method is executed by a processor to implement the steps of the geometric topology update method as described above.

[0015] This application provides a geometric topology update method. First, in response to the (n+1)th geometric processing action, a first target element in the kernel model that has changed is identified. The historical topological relationships of the geometric object containing the first target element after the nth geometric processing action are backed up. Based on the topological topology of the geometric object, the current topological relationships of each element in the geometric object are constructed. The current topological relationships of each element in the geometric object are compared with the historical topological relationships to identify a second target element with a topological change and its changed topological content. An association record for the second target element is generated based on the changed topological content. In other words, this application, through its design of "localized processing of the topology update range, incremental recording of topological relationship changes, soft deletion of elements + status markers, and rapid undo / redo based on change records," perfectly solves the pain points of traditional topology updates, such as "low efficiency of full reconstruction, loss of deleted element information, and long undo / redo time." It is particularly suitable for high-frequency modification scenarios of complex CAD / CAE models, such as industrial part design and finite element analysis preprocessing, and can significantly improve the real-time performance of user operations and the reliability of model processing. It solves the technical problem of low efficiency in geometric topology updates caused by the full reconstruction of new topological relationships. This achieves the technical effect of improving the efficiency of geometric topology updates. Attached Figure Description

[0016] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a flowchart illustrating an embodiment of the geometric topology update method of this application. Figure 2a This is an example diagram of the engine connecting rod model before geometric topology update in Embodiment 1 of the geometric topology update method of this application; Figure 2b This is an example diagram showing the updated geometry of the engine connecting rod model in Embodiment 1 of the geometry update method of this application. Figure 3 This is a simplified flowchart of the geometric topology update method of this application; Figure 4 This is a schematic diagram of the system architecture involved in the geometric topology update device of this application.

[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0020] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0021] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0022] Currently, in related technologies, the traditional method for topology updates is to traverse the topology again from the top, construct new topological relationships, and delete elements that are not in the topology. However, these technologies involve completely reconstructing new topological relationships, resulting in low efficiency for geometric topology updates.

[0023] This application first identifies the first target element in the kernel model that has changed in response to the (n+1)th geometric processing action; backs up the historical topological relationship of the geometric object containing the first target element after the nth geometric processing action; constructs the current topological relationship of each element in the geometric object based on the topology of the geometric object; compares the current topological relationship of each element in the geometric object with the historical topological relationship to identify the second target element with topological changes and the changed topological content of the second target element; and generates an association record of the second target element based on the changed topological content. In other words, this application, through its design of "localized processing of the topology update range, incremental recording of topological relationship changes, soft deletion of elements + status markers, and rapid undo / redo based on change records," perfectly solves the pain points of traditional topology updates, such as "low efficiency of full reconstruction, loss of deleted element information, and long undo / redo time." It is particularly suitable for high-frequency modification scenarios of complex CAD / CAE models, such as industrial part design and finite element analysis preprocessing, and can significantly improve the real-time performance of user operations and the reliability of model processing. It achieves the technical effect of improving the efficiency of geometric topology updates.

[0024] It should be noted that the execution subject in this embodiment can be a terminal device, or a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or a geometric topology update device capable of performing the above functions. This embodiment does not specifically limit the specific implementation. The following uses a geometric topology update device as the execution subject to describe this embodiment and the following embodiments.

[0025] Based on this, Embodiment 1 of this application proposes a geometric topology update method, please refer to... Figure 1 The geometric topology update method includes steps S10 to S50: Step S10: In response to the (n+1)th geometry processing action, determine the first target element in the kernel model that has changed.

[0026] In this embodiment, the (n+1)th geometric processing action is the latest operation performed by the user in the current operation flow that modifies the geometric model, such as stretching, cutting, or deleting faces. The kernel model is the core data structure that stores all data information of the geometric model, including the model's geometric elements, topological relationships, etc. The first target element is a topological element in the kernel model whose state or attributes are changed directly due to the (n+1)th geometric processing action, such as a newly added edge or a deleted face.

[0027] As an optional implementation, when the (n+1)th geometric processing action is detected to be completed, the system automatically scans the state information of all topological elements in the kernel model and marks the elements whose state is different from that after the nth geometric processing action is completed as the first target elements.

[0028] As another optional implementation, when performing the (n+1)th geometric processing action, the topological elements involved in the operation are recorded in real time. After the action is completed, the state of these elements is detected, and the elements that have changed are identified as the first target elements.

[0029] Step S20: Back up the historical topological relationship of the geometric object containing the first target element after the nth geometric processing action.

[0030] In this embodiment, a geometric object is a collection of geometric elements that constitute a geometric model. The geometric model includes topological elements such as volumes, blocks, shells, faces, loops, directed edges, edges, and vertices. In this embodiment, faces, edges, and vertices all belong to geometric objects. Historical topological relationships are the connection and spatial relationships between various topological elements within the geometric object containing the first target element after the nth geometric processing action.

[0031] As an optional implementation, when backing up historical topological relationships, the system stores the connection information and belonging relationship of each topological element in the geometric object separately, and associates and marks it with the element.

[0032] As another alternative implementation, the complete topological structure data of a geometric object after the nth geometric processing action is packaged and stored as a whole, forming a historical snapshot as a backup of the historical topological relationships.

[0033] Step S30: Construct the current topological relationship of each element in the geometric object based on the topological top of the geometric object.

[0034] In this embodiment, the topology apex is the highest-level starting point in the geometric object's topology structure, typically the geometric object itself. Starting from the topology apex, all lower-level topological elements contained within the geometric object can be traversed layer by layer. The current topological relationship is the newly formed connection and spatial relationship between the various topological elements in the geometric object after the (n+1)th geometric processing action.

[0035] As an optional implementation, starting from the top of the geometric object's topology, a depth-first traversal is used to sequentially identify the topological elements contained in the geometric object, such as faces, loops, edges, and vertices, and determine the connection methods between each element, thereby constructing the current topological relationship.

[0036] As another alternative implementation, starting from the top of the topology, the breadth-first traversal method is used to first obtain the face elements directly contained in the geometric object, and then the loops, edges, vertices, etc. contained in each face element are identified and their relationships are determined, gradually constructing the current topological relationships of each element in the geometric object.

[0037] Step S40: Compare the current topological relationship and the historical topological relationship of each element in the geometric object to determine the second target element with topological changes and the changed topological content of the second target element.

[0038] In this embodiment, the second target element is a topological element within a geometric object whose topological relationship has changed after comparing the current topological relationship with the historical topological relationship. The change in topological content refers to the specific changes that occur in the topological relationship of the second target element, such as changes in the connected vertices or changes in the faces it belongs to.

[0039] As an optional implementation, the current and historical topological relationships of each element in the geometric object are extracted one by one. A data comparison algorithm is used to make a precise comparison, and the elements with differences are identified as the second target elements. The differences are then extracted as the content to be changed in the topology.

[0040] As another alternative implementation, the key topological attributes of the elements in the geometric object are first compared, such as the number of connected objects of the element and its parent element. For elements with differences in key attributes, a detailed comparison of topological relationships is then performed to determine the second target element and change the topological content.

[0041] Step S50: Generate an associated record for the second target element based on the changed topology content.

[0042] In this embodiment, the associated record is structured data used to record the topology changes of the second target element, including element identifier, topology information before and after the change, change type, etc.

[0043] As an optional implementation, the identifier of the second target element, the old topological relationship, the new topological relationship and the change type in the changed topology content are entered into the associated record according to the preset data format and stored under the database entry corresponding to the (n+1)th geometric processing action.

[0044] As another optional implementation, corresponding record templates are set for different types of changed topology content. The appropriate template is selected according to the change type of the second target element, the element information and change details are filled in, the associated record is generated, and it is bound and stored with the element.

[0045] For example, when operating on a cube model, after the nth geometric processing action, the model is a complete cube. The (n+1)th geometric processing action is to bevel one of the cube's vertices. In response to this bevel operation, the first target element is determined to be the three faces, three edges, and one vertex of the original vertices involved in the bevel process, as well as the newly added beveled face, two new edges, and two new vertices. The historical topological relationships of the cube geometry object containing these first target elements after the nth processing are backed up, including the connection relationships between the original three faces and other faces, the vertices connected by the original three edges, etc. Based on the topological apex of the cube geometry object, i.e., the cube itself, the current topological relationship is constructed, and the new connection relationships between the faces, edges, and vertices after beveling are identified. Comparing the current topological relationship with the historical topological relationship, the second target element is determined to be the three faces, three edges, and one vertex of the original vertices, as well as the newly added beveled face, two new edges, and two new vertices. The changed topological content includes the connection between the original face and the new edge, the connection between the original edge and the new vertex, and the connection between the new face and the original face and the new edge, etc. Based on these changes to the topology, associated records are generated to document the changes to each element.

[0046] For an example of creating new elements, when designing a cuboid model, after the nth geometric processing action, the model is a complete cuboid with a length of 10cm, a width of 5cm, and a height of 3cm. The (n+1)th geometric processing action involves stretching one side of the cuboid (a face with an area of ​​5cm × 3cm) outward by 2cm in a direction perpendicular to that face, forming a new protrusion. In response to this stretching operation, the first target element is determined to be the original stretched side, the 4 newly added edges during the stretching process, 2 new vertices, and the 3 new faces and 1 new geometric object corresponding to the newly added protrusion. The historical topological relationships of the original cuboid geometric objects containing these first target elements after the nth processing are backed up, including the connection relationships between the original side and adjacent faces, and the connection relationships between the edges of the original side and vertices. Based on the topological top of the original cuboid geometric object (i.e., the original cuboid itself) and the topological top of the newly added geometric object, the current topological relationships are constructed, identifying the connection relationships between the original side and the newly added faces after stretching, the connection relationships between the newly added edges and the original and new vertices, and the connection relationships between the newly added geometric object and the original cuboid geometric object. By comparing the current and historical topological relationships, the second target element is identified as the stretched original side surface, the four newly added edges, two new vertices, three new faces, and one new geometric object. The topological changes include connections between the original side surface and the newly added faces, connections between the newly added edges and the original and new vertices, and connections between the newly added geometric object and the original cuboid geometric object. Based on these topological changes, associated records are generated. For the newly added elements (four edges, two new vertices, three new faces, and one new geometric object), a `createDataHandle` is generated to record its identifier and connection relationships with other elements.

[0047] For an example of deleting an element, when editing a cube model, after the nth geometric processing action, the model is a complete cube with each edge length of 5cm. The (n+1)th geometric processing action is to delete one top face of the cube (a face with an area of ​​5cm × 5cm). In response to this deletion operation, the first target element is determined to be the deleted top face and its four edges and four vertices (the topological relationships of these edges and vertices change due to the deletion of the top face). The historical topological relationships of the cube geometry containing these first target elements after the nth processing are backed up, including the connection relationships between the top face and its four adjacent sides, and the connection relationships between the four edges of the top face and the edges of the four sides. Based on the topological top of the cube geometry (i.e., the cube itself), the current topological relationships are constructed, identifying the new connection relationships between the edges of the top edges of the four sides after the deletion of the top face, and the state changes of the four edges and four vertices of the original top face. By comparing the current and historical topological relationships, the second target element is identified as the deleted top face, its four edges, and four vertices. The changes to the topology include forming new connections between the edges of the four sides and the top edge, the deleted top face changing its state to be outside the topology, and changes to the connections between its four edges and four vertices and other elements. Based on these changes, associated records are generated. For the deleted top face, a `deleteDataHandle` is generated, marking its state as outside the topology and recording its original topological relationships.

[0048] For an example of updating elements, when adjusting a hexagonal surface model, after the nth geometric processing action, the model is a regular hexagon, consisting of 6 edges of equal length and 6 vertices. The (n+1)th geometric processing action is to shorten the length of one of the edges, making it an irregular hexagon. In response to this modification, the first target elements are identified as the shortened edge and the two vertices connected to it (the positions of these two vertices change due to the edge shortening). The historical topological relationships of the hexagonal surface geometry objects containing these first target elements after the nth processing are backed up, including the connection relationships between the shortened edge and its two adjacent edges, the connection relationships between the edge and its two vertices, and the connection relationships between the two vertices and other edges. Based on the topological apex of the hexagonal surface geometry object (i.e., the hexagon itself), the current topological relationships are constructed, identifying the new connection relationships between the shortened edge and its two adjacent edges, the new connection relationships between the edge and its two vertices, and the new connection relationships between the two vertices and other edges. By comparing the current and historical topological relationships, the second target element is determined to be the shortened edge and the two vertices connected to it. The changes in topology include alterations to the connections between the shortened edge and adjacent edges and vertices due to the change in the length of the shortened edge, and changes to the connections between the two vertices and other edges due to changes in their positions. Based on these changes, associated records are generated. Specifically, for the shortened edge and the two vertices, a `modifyDataHandle` is generated to record the topological relationships before and after the change.

[0049] It should be noted that a geometric processing action can be a single operation, namely any one of creating an element, deleting an element, or updating an element, or it can be at least one of these operations. The foregoing embodiments describe each of creating, deleting, and updating elements. In actual operation, a geometric processing action may include at least one of these operations, and subsequent processing actions will be corresponding permutations and combinations, which will not be elaborated here.

[0050] See Figure 2a and Figure 2b , Figure 2a and Figure 2b The model shown is an engine connecting rod, in which Figure 2a This is an example diagram of the engine connecting rod model before the geometry and topology update. Figure 2b This is an example diagram showing the updated geometry and topology of the engine connecting rod model. (Refer to...) Figure 2a The model contains many topological relationships; green lines indicate that two faces are connected. When deleting a face, refer to... Figure 2b As shown in the red box in the figure, only the topology of the local area has been modified. Therefore, when recording, we only need to record the topology information and state of the locally modified elements, which can improve the update efficiency.

[0051] This embodiment processes the topological relationships only for the geometric objects containing the changed elements, avoiding a full reconstruction of the entire model topology and improving the efficiency of geometric topology updates. Simultaneously, by generating associated records, it completely preserves the change information of topological elements, providing accurate data support for subsequent undo / redo operations, ensuring the integrity of element information and the reversibility of operations.

[0052] Based on any of the above embodiments, in Embodiment 2 of this application, after step S50, the following is included: Step S60: In the model manager, mark the target element corresponding to the deletion action as deleted to indicate that the target element is not in the topology.

[0053] In this embodiment, the model manager is a system module used to manage all element information, states, and topological relationships of the geometric model, responsible for tracking and maintaining the states of elements. A deletion state is a marker used to indicate that an element is currently not in the topological structure; elements marked with this state will not participate in subsequent topological relationship construction and traversal operations. The target element refers to the topological element specified for deletion in the geometric processing action of deleting an element.

[0054] As an optional implementation, the model manager has a dedicated status field for recording element status. After generating the associated record, the system automatically finds the target element corresponding to the deletion action and modifies the value of its status field to a preset deletion status identifier, such as "DELETED".

[0055] As an alternative implementation, the model manager maintains a state list for each element. After generating an association record, the system adds a deletion state record to the state list of the target element, and records the generation time of the state and the corresponding geometric processing action identifier for subsequent traceability.

[0056] For example, when deleting the base of a cylindrical model, the (n+1)th geometric processing action is to delete that base. After generating the associated record for the second target element, the model manager will find the base as the target element and mark it as deleted. Subsequently, when performing subsequent topological relationship traversal or modification operations on the cylindrical model, the system will recognize the deleted state of the base and will not include it in the topological structure processing scope.

[0057] This embodiment marks deleted elements with a deletion status in the model manager, clearly identifying elements not in the topology structure. This prevents these elements from being mistakenly accessed or involved in topology relationship processing in subsequent operations, ensuring the accuracy of the topology structure. At the same time, this marking method preserves the original information of the elements, providing a data foundation for possible undo operations, balancing the efficiency of topology updates with data integrity.

[0058] Based on any of the above embodiments, in Embodiment 3 of this application, after step S50, the following is included: Step S70: The associated records are stored in the undo stack list according to the record type and the geometric processing action. The record types include new element, deleted element, and updated element.

[0059] In this embodiment, the record type is a classification identifier for associated records, used to distinguish the element change type corresponding to the associated record. The newly created element record type corresponds to newly added topological elements, the deleted element record type corresponds to topological elements marked as deleted, and the updated element record type corresponds to topological elements whose topological relationships have been modified. Geometric processing actions refer to specific operations performed by the user on the geometric model, such as stretching, deleting, and modifying. The undo stack list is a data structure used to store geometric processing actions and their associated records, following the last-in-first-out (LIFO) principle, facilitating quick retrieval of the corresponding record when performing subsequent undo operations.

[0060] As an optional implementation, a unique action identifier is generated for each geometry processing action, the action identifier is bound to the record type in the associated record, and then the bound information is stored in the undo stack list in the order of action execution. Each entry contains the action identifier, record type and corresponding associated record.

[0061] As another optional implementation, separate storage areas are set up for different record types in the undo stack list. When storing associated records, they are placed in the corresponding area according to their record type, and an index association is established with the geometric processing action to which the associated record belongs. Through the index, all different types of associated records corresponding to a certain geometric processing action can be found quickly.

[0062] For example, a user first performs a cutting operation on a cone model (the (n+1)th geometric processing action), which adds 2 faces, 3 edges, and 2 vertices, generating a new element type associated record. Next, the user performs an operation to modify the radius of the base (the (n+2)th geometric processing action), which changes the topological relationship of the base and related edges, generating an updated element type associated record. Finally, the user deletes one side of the cone (the (n+3)th geometric processing action), generating a deleted element type associated record. The system associates these associated records with the corresponding cutting, modifying, and deleting actions according to the record type of the new, updated, and deleted elements, storing them in an undo stack list in the order of action execution. When the user needs to undo an operation, they retrieve the most recent deletion action and its associated record from the top of the undo stack list to execute the corresponding undo operation.

[0063] This embodiment stores associated records in an undo stack list, categorizing them by type and geometric processing actions. This allows for quick location of the corresponding associated records during an undo operation, improving efficiency. Furthermore, this categorized storage method facilitates the management and traceability of different types of element changes, ensuring the accuracy and reliability of undo operations and further refining the overall topology update process.

[0064] Based on any of the above embodiments, in Embodiment 4 of this application, after the step of storing the associated record in the undo stack list according to the type of the geometric processing action, the following is included: Step S80: In response to the undo action, retrieve the target associated record from the undo stack list.

[0065] In this embodiment, an undo action refers to an operation triggered by the user to cancel the previous or most recent geometry processing action, such as clicking the "Undo" button in the software interface. The undo stack list is an ordered data structure used to store geometry processing actions and their associated records, following the last-in-first-out (LIFO) principle. The target associated record refers to the associated record obtained from the undo stack list that corresponds to the geometry processing action that needs to be undone; it is usually the topmost associated record in the undo stack list.

[0066] As an optional implementation, when a user triggers an undo action, the system directly accesses the top of the undo stack list, identifies the associated record stored at the top as the target associated record, and extracts it.

[0067] As another optional implementation, the user can specify the number of geometric processing actions to be undone. The system searches upwards from the undone stack list according to the number of actions, identifies the associated record at the corresponding position as the target associated record, and retrieves it.

[0068] Step S90: Set each record according to the record type of the target associated record to update the topological relationship of each element in the geometric model.

[0069] In this embodiment, record types include new element, deleted element, and updated element, used to distinguish the element change types corresponding to associated records. Setting each record individually refers to adjusting the state and topological relationships of the corresponding topological elements according to the arrangement order of the target associated records and the content of each record. Updating the topology refers to restoring the topological structure to its state before performing the corresponding geometric processing action through the above setting process.

[0070] As an optional implementation, for a target associated record of type new element, the element corresponding to the record is marked as deleted, so that it is no longer in the topology; for a target associated record of type deleted element, the element corresponding to the record is marked as normal, so that it is reintegrated into the topology; for a target associated record of type updated element, the topology relationship of the element corresponding to the record is restored to the state before the change.

[0071] As another optional implementation, the system first parses the element identifiers and change information in the target associated records, and then calls the corresponding processing functions according to the record type. Creating a new element record calls the element hiding function, deleting an element record calls the element restoration function, and updating an element record calls the relationship rollback function. The topology is updated through function execution.

[0072] For example, a user first adds a boss to a sphere model, generating an associated record of the new element type stored at the top of the undo stack list, and then triggers an undo action. In response to this undo action, the system retrieves the target associated record corresponding to the boss addition operation at the top of the undo stack list. Then, based on the new element type of this target associated record, it sets the newly added faces, edges, vertices, etc., as deleted, making them no longer part of the topology, thus restoring the sphere model's topology to its state before the boss was added.

[0073] This embodiment obtains the target associated records by responding to the undo action and sets them one by one according to type, realizing the rapid rollback of the topology. This avoids the tedious process of rebuilding the topology in the traditional method, improves the efficiency of the undo operation, and ensures the accuracy of the topology update, allowing users to easily return to the previous operation state.

[0074] Meanwhile, in the actual operation of related reconstruction technologies, if a large number of elements are newly created or deleted, a large number of elements will also need to be newly created or deleted during undo or redo. These elements may store some information, and undoing or redoing often leads to the loss of this stored information. This embodiment, however, determines the changed elements at each geometric processing action, backs up the historical topology relationships based on the geometric object containing the changed elements, and then generates associated records based on the changed topology content. These associated records are then stored in an undo stack list. When undoing or redoing after undoing is needed, the corresponding associated record is queried from the undo stack list, and the corresponding operation is performed according to the data structure. This perfectly solves the technical problems of low efficiency in full reconstruction, loss of deleted element information, and long time consumption for undo and redo in traditional topology updates.

[0075] Optionally, the step of setting each record individually according to the record type of the target associated record includes: Step S91: If the record type is a newly created element, mark the newly created first target element as deleted.

[0076] In this embodiment, the record type for newly created elements corresponds to `createDataHandle`, which is a type of `dataHandle` used to record information about topological elements added due to `shapeOperation`. The first target element refers to the topological element newly created in this `shapeOperation`, such as newly added faces, edges, vertices, etc. The deletion state is used to indicate the state of an element that is no longer in the topological structure; elements marked with this state will not participate in subsequent topological relationship processing.

[0077] As an optional implementation, when a record type of "new element" is identified, the system extracts the identifier of the first target element created from createDataHandle, finds these elements through the model manager, sets their status field to "deleted", and marks them as deleted, so that they are no longer in the topology.

[0078] As another optional implementation, the system, based on the association information between the first target element and other elements recorded in createDataHandle, marks these elements as deleted while updating the topological relationship records of their associated elements to ensure that the topological structure no longer contains information about these newly created elements.

[0079] Step S92: If the record type is a deleted element, cancel the deletion status of the second target element.

[0080] In this embodiment, the record type for the deleted element corresponds to `deleteDataHandle`, which is a type of `dataHandle` used to record information about topological elements marked as deleted due to `shapeOperation`. The second target element refers to the topological element marked as deleted in this `shapeOperation`. Canceling the deletion status means restoring the element's state to its state within the topological structure, enabling it to participate in subsequent topological relationship processing.

[0081] As an optional implementation, when the record type is determined to be a deleted element, the identifier of the second target element is obtained from deleteDataHandle, these elements are located through the model manager, their status field is changed from "deleted" to "normal", the deletion status is canceled, and they are put back into the topology.

[0082] As another optional implementation, the system, based on the original topological relationship of the second target element recorded in deleteDataHandle, synchronously restores the connection relationship records between these elements and other elements after canceling their deletion status, thus ensuring the integrity of the topological structure.

[0083] Step S93: If the record type is an update element, mark the updated third target element as an old element in the model manager.

[0084] In this embodiment, the record type of the updated element corresponds to modifyDataHandle, which is a type of dataHandle used to record topological element information whose topological relationship is updated due to shapeOperation. The third target element refers to the element whose topological relationship is updated in this shapeOperation. Identifying it as an old element means restoring the element's current topological information to its state before the update, that is, changing from new information to old information.

[0085] As an optional implementation, when a record type of update element is identified, the identifier of the third target element and the old topology information before the update are extracted from modifyDataHandle. These elements are then located in the model manager, and their current new topology information is replaced with the old topology information to complete the identification of the old element.

[0086] As another optional implementation, the system, based on the topological relationship differences before and after the third target element is updated and recorded in modifyDataHandle, rolls back only the parts that have differences while keeping the unchanged topological information unchanged, thus improving processing efficiency.

[0087] For example, a user executes a `shapeOperation` that stretches a face, adding one face and two edges. This operation generates a `createDataHandle` containing information about these new elements, and the `shapeOperation` is stored in the undo stack list. When the user then triggers an undo action, the system retrieves the topmost `shapeOperation` from the undo stack list and obtains its `createDataHandle`. Since the record type is "new element," the system marks the newly added face and two edges—the first target elements—recorded in the `createDataHandle` as deleted, removing them from the topology. If the user previously executed a `shapeOperation` that deleted a face, generating a `deleteDataHandle` containing information about the deleted face, the system will cancel the face's deletion status based on the `deleteDataHandle` during undo, restoring it to the topology. For a `shapeOperation` that modifies an edge's length, its corresponding `modifyDataHandle` records the edge's update information. During undo, the system will mark that edge as an old element in the model manager, restoring its original length and related topological relationships.

[0088] This embodiment adopts corresponding settings for different record types, and combines the characteristics of dataHandle and shapeOperation to enable precise processing of topology elements during the undo operation, ensuring the accuracy and efficiency of topology updates. At the same time, it also ensures that the entire undo process corresponds well with the previous topology update process, ensuring the continuity of the operation.

[0089] Based on any of the above embodiments, in Embodiment 5 of this application, after the step of setting each record according to the record type of the target associated record to update the topological relationship of each element in the geometric model, the following is included: In step S100, in response to a redo action, the target associated record in the undo stack list is moved to the redo stack list.

[0090] In this embodiment, a redo action refers to the operation triggered by the user after performing an undo action, used to restore the undone geometry processing action. This is typically achieved by clicking the "Redo" button in the software interface. The undo stack list is an ordered data structure that stores executed and undone geometry processing actions and their associated records, following a last-in-first-out (LIFO) principle. The target associated record refers to the topmost record in the undo stack list, corresponding to the most recently undone geometry processing action. The redo stack list is an ordered data structure used to store undone geometry processing actions and their associated records for quick retrieval during redoing.

[0091] As an optional implementation, when a user triggers a redo action, the system confirms that the undo stack list is not empty, retrieves the target associated record at the top of the undo stack list, moves it to the top of the redo stack list, and maintains the association between the associated record and the corresponding shapeOperation.

[0092] As another optional implementation, when moving a target associated record, the system first records the position information of the record in the undo stack list, then copies it completely to the redo stack list, and then deletes the record at that position in the undo stack list to ensure that no data is lost during the movement.

[0093] Step S101: Based on the record type of the target associated record in the redo stack list, set the record type one by one to update the topological relationship of each element in the geometric model.

[0094] In this embodiment, record types include new elements, deleted elements, and updated elements, corresponding to createDataHandle, deleteDataHandle, and modifyDataHandle, respectively. Setting each record individually refers to adjusting the state and topological relationships of the corresponding topological elements according to the arrangement order of the target associated records and the type of each record. Updating the topology refers to restoring the topological structure to its state after the undone geometric processing action through the above setting process.

[0095] As an optional implementation, for a target associated record of type "new element" (createDataHandle), the element corresponding to the record is set from the deleted state to the normal state, so that it is in the topology; for a target associated record of type "delete element" (deleteDataHandle), the element corresponding to the record is re-marked as deleted, so that it is not in the topology; for a target associated record of type "update element" (modifyDataHandle), the topological relationship of the element corresponding to the record is restored from the old state to the new state.

[0096] As another optional implementation, the system first parses the record type and element identifier of the target associated record in the redo stack list, and then calls the corresponding processing function: createDataHandle calls the element activation function, deleteDataHandle calls the element hiding function, and modifyDataHandle calls the relationship update function. The topology is updated through function execution.

[0097] For example, a user first executes a `shapeOperation` to add a boss, then triggers an undo action. The `shapeOperation` and its corresponding `createDataHandle` are moved to the top of the undo stack. Next, the user triggers a redo action. In response, the system moves the `shapeOperation` and its corresponding `createDataHandle` from the top of the undo stack to the redo stack. Then, based on the record type of the `createDataHandle`, it sets the faces, edges, vertices, etc., of the newly added boss, previously marked as deleted, to their normal state, restoring them to the topology and reverting to the topology state after the boss was added. If the user previously undone a `shapeOperation` that deleted a face, its corresponding `deleteDataHandle` was moved to the undo stack during the undo. During the redo, the system moves the `deleteDataHandle` to the redo stack and, based on its record type, re-marks the face as deleted, removing it from the topology. For the undoable shapeOperation that modifies the edge length, when the corresponding modifyDataHandle is redone, the system will restore the topological relationship of the edge from the old state to the new state, that is, restore it to the modified length and related topological relationship.

[0098] This embodiment achieves rapid topology recovery by responding to redo actions, moving target associated records, and setting them one by one according to type. It combines the features of dataHandle and shapeOperation, avoiding the tedious process of full topology reconstruction, improving the efficiency of redo operations, and ensuring the accuracy of topology updates. This allows users to easily restore undone operations.

[0099] Optionally, the step of setting each record individually based on the record type of the target associated record in the redo stack list includes: Step S1011: If the record type is a newly created element, cancel the deletion status of the newly created first target element.

[0100] In this embodiment, the record type of the newly created element corresponds to `createDataHandle`, and the first target element refers to the topological element newly created in the corresponding `shapeOperation`. These elements were marked as deleted in the previous undo action. Canceling the deletion status restores these elements to their normal state in the topological structure, allowing them to participate again in the construction and processing of topological relationships.

[0101] As an optional implementation, the system extracts the identifier of the first target element from createDataHandle, locates these elements through the model manager, changes their status field from "deleted" to "normal" to cancel the deletion status, and updates the topological relationship records of other elements associated with these elements to ensure the continuity of the topological structure.

[0102] As another optional implementation, based on the original topological information of the first target element recorded in createDataHandle, after canceling its deletion state, the connection relationship between these elements and surrounding elements is re-established, so that the topological structure is completely restored to the state after the shapeOperation is executed.

[0103] Step S1012: If the record type is a deleted element, mark the second target element as deleted.

[0104] In this embodiment, the record type of the deleted element corresponds to `deleteDataHandle`, and the second target element refers to the topological element that was marked as deleted in the corresponding `shapeOperation`, but whose deletion status was canceled in the subsequent undo operation. Marking it as deleted means removing these elements from the topological structure again, so they do not participate in subsequent topological operations.

[0105] As an optional implementation, the system obtains the identifier of the second target element from deleteDataHandle, locates these elements through the model manager, sets their status field to "deleted", and simultaneously cuts off the connection records between these elements and other elements in the topology relationship to ensure that they do not play a role in the topology.

[0106] As another alternative implementation, by combining the topological relationship of the second target element before it is deleted, recorded in deleteDataHandle, only the necessary historical information is retained when it is marked as deleted, so as to facilitate possible subsequent undo operations, while cleaning up the active connections related to these elements in the current topology.

[0107] Step S1013: If the record type is an update element, mark the updated third target element as a new element in the model manager.

[0108] In this embodiment, the record type of the updated element corresponds to `modifyDataHandle`, and the third target element refers to the topological element whose topological relationship was updated in the corresponding `shapeOperation` and then restored to the old state in the subsequent undo action. Marking it as a new element means switching the topological information of these elements from the old state back to the updated new state.

[0109] As an optional implementation, the system extracts the identifier of the third target element and the updated new topology information from modifyDataHandle, finds these elements in the model manager, overwrites their current old topology information with the new topology information, completes the identification of the new element, and simultaneously updates the topology relationships of other elements associated with these elements.

[0110] As another optional implementation, based on the topological differences before and after the update of the third target element recorded in modifyDataHandle, when it is identified as a new element, only the differences are updated, while the unchanged topological information remains unchanged, so as to improve processing efficiency and ensure the accuracy of topological updates.

[0111] For example, a user first executes a shapeOperation to create a hole, generating a corresponding createDataHandle. Then, the user cancels the operation, and the hole's related elements are marked as deleted. When the user triggers a redo action, for the new element record type corresponding to the createDataHandle, the system will cancel the deletion status of the hole's faces, edges, and other first-target elements, allowing them to reappear in the topology. If the user previously executed a shapeOperation to delete a bulge, and the bulge is restored after cancellation, during the redo, for the corresponding deleteDataHandle, the system will again mark the bulge's faces, edges, and other second-target elements as deleted. For a shapeOperation to modify the curvature of a surface, and the surface is restored to its original curvature after cancellation, during the redo, based on the corresponding modifyDataHandle, the system will mark the surface, as a third-target element, as a new element in the model manager, restoring its modified curvature and related topological relationships.

[0112] This embodiment further refines the topology update process during redo by setting corresponding parameters for elements of different record types in the redo action. By combining the characteristics of dataHandle and shapeOperation, it ensures the accuracy and efficiency of the redo operation, while also guaranteeing the integrity of element information, allowing users to smoothly recover undone operations.

[0113] Based on any of the above embodiments, in Embodiment Six of this application, step S30 includes: Step S31: Determine the geometric object in the target model associated with the kernel model based on the model data of the kernel model.

[0114] In this embodiment, the model data of the kernel model refers to all the information of the geometric model stored in the core data structure, including the attributes, positions, and connection relationships of each topological element. The target model is a model associated with the kernel model, used for display and interaction, and is the external representation of the kernel model. Determining the geometric object means finding the geometric object associated with the first target element from the target model; this geometric object defines the scope for subsequently constructing the current topological relationship.

[0115] As an optional implementation, the system extracts the identification information of the first target element from the model data of the kernel model, and through the association mapping between the kernel model and the target model, searches for geometric objects containing these first target elements in the target model and identifies them as geometric objects to be processed.

[0116] As another optional implementation, the kernel model's model data records the correspondence between each geometric object and its containing element. The system finds the corresponding geometric object identifier in the model data based on the identifier of the first target element, and then locates the corresponding geometric object in the target model based on the geometric object identifier.

[0117] Step S32: Construct the current topological relationship of each element in the geometric object based on the topological top of the geometric object.

[0118] In this embodiment, the top-level top of the geometric object is the highest-level starting point of the geometric object's topological structure, usually the geometric object itself. From here, all lower-level topological elements contained in the geometric object, such as faces, loops, edges, and vertices, can be traversed layer by layer. Constructing the current topological relationship refers to determining the new connection and spatial relationships between the topological elements in the geometric object after the (n+1)th geometric processing action.

[0119] As an optional implementation, starting from the top of the topology of the geometric object, a hierarchical traversal is adopted. First, all face elements contained in the geometric object are identified. Then, for each face element, the loops, edges, vertices, etc. contained in it are identified. By detecting the spatial position and connection between each element, the topological relationship between them is determined, and the current topological relationship of each element in the geometric object is gradually constructed.

[0120] As another optional implementation, the geometric coordinate information of each element in the model data of the kernel model is used to start from the top of the topology of the geometric object, and by calculating the geometric parameters such as the distance and angle between the elements, it is determined whether there is a connection relationship between them, and then the current topological relationship of each element in the geometric object is constructed. At the same time, the construction result is synchronized with the display information of the target model.

[0121] For example, when modifying an assembly model composed of multiple parts, the kernel model stores detailed model data for all parts. When a user performs an extrusion operation on a face of one of the parts (the (n+1)th geometric processing action), the system, based on the model data of that extruded face (the first target element) in the kernel model, determines the part geometry object containing that extruded face in the target model through the association between the kernel model and the target model. Then, starting from the top of the part geometry object's topology (i.e., the part itself), it identifies all the faces, edges, vertices, and other elements contained in the extruded part. By detecting the spatial connectivity of these elements, it constructs the current topological relationships between each element, such as the connection between the new face formed by the extrusion and the original face, the connection between the new edge and the original vertex, etc., and synchronizes these topological relationships to the target model to ensure that the display of the target model is consistent with the actual topological relationships of the kernel model.

[0122] This embodiment further refines the construction process of topological relationships by first determining the geometric objects and then constructing the current topological relationships. By combining the association between the kernel model and the target model, the accuracy of the determination of geometric objects is ensured. At the same time, the construction method based on the top of the topology ensures the integrity and correctness of the current topological relationships, laying a reliable foundation for subsequent topology comparison and updates, and improving the overall efficiency of geometric topology updates.

[0123] For example, to help understand the technical concept or principle of the geometric topology update method of the above embodiments, please refer to Figure 3 , Figure 3 A simplified flowchart of a geometric topology update method is provided below: Starting from the "Start" node, the geometric topology update process is triggered. This process is initiated by user-performed geometric operations (such as extrusion or face deletion in modeling software) or by the system automatically triggering topology verification. Step P1: Obtain the added, deleted, or modified topology elements: Actively identify the topology element changes involved in the current operation, such as creating new faces, deleting edges, or modifying vertex connection relationships. These elements are the core objects for subsequent topology updates. Step P2: Determine if there are any added, deleted, or modified topology elements: This serves as a branching condition. If no added, deleted, or modified elements exist ("No" branch), it indicates that the topology has not been substantially changed, and the process ends directly. If they exist ("Yes" branch), the process enters the topology relationship backup and reconstruction stage, i.e., executing step P3, backing up the topology relationships of all topology elements in the model and recording them as the old topology relationships. Traverse all topology elements in the model, extract and store their current topology connections and dependencies (such as face-edge-vertex associations, geometric object inclusion relationships, etc.), recording them as "old topology relationships" for subsequent comparison of differences. Step P4: Traverse the topology from the top to construct new topological relationships: Starting from the top of the topology (e.g., the root node of a geometric object, the starting point of the highest-level topological structure), traverse the topology, reorganize the connections and hierarchical relationships between elements based on the added, deleted, and modified elements, and generate "new topological relationships" to cover the old structure. Step P6: Compare the new and old topological relationships, find where the topological relationships have been modified, and record them; record the added, deleted, and modified topological elements, and mark deleted elements as not in the topology: compare the new and old topologies element by element and relationship by relationship, locate the change points (e.g., connections of newly added elements, breakage of associations of deleted elements, adjustment of relationships of modified elements), and record "places where topological relationships have been modified." Mark element status: Classify and process added, deleted, and modified elements: newly added elements are marked as "in the topology" and participate in subsequent topological interactions; deleted elements are marked as "not in the topology" (only a logical mark, data is retained for undoing / historical backtracking); update elements to synchronize with the new topological relationships. Process end: After completing the topology update, difference recording, and element status marking, the process terminates, the new topology takes effect, and supports subsequent model display, analysis, and other operations. In short, the process revolves around a closed loop of "identifying changes, backing up old relationships, rebuilding new relationships, comparing differences and marking status". Through "full backup - incremental reconstruction - precise comparison" of topological relationships, it achieves efficient and traceable geometric topology updates, ensuring the real-time accuracy of the model topology and providing data support for undo / redo.

[0124] This application provides a geometric topology update device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the geometric topology update method in Embodiment 1 above.

[0125] The following is for reference. Figure 4This document illustrates a structural schematic diagram of a geometric topology update device suitable for implementing embodiments of this application. The geometric topology update device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablets, and in-vehicle terminals, as well as fixed terminals such as digital TVs and desktop computers. Figure 4 The illustrated geometry topology update device is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0126] like Figure 4 As shown, the geometry topology update device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1002 or a program loaded from storage device 1003 into random access memory (RAM) 1004. The random access memory 1004 also stores various programs and data required for the operation of the geometry topology update device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the geometry topology update device to communicate wirelessly or wiredly with other devices to exchange data. Although a geometry topology update device with various systems is shown in the figure, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems can be implemented alternatively.

[0127] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0128] The geometric topology update device provided in this application, employing the geometric topology update method in the above embodiments, can solve the technical problem of low efficiency in geometric topology updates caused by the complete reconstruction of new topological relationships. Compared with the prior art, the beneficial effects of the geometric topology update device provided in this application are the same as those of the geometric topology update device provided in the above embodiments, and other technical features in this geometric topology update device are the same as those disclosed in the method of the previous embodiment, and will not be repeated here.

[0129] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

[0130] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0131] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the geometric topology update method in the above embodiments.

[0132] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, radio frequency (RF), or any suitable combination thereof.

[0133] The aforementioned computer-readable storage medium may be included in the geometry topology update device; or it may exist independently and not be assembled into the geometry topology update device.

[0134] The aforementioned computer-readable storage medium carries one or more programs that, when executed by a geometric topology update device, cause the geometric topology update device to: in response to the (n+1)th geometric processing action, determine a first target element in the kernel model that has undergone a change; back up the historical topological relationships of the geometric object containing the first target element after the nth geometric processing action; construct the current topological relationships of each element in the geometric object based on the topological top of the geometric object; compare the current topological relationships of each element in the geometric object with the historical topological relationships to determine a second target element with a topological change and the changed topological content of the second target element; and generate an association record for the second target element based on the changed topological content.

[0135] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0137] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.

[0138] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described geometric topology update method. This solves the technical problem of low efficiency in geometric topology updates due to the complete reconstruction of new topological relationships. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the geometric topology update method provided in the above embodiments, and will not be repeated here.

[0139] This application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the geometric topology update method described above.

[0140] The computer program product provided in this application can solve the technical problem of low efficiency in geometric topology updates due to the complete reconstruction of new topological relationships. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as the beneficial effects of the geometric topology update method provided in the above embodiments, and will not be repeated here.

[0141] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent scope of this application.

Claims

1. A geometric topology update method, characterized in that, The geometric topology update method, applied to the (n+1)th geometric processing action, includes: In response to the (n+1)th geometry processing action, determine the first target element in the kernel model that has changed; Back up the historical topological relationships of the geometric object containing the first target element after the nth geometric processing action; The current topological relationships of each element in the geometric object are constructed based on the topological top of the geometric object; By comparing the current topological relationship and the historical topological relationship of each element in the geometric object, a second target element with a topological change and the changed topological content of the second target element are determined. Generate an associated record for the second target element based on the changed topology content.

2. The geometric topology update method as described in claim 1, characterized in that, If the geometric processing action is to delete an element, the step after generating the associated record of the second target element based on the changed topology content includes: In the model manager, the target element corresponding to the deletion action is marked as deleted to indicate that the target element is no longer in the topology.

3. The geometric topology update method as described in claim 1, characterized in that, After the step of generating the associated record of the second target element based on the changed topology content, the following steps are included: The associated records are stored in the undo stack list according to the record type and the geometric processing action. The record types include new element, deleted element, and updated element.

4. The geometric topology update method as described in claim 3, characterized in that, Following the step of associating the associated records with geometric processing actions and storing them in the undo stack list according to record type, the following steps are included: In response to the undo action, retrieve the target associated record from the undo stack list; The topological relationships of each element in the geometric model are updated by setting each record according to the record type of the target associated record.

5. The geometric topology update method as described in claim 4, characterized in that, The step of setting each record according to its type includes: If the record type is a newly created element, mark the newly created first target element as deleted. If the record type is a deleted element, cancel the deletion status of the second target element; If the record type is an update element, the updated third target element will be marked as an old element in the model manager.

6. The geometric topology update method as described in claim 4, characterized in that, After the step of setting each record according to the record type of the target associated record to update the topological relationship of each element in the geometric model, the following steps are included: In response to a redo action, the target associated record in the undo stack list is moved to the redo stack list; The record type is set one by one based on the target associated record in the redo stack list to update the topological relationships of each element in the geometric model.

7. The geometric topology update method as described in claim 6, characterized in that, The step of setting the record type of the target associated record in the redo stack list one by one includes: If the record type is a newly created element, cancel the deletion status of the newly created first target element; If the record type is a deleted element, mark the second target element as deleted; If the record type is an update element, the updated third target element will be marked as a new element in the model manager.

8. The geometric topology update method as described in claim 1, characterized in that, The step of constructing the current topological relationship of each element in the geometric object based on the topological top of the geometric object includes: Based on the model data of the kernel model, the geometric object is determined in the target model associated with the kernel model; The current topological relationships of each element in the geometric object are constructed based on the topological top of the geometric object.

9. A geometric topology update device, characterized in that, The geometric topology update device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the geometric topology update method as described in any one of claims 1 to 8.

10. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the geometric topology update method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Power distribution network modeling method for local topology changes

    CN103631998A

  • Document editing method and device, terminal and storage medium

    CN112632918A

  • Business data change detection method and device, equipment, medium and program product

    CN118069645A

  • Incremental backup method and device for draft

    CN119645731A

  • Graphic editing canceling and redoing method and system

    CN120523818A