A method and system for automatically generating a splicing step description animation of mortise and tenon blocks
By constructing interferograms to identify suspected interlocking clusters and using collaborative inverse kinematics to calculate synchronous motion vector sets, the deadlock problem in generating assembly instruction animations for complex structures such as mortise and tenon blocks was solved, generating physically accurate assembly animations and improving user experience and assembly accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING COINCIDENCE TENON & TENON CULTURE TECH CO LTD
- Filing Date
- 2025-12-19
- Publication Date
- 2026-04-24
AI Technical Summary
Existing technologies are prone to deadlock due to highly coupled features when generating assembly instruction animations for complex structures such as mortise and tenon blocks, making it impossible to accurately and automatically generate complete assembly guidance animations.
By constructing interferograms to identify suspected interlocking clusters, performing virtual reverse disassembly simulations, and using collaborative inverse kinematics to calculate synchronous motion vector sets, an assembly animation sequence is generated, and the elastic snap-fit structure is processed by combining virtual geometric corrosion.
The animation of the mortise and tenon block assembly instructions has been improved, ensuring that the animation can correctly reproduce the assembly steps and physical constraints of complex structures, thereby enhancing the user experience and assembly accuracy.
Smart Images

Figure CN121353475B_ABST
Abstract
Description
[0001] This application relates to the field of electronic digital data processing, and in particular to a method and system for automatically generating an animation of the splicing steps of mortise and tenon building blocks. Background Technology
[0002] Currently, with the rapid development of 3D modeling and digital manufacturing technologies, the design and production of complex structural products are becoming increasingly widespread. For products with complex assembly logic, such as mortise and tenon blocks and precision machinery, clear and intuitive installation instructions are crucial. Therefore, the ability to automatically generate dynamic and visual assembly step-by-step animations based on 3D models has significant application value in improving user experience and ensuring assembly accuracy.
[0003] In related technologies, the mainstream method for automatically generating assembly sequences is based on recursive simulation of reverse disassembly. Starting from a complete 3D assembly model, the algorithm iteratively searches for independent parts in the current model that have at least one collision-free linear motion path. Once such a part is identified, it is virtually removed along the path, and the assembly state is updated. This process is then repeated on the remaining structure until all parts are completely disassembled. Finally, by reversing the order and path of the entire disassembly process, the corresponding assembly animation sequence can be generated.
[0004] However, when the aforementioned recursive method based on linear disassembly of single parts is applied to precision structures with highly coupled characteristics, such as the tenons of certain advanced mortise and tenon joints or multi-link locking mechanisms in machinery, a deadlock state may occur where all parts are geometrically constrained by each other. In this state, the linear movement of any single part will be hindered by other parts, causing the iterative search to fail to find any feasible disassembly steps, thus interrupting the entire sequence generation process, making it difficult to produce complete and accurate assembly instructions, and consequently, difficult to accurately and automatically generate assembly instruction animations. Summary of the Invention
[0005] This application provides a method and system for automatically generating assembly instruction animations for mortise and tenon building blocks, which improves the physical accuracy of automatically generated assembly instruction animations.
[0006] The first aspect of this application provides a method for automatically generating an animation of the assembly steps of mortise and tenon building blocks, the method comprising:
[0007] An interferogram is constructed to describe the static interference relationship between independent parts in a 3D mortise and tenon block model. In the interferogram, node groups with an internal connection density greater than or equal to a preset density threshold are identified as suspected interlocking clusters. Along the degree-of-freedom axes of independent parts within each suspected interlocking cluster, a virtual reverse disassembly simulation of a single part is performed one by one. If the virtual reverse disassembly simulation of a single part of all independent parts within the suspected interlocking cluster fails due to collision detection, the corresponding suspected interlocking cluster is confirmed as a synchronous interlocking structure. The synchronous interlocking structure is solved by cooperative inverse kinematics to calculate the synchronous motion vector set that enables the corresponding synchronous interlocking structure to separate without collision. The synchronous interlocking structure and the corresponding synchronous motion vector set are defined as an overall assembly unit, and the synchronous motion of the overall assembly unit is used as an independent step to generate the final assembly animation sequence.
[0008] In the above embodiments, potential complex structures are actively located by identifying suspected interlocking clusters, and then the synchronous interlocking structure that must move in tandem is confirmed through verification of virtual disassembly failure. Through cooperative inverse kinematics, the unique correct path for the overall synchronous, collision-free separation of the structure is calculated, enabling the correct handling of synchronous assembly steps that are difficult to analyze using related technologies. Therefore, the generated animation sequence can reproduce complex physical constraints, improving the physical accuracy of the instruction manual animation.
[0009] In conjunction with some embodiments of the first aspect, in some embodiments, the synchronous interlocking structure is solved by cooperative inverse kinematics to calculate a set of synchronous motion vectors that enable the corresponding synchronous interlocking structure to separate without collision, specifically including:
[0010] Identify and store all candidate synchronous motion vector groups that can enable collision-free separation of the synchronous interlocking structure; generate a micro-stepping simulation trajectory describing the complete separation process for each candidate synchronous motion vector group; calculate the minimum dynamic gap between all moving parts within the corresponding synchronous interlocking structure in real time at each discrete time step of the micro-stepping simulation trajectory; determine the global minimum dynamic gap value throughout the entire process of each micro-stepping simulation trajectory and use it as a motion margin index; select the candidate synchronous motion vector group with the maximum motion margin index based on the motion margin index as the synchronous motion vector group.
[0011] In the above embodiments, a complete foundation is provided by identifying all candidate synchronous motion vector groups capable of collision-free separation. Furthermore, by quantifying the global minimum dynamic gap throughout the entire process of each candidate path as a motion margin index, the abstract path selection problem is transformed into a physical metric. Ultimately, selecting the scheme with the maximum motion margin means that the path shown in the animation is the most robust and realistic choice that best adapts to physical tolerances among all possibilities, surpassing simple geometric simulation and improving the physical accuracy of the assembly instructions.
[0012] In conjunction with some embodiments of the first aspect, in some embodiments, a selection process is performed based on a motion margin index, choosing the candidate synchronous motion vector group with the largest motion margin index as the synchronous motion vector group, specifically including:
[0013] When multiple candidate synchronous motion vector groups are identified as having the largest parallel motion margin indices, the multiple candidate synchronous motion vector groups with the largest parallel motion margin indices are determined as the final candidate set.
[0014] For each candidate synchronous motion vector group in the final candidate set, analyze the velocity vector of each independent part in the micro-stepping simulation trajectory; calculate the derivative of the velocity vector of each independent part with time in the entire simulation trajectory to obtain the instantaneous acceleration; perform spatial and temporal cumulative integration on the instantaneous acceleration norm of all parts in the synchronous interlocking structure to obtain the motion complexity index; in the final candidate set, select the candidate synchronous motion vector group with the minimum motion complexity index as the synchronous motion vector group.
[0015] In the above embodiments, by introducing motion complexity as a higher-dimensional evaluation criterion when multiple candidate solutions all possess the same maximum motion margin (i.e., optimal safety), this criterion is derived by spatiotemporally integrating the instantaneous accelerations of all parts throughout the motion trajectory, quantifying the smoothness and stability of the motion process. Ultimately, by selecting the path with the lowest complexity, it is ensured that the animation not only demonstrates a safe disassembly path but also the one that best conforms to the principles of dynamics and most closely approximates a smooth assembly process in the real physical world. This results in higher physical accuracy of the generated assembly instructions at the kinematic level.
[0016] In conjunction with some embodiments of the first aspect, in some embodiments, before identifying node groups with internal connection densities greater than or equal to a preset density threshold as suspected interlocking clusters in the interferogram, the method further includes:
[0017] For each independent part in the 3D mortise and tenon block model, a virtual micro-rotation simulation with multiple degrees of freedom axes is performed around the centroid. If an independent part fails to complete the virtual micro-rotation simulation due to collisions in all degrees of freedom axes, it is marked as a rotationally restricted part. In the interferogram, a group of adjacent nodes consisting of three or more rotationally restricted parts is identified as an interlocking suspected cluster and merged with the interlocking suspected cluster identified by internal connection density.
[0018] In the above embodiments, by introducing virtual micro-rotation simulation, special interlocking structures that are difficult to detect based solely on connection density are identified from the perspective of rotational degrees of freedom. This method effectively complements the density method, achieving comprehensive capture of complex interlocking forms by merging the two identification results. This more complete structural understanding avoids erroneous simplification of rotationally locked structures, allowing subsequent motion planning to be based on complete physical constraints. Consequently, the generated animation can reproduce real-world assembly details, improving the physical accuracy of the instruction manual animation.
[0019] In conjunction with some embodiments of the first aspect, in some embodiments, after identifying a group of adjacent nodes consisting of three or more rotationally restricted parts as a suspected interlocking cluster in the interferogram, the method further includes:
[0020] Select any part within the suspected interlocking cluster as the active part and apply a preset virtual micro-rotation drive; through multibody dynamics solution, calculate in real time whether there is a uniquely determined coupled response motion that can avoid collisions between the other parts within the suspected interlocking cluster under the virtual micro-rotation drive; if so, determine the suspected interlocking cluster as a kinematic chain; delete the kinematic chain from the set of suspected interlocking clusters.
[0021] In the above embodiments, by applying virtual micro-rotational drive and performing multibody dynamics solutions, the suspected interlocking clusters are dynamically characterized to distinguish between kinematic chains that are tightly coupled but have a definite transmission relationship and synchronous interlocking structures that truly require synchronized motion to unlock. By excluding the identified kinematic chains, the use of a single, incorrect disassembly logic for structures with different physical characteristics is avoided, ensuring that the subsequently generated animation faithfully reflects the actual movement of specific structures, thereby improving the physical accuracy of the final instruction manual animation.
[0022] In conjunction with some embodiments of the first aspect, in some embodiments, after performing single-part virtual reverse disassembly simulations one by one along the degree-of-freedom axes of independent parts within each suspected interlocking cluster, and after determining through collision detection that the single-part virtual reverse disassembly simulations of all independent parts within the suspected interlocking clusters have failed due to collisions, the corresponding suspected interlocking cluster is confirmed as a synchronous interlocking structure, and further includes:
[0023] When the calculation results show that no collision-free separation synchronous motion vector set can be found, elastic snap-fit regions conforming to preset morphological rules are identified within the synchronous interlocking structure. A preset depth virtual geometric erosion operation is applied to the surface mesh of the elastic snap-fit regions to generate a geometric relaxation model. On the geometric relaxation model, cooperative inverse kinematics solution is re-executed to calculate candidate synchronous motion vector sets. The candidate synchronous motion vector sets are used as the final synchronous motion vector sets and applied to the 3D mortise and tenon block model. When generating the final assembly animation sequence based on the synchronous motion vector sets, local dynamic visual effects simulating elastic deformation are added to the regions where virtual geometric erosion occurs during the separation process.
[0024] In the above embodiments, by identifying the elastic snap-fit area and applying virtual geometric erosion, virtual space is reserved at the geometric level for the elastic deformation of the part, thereby solving the originally unsolvable path planning problem. Finally, by adding local dynamic visual effects in the animation, this virtual geometric operation is restored to a realistic elastic deformation process. This series of operations enables the animation to realistically reflect and explain the special assembly steps that depend on the elasticity of the material, improving the physical accuracy of the instruction manual animation.
[0025] In conjunction with some embodiments of the first aspect, in some embodiments, the synchronous interlocking structure is solved by cooperative inverse kinematics to calculate a set of synchronous motion vectors that enable the corresponding synchronous interlocking structure to separate without collision, specifically including:
[0026] After calculating the first synchronous motion vector set that enables the corresponding synchronous interlocking structure to separate without collision, the solution continues to find the complete set of all independent synchronous motion vector sets in the direction; for each independent synchronous motion vector set in the complete set, the alignment score between it and the preset global gravity vector is calculated; from the complete set, the optimal synchronous motion vector set with the highest alignment score is selected as the synchronous motion vector set.
[0027] In the above embodiments, by further solving for a complete set of all collision-free separation paths, a foundation is provided for optimal selection. Furthermore, a global gravity vector is introduced as a criterion, and by calculating an alignment score, real-world physical constraints are quantitatively incorporated into path selection. Ultimately, by selecting the path most aligned with gravity, it is ensured that the chosen motion is not only collision-free but also most consistent with realistic operating habits, thereby achieving higher physical accuracy in the generated animation.
[0028] Secondly, embodiments of this application provide an animation system for automatically generating and assembling instructions for mortise and tenon building blocks. The animation system includes one or more processors and a memory. The memory is coupled to the one or more processors and is used to store computer program code, which includes computer instructions. The one or more processors call the computer instructions to cause the animation system to perform the method described in the first aspect and any possible implementation thereof.
[0029] Thirdly, embodiments of this application provide a computer program product containing instructions that, when the computer program product is run on an animation system for automatically generating and assembling instructions for mortise and tenon blocks, cause the animation system to execute the method described in the first aspect and any possible implementation thereof.
[0030] Fourthly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on an animation system for automatically generating and assembling mortise and tenon blocks, cause the animation system to perform the method described in the first aspect and any possible implementation thereof.
[0031] It is understood that the animation system for automatically generating assembly instructions for mortise and tenon building blocks provided in the second aspect, the computer program product provided in the third aspect, and the computer storage medium provided in the fourth aspect are all used to execute the method for automatically generating animation instructions for mortise and tenon building blocks provided in the embodiments of this application. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects in the corresponding methods, and will not be repeated here.
[0032] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:
[0033] 1. This application actively locates potential complex structures by identifying suspected interlocking clusters, and then confirms the synchronous interlocking structure that requires coordinated movement through verification of virtual disassembly failures. By employing cooperative inverse kinematics, the unique correct path for the overall synchronous, collision-free separation of the structure is calculated. This correctly handles synchronous assembly steps that are difficult to analyze using related technologies, thus generating an animation sequence that can reproduce complex physical constraints and improve the physical accuracy of the instruction manual's animation.
[0034] 2. This application provides a complete foundation by identifying all candidate synchronous motion vector sets capable of collision-free separation. Furthermore, by quantifying the global minimum dynamic gap throughout the entire process of each candidate path into a motion margin index, the abstract path selection problem is transformed into a physical metric. Ultimately, selecting the scheme with the maximum motion margin means that the path shown in the animation is the most robust and realistic choice that best adapts to physical tolerances among all possibilities, surpassing simple geometric simulation and improving the physical accuracy of the assembly instructions.
[0035] 3. This application introduces motion complexity as a higher-dimensional evaluation criterion when multiple candidate solutions possess equal maximum motion margins, i.e., optimal safety. This metric is derived by spatiotemporally integrating the instantaneous accelerations of all parts throughout the motion trajectory, quantifying the smoothness and stability of the motion process. Ultimately, by selecting the path with the lowest complexity, it ensures that the animation not only demonstrates a safe disassembly path but also the one that best conforms to dynamic principles and most closely approximates a smooth assembly process in the real physical world. This results in higher physical accuracy in the generated assembly instructions at the kinematic level. Attached Figure Description
[0036] Figure 1 This is a flowchart illustrating a method for automatically generating an animation of the splicing steps of mortise and tenon blocks in an embodiment of this application.
[0037] Figure 2 This is another flowchart illustrating the method for automatically generating an animation of the splicing steps of mortise and tenon blocks in the embodiments of this application;
[0038] Figure 3 This is an exemplary hardware structure diagram of the animation system for automatically generating splicing steps of mortise and tenon building blocks in the embodiments of this application. Detailed Implementation
[0039] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to and includes any or all possible combinations of one or more of the listed items.
[0040] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.
[0041] In related technologies, the mainstream method for generating assembly sequences is based on recursive simulation of reverse disassembly. This involves starting from the complete model, iteratively searching for and removing collision-free parts moving in a single linear direction, and finally reversing the disassembly sequence. However, when this method is applied to highly coupled precision structures, such as complex tenons or multi-link locks, a deadlock state occurs where all parts are geometrically constrained. In this state, linear movement of any single part is hindered, preventing the algorithm from finding any feasible disassembly steps. This interrupts the entire sequence generation process, ultimately failing to generate a complete and physically correct assembly instruction animation.
[0042] In this embodiment, potential interlocking clusters are proactively identified by constructing an interferogram and analyzing its internal connection density. Subsequently, by performing a virtual reverse disassembly simulation on each part within a cluster and confirming that all parts fail due to collisions, the true synchronous interlocking structure is identified. Instead of attempting to disassemble individual parts, cooperative inverse kinematics is used to directly calculate a set of synchronous motion vectors for the entire structure, enabling collision-free separation. By defining this structure, which requires cooperative motion, as an overall assembly unit, the deadlock problem that traditional single-part disassembly logic cannot handle is solved, ensuring that the animation accurately reproduces these complex assembly steps, thereby improving the physical accuracy of the assembly instructions.
[0043] Figure 1 This is a flowchart illustrating a method for automatically generating an animation of the splicing steps using mortise and tenon blocks as described in this application, including the following steps:
[0044] S101. Construct an interference diagram that describes the static interference relationship between individual parts in a three-dimensional mortise and tenon block model.
[0045] In this context, a 3D mortise and tenon block model refers to a collection of blocks composed of multiple independent geometric bodies, represented digitally in a computer. Independent parts represent the smallest movable units constituting the model and are considered rigid bodies in the analysis. Static interference relationships represent the mutual constraints and occlusion relationships between parts in spatial positions when the model is fully assembled and stationary. An interference diagram is an abstract mathematical graph structure used to transform the physical occlusion relationships between parts into topological relationships between nodes and edges. Each independent part in the interference diagram is a node. If two independent parts are geometrically occluded, a connecting edge is established between the corresponding two nodes. A node in the diagram represents a specific independent part. Geometric occlusion refers to one part hindering the linear movement of another part along one or more directions. A connecting edge indicates that the aforementioned geometric occlusion relationship exists between the physical parts corresponding to the nodes of two parts.
[0046] Specifically, after receiving the complete 3D mortise and tenon block model data, the algorithm first traverses all independent parts in the model, creating a unique node for each part in the interferogram. Then, it examines all possible pair of parts in the model (e.g., part A and part B). For each pair, a geometric occlusion check is performed: an attempt is made to apply a tiny virtual displacement to one part (e.g., part A) along the six basic directions of the world coordinate system (+X, -X, +Y, -Y, +Z, -Z), while keeping the other part (part B) stationary. If a tiny displacement in any direction causes a geometric collision or penetration between A and B, then part B is considered to constitute a geometric occlusion of part A in that direction. As long as occlusion exists in at least one direction, the algorithm establishes a connecting edge between the two nodes representing A and B in the interferogram. This process is repeated for all part pairs until all static interference relationships between parts are fully mapped onto the edges of the interferogram.
[0047] In some embodiments, the determination of geometric occlusion and the construction of the interference map can be achieved in a variety of ways:
[0048] Optionally, a fast detection method based on bounding boxes can be used: calculate the axis-aligned bounding box (AABB) or orientation bounding box (OBB) for each independent part; for any pair of parts, first perform a slight translation of the bounding box of one part along the six degrees of freedom axes, and determine whether the translated bounding box overlaps with the bounding box of the other part; only when the bounding boxes overlap, perform geometric collision detection on the two parts with a precision down to the triangular face level, and if a collision is detected, establish a connection edge.
[0049] It is understandable that other methods can be used to determine geometric occlusion and construct interferograms, such as methods based on voxelization or range fields, which are not limited here.
[0050] S102. In the interferogram, the node groups with internal connection density greater than or equal to the preset density threshold are identified as suspected interlocking clusters.
[0051] Among them, the internal connection density is used to quantify the tightness of the internal connections of a node group. The value is between 0 and 1. The closer the value is to 1, the more complete the connection relationship between the nodes in the group is. It is the ratio of the actual number of connecting edges in the node group to the theoretical maximum number of connecting edges in the corresponding node group in the fully connected state. The preset density threshold is a critical value pre-set based on experience or experimental data. It is used to judge whether the node group is tight enough and may be an interlocking structure. It is usually obtained by statistical analysis of a large number of known mortise and tenon structures. The node group represents a subset consisting of three or more nodes in the interference diagram. The interlocking suspect cluster is the combination of parts that has been initially screened and is very likely to constitute a synchronous interlocking structure.
[0052] Specifically, from a complex interferometric graph that may contain hundreds or thousands of nodes and edges, a small range of component combinations requiring focused analysis is identified, with the core objective being to find dense subgraphs within the graph. This involves traversing all possible combinations of three or more nodes in the interferometric graph. For each combination, two calculations are performed: First, the actual number of connecting edges within the node group (E_actual) is counted; second, the theoretical maximum number of connecting edges that the node group should have if it were a complete graph (i.e., there is an edge between any two nodes in the group) is calculated (E_max = n*(n-1) / 2, where n is the number of nodes in the node group). Then, the internal connection density of the node group is obtained by calculating the ratio E_actual / E_max. Finally, this density value is compared with a preset density threshold. If the calculated density is greater than or equal to the threshold, the component combination corresponding to this node group is marked as an interlocking suspected cluster.
[0053] In some embodiments, to compensate for the shortcomings of relying solely on connection density to identify suspected interlock clusters, a pre-screening and kinematic chain exclusion step based on rotational degrees of freedom analysis can be introduced before identification to more accurately locate the true static interlock structure and avoid misjudging dynamic transmission mechanisms.
[0054] Specifically, to identify parts that are stuck and unable to rotate due to their shape closely matching their surroundings, the system first iterates through each individual part in the 3D mortise and tenon block model. For a single part, with its center of mass as the rotation center, a tiny virtual rotation angle is applied one by one along the positive and negative directions of the three principal axes (X, Y, Z) of the spatial coordinate system. In each virtual rotation simulation, a collision detection algorithm is used to determine whether the rotated part geometrically overlaps with any other part in the model. If every attempt fails due to collision in all six rotation directions (around the positive and negative X-axis, Y-axis, and Z-axis), it indicates that the rotational freedom of the part at its current position is completely locked. Such parts are marked by the system as rotationally restricted parts. The advantage of this approach is that it can identify key locked parts that, although they have few connecting edges in the interferogram (i.e., low connection density), cannot rotate due to their special shapes (such as key-shaped or cross-shaped) tightly fitting into grooves—something that cannot be discovered by simply relying on connection density analysis. After all parts have been inspected, the interferogram is reviewed again. Node groups consisting of three or more adjacent (i.e., connected by edges) rotationally restricted parts are directly identified as new suspected interlocking clusters. Finally, these clusters discovered through rotation analysis are merged with clusters identified subsequently through internal connectivity density to form a more complete set of suspected clusters.
[0055] After obtaining a complete set of suspected interlocking clusters, a false positive process is performed to eliminate false positives that appear to be interlocked but are actually functional transmission mechanisms. For example, a group of tightly meshed gears with extremely high component density and restricted rotation might be mistakenly identified as an interlocking structure in the first stage. To address this issue, a dynamic test is performed on each suspected cluster. One component within the cluster is randomly selected as the driving component, and a continuous, minute virtual rotational driving torque is applied. Simultaneously, a multibody dynamics solver is activated. This solver treats the remaining components within the cluster as driven components and, based on contact mechanics and rigid body dynamics equations, calculates in real-time whether these driven components, driven by the driving component, will produce a unique and deterministic set of coupled response motions that avoids collisions between all components. If the solver can calculate a deterministic, collision-free linkage (e.g., the driving gear rotates, and the driven gear rotates in the opposite direction), it proves that the cluster is not a statically locked structure but a kinematic chain with a definite transmission ratio. Once a cluster is identified as a kinematic chain, it is removed from the set of suspected interlocking clusters and will not proceed to the subsequent disassembly and analysis process. This step enhances the algorithm's intelligence by distinguishing between static structures that need to be disassembled and mechanisms that are inherently functional, ensuring that the subsequent collaborative inverse kinematics solution is accurate.
[0056] The above steps, by introducing rotationally restricted analysis, can identify structures with low connection density but locked due to their geometric shape, compensating for the blind spots of a single density index and improving the recall rate. Subsequently, through the kinematic chain exclusion step, dynamic mechanisms with deterministic transmission relationships are removed from the static interlocking suspect cluster, avoiding misjudgments in subsequent algorithms and improving the accuracy of identification.
[0057] S103. Along the axes of freedom of the independent parts in each suspected interlocking cluster, perform virtual reverse disassembly simulation of a single part one by one. If the virtual reverse disassembly simulation of a single part of all independent parts in the suspected interlocking cluster fails due to collision detection, the corresponding suspected interlocking cluster is confirmed as a synchronous interlocking structure.
[0058] Among them, the degree-of-freedom axis refers to the basic axis of translation and rotation of an object in three-dimensional space. In this step, it specifically refers to the six translation directions along the X, Y, and Z axes of the world coordinate system, both positive and negative. Single-part virtual reverse disassembly simulation is a computational simulation process in which it is assumed that only one part in the cluster is movable, while all other parts remain absolutely stationary. Then, it attempts to move the movable part out along a certain degree-of-freedom axis. Collision detection is an algorithm that runs continuously during the simulation process and is used to determine in real time whether the geometry of the moving part overlaps or penetrates the geometry of any stationary part. Synchronous interlocking structure is the final qualitative assessment of the suspected interlocking cluster, clearly indicating that this is a structure that cannot be separated by disassembling individual parts sequentially. Disassembly must rely on the coordinated movement of multiple parts simultaneously.
[0059] Specifically, a disassembly test is performed on each component within each suspected interlocking cluster. For a cluster containing components A, B, and C, component A is first selected as the test object. The simulation involves moving component A along the +X direction. At each step of the simulation, collision detection is performed to determine if A collides with either B or C, which remains stationary. If a collision is detected, it proves that A cannot be disassembled independently along the +X direction, and the simulation in that direction fails. Next, the algorithm continues to test the disassembly possibilities of A along the -X, +Y, -Y, +Z, and -Z directions. If component A fails in all six directions of single-component disassembly simulations due to collisions with B or C, the algorithm determines that component A is locked. Subsequently, components B and C are subjected to the same six-directional disassembly test. Only when all components (A, B, and C) in the cluster are proven to be unable to be disassembled independently along any one of the basic axes is the suspected interlocking cluster finally confirmed as a synchronous interlocking structure.
[0060] In some embodiments, virtual reverse disassembly simulation of a single component can be achieved in a variety of ways:
[0061] Optionally, a combination of discrete stepping and interference detection can be used: after selecting a part and a disassembly direction, a very small step distance is set; in a loop, the part is moved one step distance along the specified direction, and then a precise collision detection library (such as the GJK algorithm) is called to determine whether it interferes with other stationary parts in the cluster; if interference is detected, the simulation fails; if no interference occurs after the loop is completed (the part has moved a sufficiently long distance), the simulation succeeds.
[0062] It is understandable that other methods can be used to simulate the virtual reverse disassembly of a single part, such as combining motion planning algorithms for more complex path searches, which are not limited here.
[0063] In some embodiments, if the standard cooperative inverse kinematics solution fails to find any collision-free separation scheme, a special processing procedure for elastic snap-fit structures can be initiated. By performing virtual geometric relaxation operations on the model, rigid body deadlock can be broken, thereby successfully generating assembly animations for such structures and expanding the applicability of the method.
[0064] Specifically, this process is a remedial step after the synchronous interlock structure has been confirmed, but before the conventional solver declares complete failure. The core idea is to acknowledge the limitations of the standard rigid body solver, which cannot understand the elastic deformation that parts undergo in the real world. When the solver reports no solution, it does not terminate immediately, but instead initiates a hypothetical analysis: whether the deadlock might be an elastic latch structure that requires a small deformation of the part to unlock.
[0065] To this end, a feature recognition algorithm based on morphological rules is first executed within the synchronous interlocking structure. These pre-defined morphological rules are typical geometric features of elastic latches summarized from engineering design common sense and a large sample database. For example, one part may have a slender cantilever beam structure with a protrusion at the end, while the corresponding position on another part has a matching groove or edge. The algorithm searches for regions that conform to such rules and marks them as elastic latch areas.
[0066] Once these regions are identified, a virtual geometric erosion operation is performed. This is digital geometry processing, not physical simulation. It selects surface triangular meshes of the elastic latch region (e.g., the protrusions of the latch) and moves the vertices of these meshes inward along their normals to a predetermined depth. This depth is empirically set to simulate the maximum deformation the latch can produce under stress, large enough to eliminate geometric interference that would cause the rigid body solver to fail. After this operation, a temporary, geometrically relaxed model free of interference is generated. This step simplifies the complex elasticity problem requiring finite element analysis into a purely geometric problem that the solver can understand, free of interference.
[0067] Subsequently, the cooperative inverse kinematics solution of S104 is re-executed on the modified geometrically relaxed model. Since the key geometric interferences have been virtually removed, the solver will now be able to successfully compute a set of candidate synchronous motion vectors. This set of solutions obtained on the virtual model is directly adopted as the final set of synchronous motion vectors and applied to the original, unmodified 3D mortise and tenon block model.
[0068] Finally, when generating the final assembly animation sequence based on this set of synchronized motion vectors, the eroded areas are given special attention. When the animation reaches the moment when a part is about to pass through the original interference point, the animation engine applies a localized, procedural dynamic visual effect to the mesh in that area. This effect, such as using bone binding or shader deformation, simulates the visual process of the clips being compressed, bent, and then snapping back into place. This ensures that the final animation is not only correct in its motion path but also visually perfectly in line with physical intuition.
[0069] This method transforms the elastic deformation problem, which rigid body solvers cannot handle, into a geometrically solvable path planning problem through virtual geometric erosion. This provides a way out when the algorithm encounters an unsolvable deadlock. By finding the separation path through lightweight geometric modifications and then compensating with visual effects, a physically accurate elastic snap-fit assembly animation is finally generated. This enhances the versatility of the method and improves the physical accuracy of the animation generated in the instruction manual.
[0070] S104. Solve the synchronous interlocking structure through cooperative inverse kinematics, and calculate the synchronous motion vector set that enables the corresponding synchronous interlocking structure to separate without collision.
[0071] Among them, the cooperative inverse kinematics solution refers to treating all parts within the synchronous interlocking structure as a multibody system, aiming to find a set of kinematic solutions that allow all these parts to move simultaneously and separate from each other; the synchronous motion vector set is the output of the solution process, which is a set of vectors. Each vector in the set uniquely corresponds to a part in the structure. The vector defines the velocity direction and relative speed of the corresponding part at the initial instant of separation motion. The entire vector set describes the key to unlocking the interlocking structure.
[0072] Specifically, once a group of parts is identified as a synchronously interlocked structure, the goal is to find the only way to break this deadlock—cooperative motion. The motion vectors of all N parts within the structure (each vector has three components: vx, vy, vz) are treated as unknown variables, forming a 3N-dimensional search space. The core constraint of the problem is collision-free operation; that is, when all parts are made small displacements according to their respective motion vectors, no two parts can collide. This collision-free condition can be mathematically expressed as a series of linear or nonlinear inequalities concerning the normal vector of the contact surface between parts and their relative velocities. The solver's job is to find at least one set of vector solutions that satisfy all these collision-free inequality constraints within the vast 3N-dimensional search space. This process is essentially searching for the initial direction of an escape path existing in a high-dimensional configuration space, leading from the current fully engaged state to the disengaged state.
[0073] In some embodiments, cooperative inverse kinematics solutions can be achieved in a variety of ways:
[0074] Optionally, a formulaic approach based on the Linear Complementarity Problem (LCP) can be adopted: For each pair of contacting parts in the structure, a linear inequality describing their relative motion constraints is established based on the geometric information (position, normal vector) of their contact points; all constraint inequalities for all part pairs are integrated to construct a large-scale linear complementarity problem; a specialized LCP solver (such as the Lemke algorithm) is used to solve this problem. Any feasible solution to the LCP directly corresponds to a valid set of synchronous motion vectors.
[0075] It is understandable that other methods can be used to achieve cooperative inverse kinematics solutions, such as variants of the Rapid Expanding Random Tree (RRT) algorithm in motion planning, which are not limited here.
[0076] In some embodiments, to optimize the results of the cooperative inverse kinematics solution, it is not necessary to stop at calculating the first feasible separation scheme, but to exhaust all possible separation paths and introduce a global gravity vector as the selection criterion, so as to ensure that the motion shown in the final generated animation is the most physically realistic and easy to operate.
[0077] Specifically, after confirming the synchronous interlocking structure, the aim is to select the optimal solution that best aligns with physical intuition and human factors engineering from multiple geometrically feasible solutions.
[0078] For many synchronously interlocked structures with symmetry or complex constraints, the collision-free separation motion is not unique. Standard solvers typically stop after finding the first feasible solution, but this first solution may be arbitrary in direction and not necessarily the approach people would use in reality. Therefore, a configuration solver (e.g., a linear complementarity problem solver) continues execution to find all basis vectors describing the entire feasible solution space—that is, a complete set of directionally independent sets of synchronous motion vectors. This set encompasses all fundamentally different escape directions that enable collision-free separation of the structure.
[0079] After obtaining a complete solution set, an alignment score is calculated for each independent group of synchronized motion vectors in the set. This process first introduces a pre-defined global gravity vector, a constant unit vector representing the direction of Earth's gravity (usually set as (0, 0, -1) in a 3D coordinate system), which is common physical fact. For each group of synchronized motion vectors, an overall motion trend vector is calculated (e.g., by vector summation of the motion vectors of all parts within the group or by calculating the resultant velocity vector of its center of mass). Then, the alignment score is obtained by calculating the dot product of this overall motion trend vector and the global gravity vector. The larger the dot product, the more aligned the direction of the overall separation motion is with the direction of gravity. The advantage of this is that it combines a purely geometric problem with real-world physical constraints, because in real-world operations, disassembly in accordance with the direction of gravity is usually less strenuous, more stable, and more in line with human operating habits. Finally, the alignment scores of all candidate solutions are compared, and the synchronized motion vector group with the highest score is identified as the final and optimal synchronized motion vector group for subsequent animation generation.
[0080] The above technical steps solve the problem of arbitrary output in traditional solvers when faced with multiple solutions by exhaustively exploring all geometrically feasible separation paths and introducing the universal physical principle of gravity for optimization. The selected path, by conforming to gravity, is more in line with the principles of stability and economy in real-world operations, thus making the generated animation instructions more intuitive and physically accurate for users.
[0081] S105. Define the synchronous interlock structure and the corresponding synchronous motion vector group as the overall assembly unit, and generate the final assembly animation sequence as an independent step for the synchronous motion of the overall assembly unit.
[0082] In this context, the overall assembly unit refers to treating the individual parts of the synchronous interlocking structure as logically bound sets or sub-modules in a higher-level assembly plan, rather than considering them as independent entities. Independent steps mean that in the final generated instruction manual animation, the assembly or disassembly process of this sub-module will be presented as a complete, continuous, and indivisible operational step. The final assembly animation sequence is the final product of this method; it is a series of visual instructions arranged in a logical order, guiding users on how to assemble the scattered parts into a complete model step by step.
[0083] Specifically, this step is the final stage of the entire analysis process and the application of results. After successfully calculating the synchronous motion vector set, to make the final instruction manual clear and easy to understand, this interlocking structure is upgraded to an atomic operation in the assembly sequence. In the overall assembly blueprint, there are no longer step-by-step instructions, but instead a single instruction. When generating animation for this independent step, the synchronous motion vector set calculated by S104 is used to create an animation clip in which the three plates, starting from their separated positions, simultaneously and synchronously move towards the center, strictly following their respective specified vector directions and relative velocities, eventually meshing together to form a stable interlocking structure. In this way, the animation can realistically and accurately convey to the user the techniques necessary to complete this step.
[0084] In some embodiments, animations can be generated and defined in a variety of ways:
[0085] Optionally, an animation generation technique based on keyframe interpolation can be used: Based on the synchronous motion vector group, determine the starting state (all parts move a sufficient distance in the opposite direction of the vectors and separate from each other) and the ending state (the final position of the parts in the model); set two keyframes, the start and the end, on the animation timeline, and set the position and posture of each part in these two frames; use the interpolation function of the animation software or engine (such as linear interpolation or spline interpolation with easing curves) to automatically generate all transition frames between the two keyframes, forming a smooth synchronous motion animation.
[0086] It is understandable that other methods can be used to generate and define animations, such as combining a physics engine to generate dynamic simulations guided by force; this is not a limitation here.
[0087] In the above embodiments, potential complex structures are actively located by identifying suspected interlocking clusters, and then the synchronous interlocking structure that must move in tandem is confirmed through verification of virtual disassembly failure. Through cooperative inverse kinematics, the unique correct path for the overall synchronous, collision-free separation of the structure is calculated, enabling the correct handling of synchronous assembly steps that are difficult to analyze using related technologies. Therefore, the generated animation sequence can reproduce complex physical constraints, improving the physical accuracy of the instruction manual animation.
[0088] In other embodiments of this application, when there are multiple geometrically feasible separation paths in the synchronous interlocking structure, a limiting solution with low fault tolerance may be adopted due to random selection. The method for automatically generating splicing step instructions animations using mortise and tenon blocks provided in this application can select the scheme with the largest safety clearance by quantifying and comparing the motion margins of all paths.
[0089] like Figure 2 The diagram shown is another flowchart illustrating the method for automatically generating an animation of the splicing steps of mortise and tenon building blocks according to an embodiment of this application, including the following steps:
[0090] S201. Construct an interference diagram that describes the static interference relationship between individual parts in a three-dimensional mortise and tenon block model.
[0091] S202. In the interferogram, the node groups with internal connection density greater than or equal to the preset density threshold are identified as suspected interlocking clusters.
[0092] S203. Along the axis of freedom of the independent parts in each suspected interlocking cluster, perform virtual reverse disassembly simulation of a single part one by one. If the virtual reverse disassembly simulation of a single part of all independent parts in the suspected interlocking cluster fails due to collision detection, the corresponding suspected interlocking cluster is confirmed as a synchronous interlocking structure.
[0093] Steps S201-S203 and Figure 1 Steps S101-S103 in the illustrated embodiment are similar and can be found in the descriptions of steps S101-S103, which will not be repeated here.
[0094] S204. Identify and store all candidate synchronous motion vector groups that can enable the synchronous interlock structure to separate without collision.
[0095] Among them, the candidate synchronous motion vector set refers to a set of alternative schemes that are mathematically proven to be feasible and can guide all parts in the synchronous interlocking structure to move simultaneously to achieve collision-free separation; collision-free separation means that during the entire disassembly process, the geometric entities of any two parts will not intersect or penetrate at any time.
[0096] Specifically, after the synchronous interlocking structure is finally confirmed, and the cooperative inverse kinematics problem is constructed (e.g., transformed into a linear complementarity problem or a set of nonlinear inequality constraints), the solver is configured in exhaustive mode rather than single-solution mode. It not only finds a set of synchronous motion vectors that satisfies all collision-free constraints, but also continues to search and identify all other solutions that are linearly independent of the found solutions in direction. For highly symmetric structures (such as triaxial mortises), there may be multiple equivalent but directional separation methods. This step involves calculating all these fundamentally different separation methods and storing each as a candidate set of synchronous motion vectors.
[0097] In some embodiments, the identification and storage of all candidate solutions can be achieved in multiple ways:
[0098] Optionally, a feasible polyhedron vertex enumeration method can be adopted: the set of linear inequality constraints describing the collision-free condition is used to define a feasible solution domain in a 3N-dimensional motion vector space (N is the number of parts), which is geometrically a convex polyhedron; a vertex enumeration algorithm in computational geometry (such as the dual description method) is applied to systematically calculate all vertices of the feasible polyhedron; each vertex vector represents an extreme, directionally independent effective separation motion, and all vertex vectors are stored as a candidate synchronous motion vector group.
[0099] It is understandable that other methods can be used to identify and store all candidate solutions, such as systematically sampling the solution space and performing cluster analysis on the results; this is not limited here.
[0100] S205. For each candidate synchronous motion vector group, generate a micro-stepping simulation trajectory describing the complete separation process.
[0101] Among them, the micro-stepping simulation trajectory refers to the discrete data sequence that records the spatial position and attitude of each part at each discrete time point during the complete simulated disassembly process; the complete separation process represents the entire motion process from the initial state of complete engagement of the parts to the final state where the distance between them no longer affects each other.
[0102] Specifically, after obtaining all candidate solutions, to evaluate their quality, a motion simulation is independently performed for each candidate synchronous motion vector group stored in S204. At the start of the simulation, all parts are in their initial positions within the model. Then, a very small time step (Δt) is set. At each time step, the position of each part is updated based on its corresponding motion vector in the candidate vector group (new position = old position + motion vector × Δt). This process iterates continuously, simulating the process of the parts flying out synchronously in a specified direction and relative speed. The simulation continues until the bounding boxes between all parts within the structure no longer overlap, marking the end of the complete separation process. Throughout the simulation, the coordinates of all parts at each time step are recorded, ultimately forming a complete four-dimensional (3D space + time) motion trajectory for subsequent analysis.
[0103] In some embodiments, the generation of micro-stepping simulation trajectories can be achieved in a variety of ways:
[0104] Optionally, a fixed-step simulation based on Euler integrals is adopted: a fixed and sufficiently small simulation time step Δt and a total simulation duration T are set for each candidate scheme; in a loop from 0 to T, at each time step t, all parts in the synchronous interlocking structure are traversed, and their positions p are updated according to their corresponding motion vector v: p(t+Δt)=p(t)+v*Δt; the position data of all parts at each time step are appended to a trajectory data structure until the loop ends.
[0105] It is understandable that other methods can be used to generate microstepping simulation trajectories, such as using more advanced numerical integration methods like the Runge-Kutta method to improve the accuracy of the trajectory, which is not limited here.
[0106] S206. At each discrete time step of the micro-stepping simulation trajectory, calculate in real time the minimum dynamic gap between all moving parts in the corresponding synchronous interlocking structure.
[0107] Among them, discrete time step refers to each discontinuous time snapshot recorded in the simulation trajectory in S205; moving parts specifically refer to the set of parts that belong to the synchronous interlock structure and are undergoing separation motion in the current simulation; minimum dynamic gap represents the shortest Euclidean distance between the surfaces of the closest pair of moving parts in the structure at a specific instant.
[0108] Specifically, the algorithm executes frame-by-frame on each simulation trajectory generated by S205. For a given trajectory, starting from the first time step, it loads the spatial position data of all moving parts at that moment. Then, it examines all possible pair of parts (e.g., for parts A, B, and C, it examines pairs AB, AC, and BC). For each pair of parts, it calls the distance calculation module to find the shortest distance between the two geometric surfaces. After calculating the shortest distances for all pair of parts, it takes the minimum value, which is the minimum dynamic gap for that time step. Then, the algorithm moves to the next time step of the trajectory and repeats the exact same calculation. This process continues until the last time step of the trajectory, ultimately generating a corresponding time series for each simulation trajectory, consisting of a series of minimum dynamic gap values.
[0109] In some embodiments, the minimum dynamic gap can be calculated in real time in a variety of ways:
[0110] Optionally, a distance lookup based on the GJK algorithm can be used: At each time step, for two convex parts A and B whose distance needs to be calculated, the GJK (Gilbert-Johnson-Keerthi) algorithm is initialized; the algorithm approximates the closest point between the two objects by iteratively calculating the distance between the Minkowski difference of the two parts and the origin; when the algorithm converges, the result is the shortest distance between the surfaces of parts A and B. This process is repeated for all pairs of parts, and the minimum value is taken.
[0111] It is understandable that other methods can be used to achieve real-time calculation of the minimum dynamic gap, such as using the directed distance field (SDF) of the scene for fast querying, which is not limited here.
[0112] S207. Determine the global minimum dynamic gap value throughout the entire process of each microstepping simulation trajectory, and use it as a motion margin index.
[0113] Among them, the global minimum dynamic gap value refers to the smallest dynamic gap found among all time steps contained in the simulation trajectory, representing the gap size at the narrowest bottleneck moment in the entire separation process; the motion margin index is a name with clear physical meaning assigned to the aforementioned global minimum dynamic gap value.
[0114] Specifically, for each trajectory, there is a list of values, where each number represents the narrowest width at the corresponding moment. This list of values is iterated through, and the minimum value is found. This final minimum value is the narrowest value that the decomposition scheme represented by this trajectory can encounter during the entire execution process, and is named the motion margin index of that scheme.
[0115] S208. Based on the motion margin index, select the candidate synchronous motion vector group with the largest motion margin index as the synchronous motion vector group.
[0116] Among them, the maximum motion margin index refers to the one with the largest motion margin score among all candidate solutions.
[0117] Specifically, the process iterates through all candidate synchronous motion vector sets and their corresponding motion margin indices. Through direct numerical comparison, the candidate scheme with the largest motion margin index is identified. The synchronous motion vector set corresponding to this scheme is considered the optimal one among all geometrically feasible schemes because it leaves the maximum space for avoidance between parts during the entire separation process. This means that in real-world physical operations, this scheme has the highest success rate and the lowest requirement for operational precision. Once this optimal scheme is selected, it will be passed to the subsequent animation generation module.
[0118] In some embodiments, when multiple parallel optimal solutions are generated by the initial screening based on the motion margin index, a secondary selection criterion based on motion smoothness can be introduced to further identify the motion path with the best dynamic characteristics from these parallel solutions while ensuring the maximum safety margin, thereby improving the physical realism and visual smoothness of the final generated animation.
[0119] Specifically, the process for selecting S207 is triggered when two or more candidate synchronous motion vector groups are found to have the exact same and globally largest motion margin index. This means that from a spatial fault tolerance perspective, these schemes are equivalent. To break the deadlock, a higher-order evaluation dimension, motion smoothness, is introduced.
[0120] First, all candidate schemes with the same maximum motion margin index are grouped together to form a final candidate set. Then, for each candidate scheme in this set, the micro-stepping simulation trajectory generated in S205 is retrieved for in-depth analysis. Unlike previous analyses that only focused on the distance between parts, this analysis focuses on the kinematic characteristics of the parts themselves. The algorithm traverses each independent part in the trajectory, and at each discrete time step, it calculates the instantaneous velocity vector by performing differential calculations on the changes in position before and after the change.
[0121] Next, the velocity vector is subjected to another time-varying differential calculation, i.e., the derivative of the velocity vector is calculated, thus obtaining the instantaneous acceleration vector of the part at that moment. This is because acceleration directly reflects the drastic change in motion state. A smooth motion will have a small acceleration value, while a motion with frequent starts and stops or sharp turns will produce a large acceleration. To obtain a scalar value that represents the drastic change in motion of the part at that moment, the algorithm calculates the norm (i.e., length or magnitude) of the instantaneous acceleration vector.
[0122] Finally, to obtain a single metric that can evaluate the overall smoothness of the entire disassembly scheme, a spatiotemporal cumulative integration operation is performed. Spatially, the instantaneous acceleration norms of all parts within the synchronous interlocking structure at the same moment are summed; temporally, these sums obtained at each time step are accumulated along the entire simulation trajectory from start to finish. This final accumulated sum is defined as the motion complexity metric of the candidate scheme. The physical meaning of this metric is the total jitter or turbulence of the system during the entire disassembly process. After completing the complexity calculation for all schemes in the final candidate set, a final decision is made: the candidate synchronous motion vector group with the lowest motion complexity metric is selected as the final, unique synchronous motion vector group that wins.
[0123] The above technical steps, by introducing motion complexity as a secondary selection criterion, resolve the ambiguity that may arise from relying solely on motion margin. Minimizing the acceleration integral is equivalent to pursuing the smoothest motion trajectory. Therefore, among all schemes with the same maximum safety clearance, this method can further filter out the most dynamically stable and visually smoothest path, generating a more accurate assembly instruction animation.
[0124] S209. Define the synchronous interlock structure and the corresponding synchronous motion vector group as the overall assembly unit, and generate the final assembly animation sequence as an independent step for the synchronous motion of the overall assembly unit.
[0125] Step S209 and Figure 1 Step S105 in the illustrated embodiment is similar and can be found in the description of step S105, which will not be repeated here.
[0126] In the above embodiments, firstly, by identifying all candidate synchronous motion vector groups, a comprehensive exploration of the solution space is ensured, providing a foundation for subsequent optimization. Then, for each candidate scheme, the global minimum dynamic gap, serving as a motion margin indicator, is calculated, transforming the abstract problem of the quality of the separation path into a precisely quantifiable physical metric. Finally, by selecting the scheme with the maximum motion margin, it is ensured that the final output disassembly path is not only geometrically collision-free but also the theoretically optimal solution with the maximum safety gap and highest fault tolerance among all possibilities. This improves the reliability and engineering practicality of the scheme and enhances the physical accuracy of the automatically generated assembly instruction animation.
[0127] The following describes an exemplary mortise and tenon block automatic generation and splicing step instruction animation system 300 provided in the embodiments of this application. Figure 3 This is an exemplary hardware structure diagram of the animation system 300 for automatically generating and assembling mortise and tenon building blocks according to an embodiment of this application.
[0128] In some embodiments, the automatic generation and assembly step instruction animation system 300 for mortise and tenon building blocks is a computer device or includes a computer device. The computer device includes a processor, memory, and a network interface connected via a system bus. The processor of the computer device provides computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database of the computer device stores data. The network interface of the computer device is used to communicate with other external terminals or servers via a network connection. In some embodiments, the network interface can be a wired network interface; in some embodiments, the network interface can also be a wireless network interface. When the computer program is executed by the processor, it implements the methods in the embodiments of this application.
[0129] Those skilled in the art will understand that Figure 3 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0130] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
[0131] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".
[0132] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0133] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for automatically generating an animation of the assembly steps for mortise and tenon building blocks, characterized in that, include: Construct an interference diagram describing the static interference relationship between independent parts in a 3D mortise and tenon block model; each independent part in the interference diagram is a node, and if there is geometric occlusion between the positions of two independent parts, a connecting edge is established between the corresponding two nodes; In the interferogram, node groups with an internal connection density greater than or equal to a preset density threshold are identified as suspected interlocking clusters; the internal connection density is the ratio of the actual number of connection edges in the node group to the theoretical maximum number of connection edges in the fully connected state of the corresponding node group; the node group consists of three or more nodes in the interferogram. Along the axes of freedom of the independent parts in each suspected interlocking cluster, a virtual reverse disassembly simulation of a single part is performed one by one. If the virtual reverse disassembly simulation of a single part of all independent parts in the suspected interlocking cluster fails due to collision detection, the corresponding suspected interlocking cluster is confirmed as a synchronous interlocking structure. If the calculation result shows that no collision-free separation synchronous motion vector set can be found, an elastic latching area conforming to preset morphological rules is identified inside the synchronous interlocking structure. A preset depth virtual geometric erosion operation is applied to the surface mesh of the elastic snap-fit area to generate a geometric relaxation model; On the geometric relaxation model, the cooperative inverse kinematics solution is re-executed to calculate the candidate synchronous motion vector set; The candidate synchronous motion vector set is used as the final synchronous motion vector set and applied to the three-dimensional mortise and tenon block model. When generating the final assembly animation sequence based on the synchronous motion vector set, local dynamic visual effects simulating elastic deformation are added to the areas where virtual geometric erosion occurs during the separation process. By solving the synchronous interlocking structure through cooperative inverse kinematics, a set of synchronous motion vectors that enable the corresponding synchronous interlocking structure to separate without collision is calculated. The synchronous interlock structure and the corresponding synchronous motion vector group are defined as an overall assembly unit, and the synchronous motion of the overall assembly unit is used as an independent step to generate the final assembly animation sequence.
2. The method according to claim 1, characterized in that, The step of solving the synchronous interlocking structure through cooperative inverse kinematics to calculate the set of synchronous motion vectors that enable the corresponding synchronous interlocking structure to separate without collision specifically includes: Identify and store all candidate synchronous motion vector sets that can enable the synchronous interlock structure to separate without collision; For each of the candidate synchronous motion vector groups, generate a micro-stepping simulation trajectory describing the complete separation process; At each discrete time step of the micro-stepping simulation trajectory, the minimum dynamic gap between all moving parts within the corresponding synchronous interlocking structure is calculated in real time. Determine the global minimum dynamic gap value throughout the entire process of each microstepping simulation trajectory, and use it as a motion margin index; Based on the aforementioned motion margin index, candidate synchronous motion vector groups with the largest motion margin index are selected as synchronous motion vector groups.
3. The method according to claim 2, characterized in that, The step of filtering based on the motion margin index and selecting the candidate synchronous motion vector group with the largest motion margin index as the synchronous motion vector group specifically includes: When multiple candidate synchronous motion vector groups are identified as having the largest parallel motion margin index, the multiple candidate synchronous motion vector groups with the largest parallel motion margin index are determined as the final candidate set. For each candidate synchronous motion vector group in the final candidate set, analyze the velocity vector of each independent part in the micro-stepping simulation trajectory; Calculate the derivative of the velocity vector of each independent part with time throughout the entire simulation trajectory to obtain the instantaneous acceleration; The motion complexity index is obtained by accumulating the instantaneous acceleration norms of all parts in the synchronous interlock structure in space and time. In the final candidate set, the candidate synchronous motion vector group with the lowest motion complexity index is selected as the synchronous motion vector group.
4. The method according to claim 1, characterized in that, Before identifying node groups with internal connection densities greater than or equal to a preset density threshold as suspected interlocking clusters in the interference diagram, the process further includes: For each individual part in the three-dimensional mortise and tenon block model, a virtual micro-rotation simulation with multiple degrees of freedom axes is performed around the center of mass; If, based on collision detection, an independent part fails to rotate due to collision in all axes of virtual micro-rotation simulation, then the corresponding part is marked as a rotationally restricted part. In the interference diagram, adjacent node groups consisting of three or more rotationally restricted parts are identified as suspected interlocking clusters and merged with suspected interlocking clusters identified by internal connectivity density.
5. The method according to claim 4, characterized in that, In the interference diagram, after identifying adjacent node groups consisting of three or more rotationally restricted parts as suspected interlocking clusters, the method further includes: Select any one of the parts in the suspected interlock cluster as the active part, and apply a preset virtual micro-rotation drive. By solving multibody dynamics, it is calculated in real time whether there is a uniquely determined coupled response motion that can avoid collisions between the other parts in the corresponding interlocking suspected cluster under the virtual micro-rotation drive. If so, the suspected interlock cluster is determined to be a kinematic chain; Remove the kinematic chain from the set of suspected interlocking clusters.
6. The method according to claim 1, characterized in that, The step of solving the synchronous interlocking structure through cooperative inverse kinematics to calculate the set of synchronous motion vectors that enable the corresponding synchronous interlocking structure to separate without collision specifically includes: After calculating the first set of synchronous motion vectors that enables the corresponding synchronous interlocking structure to separate without collision, the solution continues to find the complete set of all independent synchronous motion vector sets in the direction. For each independent synchronous motion vector group in the complete set, calculate the alignment score with the preset global gravity vector; From the complete set, the optimal synchronization motion vector group with the highest alignment score is selected as the synchronization motion vector group.
7. A system for automatically generating assembly instructions and animations for mortise and tenon building blocks, characterized in that, The automatic generation and assembly step instruction animation system for mortise and tenon blocks includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to cause the automatic generation and assembly step instruction animation system for mortise and tenon blocks to perform the method as described in any one of claims 1-6.
8. A computer program product containing instructions, characterized in that, When the computer program product is run on the mortise and tenon block automatic generation and assembly step instruction animation system, the mortise and tenon block automatic generation and assembly step instruction animation system performs the method as described in any one of claims 1-6.
9. A computer-readable storage medium comprising instructions, characterized in that, When the instruction is executed on the mortise and tenon block automatic generation and assembly step instruction animation system, the mortise and tenon block automatic generation and assembly step instruction animation system performs the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Building block assembly specification generation method based on dynamic stress and related equipment
CN120724674A
Equipment disassembly sequence automatic generation and verification method based on physical engine
CN120805411A