Movable part handwork parameterization design method based on Blender secondary development
By implementing automatic centerline extraction and manual specification combined with automatic scaling and fine-tuning of the cutter on the Blender platform, the difficult problems of model recognition and parametric modeling in the design of movable parts figures have been solved, improving design efficiency and accuracy, and making it suitable for mass production.
Patent Information
- Application Number
- CN202510882287.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-06-27
AI Technical Summary
Existing technologies lack the ability to automatically identify the model's geometric structure and extract the central axis in the design of movable parts figures, resulting in long design cycles, inconvenient modifications, high error rates, and an inability to adapt to the differentiated characteristics of the model. In addition, there is a lack of efficient parameter control interfaces and modular mechanisms, which affects mass customized production.
Through a method based on Blender's secondary development, automatic extraction and manual specification of the central axis are adopted, combined with automatic scaling and visual fine-tuning of the cutter, to achieve intelligent recognition of the model structure and joint alignment, provide a graphical interface control module for parametric modeling, and use the Boolean algorithm to generate a movable hinge structure.
It significantly improves design efficiency and accuracy, reduces manual intervention, is suitable for efficient and batch development processes of movable parts figures, and improves the success rate of model Boolean operations and structural consistency.
Smart Images

Figure CN120705931A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of toy design, and in particular to a parametric design method for a movable part figure based on Blender secondary development. Background Art
[0002] In the current animation, film, television, and gaming peripheral industries, action figures with movable parts are highly sought after for their high degree of posability and intricate modeling. In the traditional action figure design process, modelers rely on software such as ZBrush, Maya, and Blender to manually add and adjust skeleton structures, hinges, and movable joints. This process, especially when dealing with complex structures like ball joints and hinge joints, requires repeated manipulation and verification of the model's topology. This process is not only technically demanding but also highly dependent on the modeler's experience, resulting in long design cycles, difficult modifications, and a high error rate, severely limiting product iteration speed and customization capabilities.
[0003] The existing technology has the following deficiencies: Existing technologies still have significant deficiencies in achieving rapid layout and parametric modeling of joint parts. On the one hand, most current design methods lack the ability to automatically identify the model's geometric structure and extract the central axis, requiring modelers to manually locate key components. On the other hand, the replication and Boolean operations of joint parts (such as cutter bodies and connection structures) generally rely on manual processes, which cannot adapt to the differentiated characteristics of the model and lack efficient parameter control interfaces and modular mechanisms. In addition, existing tools lack a unified interactive interface and automated logic for joint cutting and position fine-tuning, which seriously affects work efficiency and modeling accuracy, making them particularly unsuitable for the industrial needs of mass customized production.
[0004] The above information disclosed in this Background section is only for enhancement of understanding of the background of the present disclosure and therefore it may contain information that does not form the prior art that is already known to a person of ordinary skill in the art. Summary of the Invention
[0005] The purpose of this invention is to provide a parametric design method for action figures with movable parts, based on Blender's secondary development. By automatically extracting and manually specifying the central axis, this method enables intelligent recognition of model structure and joint alignment, improving layout accuracy. Combined with automatic scaling and visual fine-tuning of the cutter, this method enhances the flexibility and adaptability of parametric modeling. This overall solution significantly improves design efficiency and accuracy, reduces manual intervention, and is suitable for efficient, mass-produced action figure development, addressing the aforementioned issues in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a parametric design method for a movable part figure based on Blender secondary development, comprising the following steps: Obtain the tail region structural data of the 3D model and analyze the 3D bounding box size, number of facets, and vertex distribution characteristics of the tail region to determine the embedding position and layout range of the hinge structure. Perform the center axis extraction operation. Based on the vertex point cloud data of the tail area, calculate the covariance matrix and apply the principal component analysis method to extract the characteristic main axis, and generate the tail center axis as the joint alignment reference axis; A manual centerline specification function is provided in the user interface, allowing users to clear the original axis and draw a custom centerline based on the default result, improving the controllability and accuracy of centerline construction; Select a preset cutter model and select the number of cutters based on user input. Generate multiple cutter copies based on the tail structure characteristics, and automatically adjust the scale of each copy by analyzing the local point cloud space density and grid number of each cutter. Provides a graphical interface control module for fine-tuning the position, direction, and size of each cutter copy, allowing users to control the parameters of each cutter body in real time in the modeling view to adapt to personalized design needs; The Boolean algorithm module embedded in the Blender platform is called, and Boolean addition and subtraction logic are used to perform geometric Boolean operations on the model. The cutter model is integrated into the tail structure, and finally a complete three-dimensional figure model with a movable hinge structure is generated.
[0007] Preferably, the method for analyzing the tail region structure of the three-dimensional model includes calling the BoundingBox interface of the mesh object from Blender, extracting the maximum and minimum boundary values of the model in the three axes of X, Y, and Z, and then constructing a bounding box based on the boundary values to determine the spatial constraint range of the inserted joint structure; At the same time, the total number of faces and vertices are extracted from the mesh object. A threshold is set to determine whether the current area has high structural complexity. If the number of faces is greater than 1500 or the number of vertices exceeds 3000, the default cutter size ratio is automatically adjusted to reserve insertion space.
[0008] Preferably, the central axis extraction process adopts a feature extraction mechanism based on PCA. The specific steps are as follows: Call the Blender Python API interface to obtain the coordinate information of all vertices of the tail model and form it into a three-dimensional point cloud matrix; The covariance matrix of the point cloud is calculated using NumPy, and the eigenvalue and eigenvector decomposition is performed to extract the principal component direction as the main axis of the model; The extraction results are used to construct the joint symmetry axis, providing a spatial reference system for the copy direction and arrangement order of the subsequent cutters.
[0009] Preferably, the manual designation of the central axis function is completed through a graphical user interaction window, where the user clicks and draws any two points in the Blender modeling view, and automatically connects them to form a central axis; After manual specification is completed, the original automatic extraction results will be automatically overwritten, and the manual axis will be used as the reference line for all cutter arrangements.
[0010] Preferably, the method for copying the cutter and adjusting the size includes the following steps: According to the obtained tail bounding box length, the tail is divided into equal intervals along the axis direction to generate multiple candidate insertion points; Combined with the central axis direction, equally spaced positioning points are constructed along the main axis as the reference for cutter placement; When copying the cutter model, the original cutter's proportions are used as the initial template, and scaling is performed automatically based on the mesh density near each placement point.
[0011] Preferably, the specific steps of center axis extraction and cutter position distribution planning are as follows: After acquiring the point cloud data of the tail area of the model, a three-dimensional coordinate set is constructed, and the covariance matrix of the point cloud data is calculated using mathematical statistical methods. The calculation expression is as follows: Where, is the covariance matrix, is the total number of point clouds, It is Three-dimensional coordinate points in the form of , is the mean center of the point cloud, which represents the center point of the point cloud at the tail of the model. is the transpose of a vector; Covariance matrix Perform eigenvalue decomposition to obtain the eigenvector corresponding to the maximum eigenvalue , as the most significant extension direction of the model's tail, that is, the central axis direction; After obtaining the central axis direction, the point cloud center point As the starting point, linear distribution cutting is performed along the central axis to generate multiple cutter insertion points. The calculation expression is as follows: Where, It is The center point position of each cutter copy, is the index variable, is the layout step length, is the number of cutter copies; At each point Sample the grid surface with a certain radius nearby and count the areas within the sampling area. The average area of the mesh faces reflects the complexity of the local surface at the insertion location.
[0012] Preferably, the graphical interface for fine-tuning the position and angle of the cutter has three modules: a position adjustment module, a rotation control module, and a scaling module; The position adjustment module allows users to independently translate each cutter copy in the X, Y, and Z directions. The rotation control module provides an Euler angle control window, allowing users to perform arbitrary three-axis rotation operations. The scaling module provides a numerical input box and slider control to adjust the scaling factor of each cutter in the X, Y, and Z directions.
[0013] Preferably, the specific steps of the Boolean fusion operation control process to achieve Boolean result accuracy optimization are as follows: Obtain the mesh density of the cutter model and the triangle density of the local area of the tail model, and calculate the fusion ratio of the two to form a Boolean fusion coefficient. The expression is as follows: Where, is the Boolean fusion coefficient, is the cutter body mesh density, is the local mesh density of the target model; In obtaining the Boolean fusion coefficient Finally, the fusion stability threshold is introduced, and the calculation formula is as follows: , where is the fusion stability threshold, It is a fusion regulator; According to the fusion stability threshold ,Directional offset will be implemented on the surface vertices of the cutter model, and the offset vector calculation formula is as follows: Where, It is The unit normal vector of each vertex, is the offset magnitude scaling factor, It is The pre-bias vector of each vertex; Finally, the offset cutter body is imported into the Blender Boolean module, and geometric Boolean operations are performed according to the user-specified fusion logic. The fusion status identification, fusion surface integrity ratio, and generated body patch closure are recorded in real time, thus forming a highly reliable movable part structural model.
[0014] In the above technical solution, the technical effects and advantages provided by the present invention are: The present invention achieves intelligent recognition and precise alignment of the model's geometric structure by integrating an automatic central axis extraction algorithm with a user-defined axis input mechanism. After extracting the model's point cloud features, the system automatically generates a principal axis to guide the rational distribution of the cutter body in three-dimensional space. At the same time, if the automatic result does not meet the user's expectations, an alternative axis can be directly specified through the visual interface, greatly improving the layout flexibility and design controllability. This mechanism not only significantly reduces the modeler's burden of repetitive operations when manually positioning the joint, but also effectively avoids the problem of cutting mismatch caused by axial deviation, and improves the success rate of Boolean operations and structural consistency of the model.
[0015] The present invention combines the automatic scaling adjustment of the cutter copy with a visual fine-tuning interface, significantly improving the efficiency and model adaptability of parametric modeling. The system automatically evaluates the scaling factor of each cutter based on the tail mesh density, so that it can be reasonably embedded in different geometric areas; at the same time, it provides three-axis displacement, rotation, and scaling fine-tuning functions, so that modelers can observe the adjustment results in real time and make fine corrections. This "extensive automatic + fine fine-tuning" design logic not only ensures the versatility of system processing, but also meets the high-precision requirements under complex structures, greatly reducing the time for manual intervention in the design process of movable parts figures, and improving the intelligence and scalability of the overall design process. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction to the drawings required for use in the embodiments will be given below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0017] Figure 1 This is a flow chart of a method for parametric design of movable parts figures based on Blender secondary development of the present invention. DETAILED DESCRIPTION
[0018] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these example embodiments are provided so that the description of this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art.
[0019] The present invention provides Figure 1 The parametric design method for a movable part figure based on Blender secondary development shown in the figure includes the following steps: Obtain the tail region structural data of the 3D model and analyze the 3D bounding box size, number of facets, and vertex distribution characteristics of the tail region to determine the embedding position and layout range of the hinge structure. The method used to analyze the tail region structure of the 3D model includes calling the BoundingBox interface of the mesh object from Blender, extracting the maximum and minimum boundary values of the model in the X, Y, and Z axes, and then constructing a bounding box based on the boundary values to determine the spatial constraint range of the inserted joint structure; At the same time, the total number of facets and vertices are extracted from the mesh object. A threshold is set to determine whether the current area has high structural complexity. If the number of facets is greater than 1500 or the number of vertices exceeds 3000, the default cutter size ratio is automatically adjusted to reserve insertion space to avoid topological errors in subsequent Boolean calculations.
[0020] In addition, the above numerical parameters are recorded in the parameter interface for dynamic calling in the subsequent cutter fine-tuning steps to achieve continuous association between structural data and modeling operations.
[0021] The above steps extract key geometric structure information from the tail's 3D model, including BoundingBox dimensions, number of facets, and vertex density. Using this data, the system dynamically assesses the geometric complexity and available modeling space of the region, providing a foundational basis for subsequent embedding of joint components (particularly the cutter replica). First, the bounding box dimensions determine the embedding range and operable volume of the joint structure, preventing Boolean failures caused by joint components exceeding the original model boundaries. Second, the number of facets and vertices reflects the level of detail and topological complexity of the region. If the structure is too dense, the system will be prompted to optimize the model or limit the cutter size to prevent geometric anomalies such as face interpenetration and mesh overlap during Boolean operations. This step also pre-determines local topological integrity, providing constraints for downstream operations such as automatic routing and Boolean placement. Furthermore, this data can be cached in the system parameter table for dynamic reference in subsequent Boolean fusion, cutter fine-tuning, and placement algorithms, achieving a highly coupled parameter control mechanism. Therefore, this step is crucial for enhancing the overall intelligence of the system, reducing manual adjustment workload, and improving the matching accuracy of joint components.
[0022] Perform the center axis extraction operation. Based on the vertex point cloud data of the tail area, calculate the covariance matrix and apply the principal component analysis method to extract the characteristic main axis, and generate the tail center axis as the joint alignment reference axis; The central axis extraction process uses a feature extraction mechanism based on PCA. The specific steps are as follows: Call the Blender Python API interface to obtain the coordinate information of all vertices of the tail model and form it into a three-dimensional point cloud matrix; The covariance matrix of the point cloud is calculated using NumPy, and the eigenvalue and eigenvector decomposition is performed. The principal component direction is extracted as the main axis of the model. The main axis is defined as a vector in three-dimensional space that passes through the center of mass of the model and is consistent with the direction of maximum variance. The extraction results are used to construct the joint symmetry axis, providing a spatial reference system for the copy direction and arrangement order of the subsequent cutters.
[0023] This operation can significantly improve the alignment accuracy between the cutter layout and the model structure, and reduce the probability of cutting misalignment.
[0024] This step uses the PCA (Principal Component Analysis) algorithm to extract the direction of maximum variation in the tail model's point cloud, generating the "principal axis" of the 3D structure as a spatial reference for joint layout. The greatest value of this operation lies in automatically organizing the complex model's free-form structure into an ordered spatial reference system, enabling the ability to "abstract" joint layout directions from the model structure. The axis extracted through the point cloud covariance matrix and eigenvalue decomposition not only accurately reflects the model's geometric extension direction but also exhibits high robustness, maintaining stable operation even with minor model defects or mesh irregularities. This axis serves as a coordinate reference for the entire system, equidistantly arranging cutter replicas and providing precise guidance for maintaining model central symmetry. Without this step, the system would struggle to understand the model's geometric structure and would lose its ability to "automatically adapt to the structure," leading to subsequent automatic cutter placement errors, overlaps, and even Boolean conflicts. This step enables the system to extract semantic geometric structure from the point cloud, laying the foundation for true "parameter-driven modeling" and forming a key component of the entire automated process.
[0025] A manual centerline specification function is provided in the user interface, allowing users to clear the original axis and draw a custom centerline based on the default result, improving the controllability and accuracy of centerline construction; Manually specify the central axis function, which is completed through the graphical user interface window. The user clicks and draws any two points in the Blender modeling view to automatically connect them to form a central axis. The axis can be translated and rotated by dragging the mouse. A precise input interface for coordinate coefficients is provided, allowing the user to enter the specific 3D coordinate values of the starting and end points. After manual specification is completed, the original automatic extraction results will be automatically overwritten, and the manual axis will be used as the reference line for all cutter arrangements.
[0026] In addition, the system setting flag is used to record whether the manual axis is enabled so that the user-defined settings can be restored when saving the project file to ensure consistency between multiple modifications.
[0027] This step provides the system with a means to manually supplement and redefine the automatic central axis when the results are insufficient, thereby improving the adaptability of the present invention in personalized design and complex structure modeling scenarios. Although the system can automatically extract the central axis through PCA, the actual model morphology varies greatly. For example, in cases with unclear symmetry or unusual shapes, the automatic main axis may not meet the modeler's expectations for joint orientation. This step allows users to directly select points and draw lines in the modeling view to define the axis, and also supports numerical input of coordinate points to construct structural lines. Its function is not only to replace the automatic axis, but more importantly, it establishes a human-computer interaction adjustment mechanism, allowing modelers to adjust the system's geometric understanding results based on visual judgment and design intent. This capability enhances model adaptability and is particularly suitable for high-end customized figurine design and special engineering toy model scenarios. It serves as a key "interface" between model parameterization and manual design. Furthermore, the user-defined central axis is also recorded in the parameter record table for dynamic reference during Boolean layout, enhancing the memorability and reusability of the entire modeling process.
[0028] Select a preset cutter model and select the number of cutters based on user input. Generate multiple cutter copies based on the tail structure characteristics, and automatically adjust the scale of each copy by analyzing the local point cloud space density and grid number of each cutter. The method for duplicating the cutter and adjusting its size involves the following steps: According to the obtained tail bounding box length, the tail is divided into equal intervals along the axis direction to generate multiple candidate insertion points; Combined with the central axis direction, equally spaced positioning points are constructed along the main axis as the reference for cutter placement; When copying the cutter model, the original cutter's proportions are used as the initial template, and scaling is performed automatically based on the mesh density near each placement point.
[0029] The specific scaling ratio is determined by analyzing the average grid area in the neighborhood of the point. The larger the area, the smaller the scaling ratio, and vice versa. The system uses dynamic caching technology to record the scaling and positioning information of each replica to achieve fast recovery during batch generation.
[0030] This step automatically deploys cutter replicas along the central axis of the model structure and dynamically adjusts their size based on the local point cloud density. Its core function is to batch-generate cutter components with strong matching and structural adaptability. Specifically, this step first constructs multiple equidistant points along the central axis as reference points for cutter placement. Then, based on the local mesh density at each point, it calculates a scaling factor for each replica to ensure the cutter maintains an appropriate volume across different structural regions, avoiding situations where the cutter is too large (overlapping the model exterior) or too small (incapable of forming structural connections). This dynamic adjustment mechanism eliminates the repetitive "cut-by-cut" adjustment of cutters in traditional modeling, significantly reducing manual labor when designing multiple joint structures. Furthermore, the parameters output from this step (such as placement position and scaling factor) serve as Boolean inputs to ensure spatial accuracy during the geometry fusion process. Therefore, the automatic deployment and dynamic scaling strategy of cutters is a key module supporting the "batch generation and local adaptation" principle of the entire parametric design process.
[0031] The specific steps for centerline extraction and cutter position distribution planning are as follows: After acquiring the point cloud data of the tail area of the model, a three-dimensional coordinate set is constructed, and the covariance matrix of the point cloud data is calculated using mathematical statistical methods. The calculation expression is as follows: Where, It is the covariance matrix, which represents the linear correlation matrix between the coordinate axes in the three-dimensional point cloud, reflecting the expansion trend of the point cloud in space. It is a 3×3 real symmetric matrix used for subsequent PCA dimensionality reduction analysis. Is the total number of point clouds, indicating the number of vertices involved in the calculation in the tail model, that is, the number of sampled three-dimensional coordinates, which determines the statistical reliability of the covariance matrix. The more, the more stable. It is Three-dimensional coordinate points in the form of , comes from the vertex data of the tail mesh model in Blender, each point represents a vertex on the model surface in space, is the mean center of the point cloud, which represents the center point of the tail point cloud of the model, for all The mean is used as the reference point for PCA analysis. It is the transpose of the vector, which transforms the row vector into a column vector so that the matrix multiplication is effective; This matrix describes the distribution of the model point cloud in various directions in space and is used to measure the main direction trend of its morphology.
[0032] Covariance matrix Perform eigenvalue decomposition to obtain the eigenvector corresponding to the maximum eigenvalue , as the most significant extension direction of the model's tail, that is, the central axis direction; Automatically extracting the centerline orientation of the tail model is a key step in the parametric design process. This involves processing 3D point cloud data using statistical and linear algebraic methods to accurately determine the primary extension direction of the model structure. This entire process leverages the Blender platform's Python scripting interface and numerical computation libraries (such as NumPy), ensuring a high degree of automation and mathematical precision.
[0033] First, the system calls the tail model mesh data interface within the Blender environment to extract the coordinates of all vertices in the region and save them as a three-dimensional array. Next, the geometric center point of all vertices (i.e., the point cloud mean point) is calculated, serving as the reference point for data decentralization. Each vertex coordinate is then interpolated with the center point to form a de-averaged point cloud. This results in a symmetrical expansion of the entire point cloud around the origin, paving the way for the subsequent calculation of the covariance matrix.
[0034] Next, a three-dimensional covariance matrix is constructed based on this centralized data. The covariance matrix is an important tool for measuring the correlation between coordinate axes. Each element of the covariance matrix describes the degree of joint variation of the point cloud along the corresponding coordinate dimension. Once the matrix is constructed, the system solves it using an eigenvalue decomposition algorithm, obtaining three sets of eigenvalues and corresponding eigenvectors. According to the principles of PCA (principal component analysis), the eigenvector corresponding to the largest eigenvalue in the covariance matrix is the extension path of the point cloud with the greatest spatial variation and the most stable direction, which is the desired "central axis direction."
[0035] The system then uses this direction vector as a reference axis, combined with the previously extracted model center point, to establish a straight line in space. The system then plans the cutter insertion positions along this line according to the equidistant principle. This central axis is used for subsequent cutter distribution and positioning, and also provides a directional reference for Boolean calculations, achieving structural alignment and aesthetic unity in the joint arrangement.
[0036] This automatic central axis extraction process not only improves the degree of design automation and reduces reliance on manual judgment, but also avoids problems such as central axis offset and joint dislocation in traditional modeling, ensuring that the final figure structure is both scientific and refined. It is the technical core for achieving rapid parametric design of movable parts.
[0037] After obtaining the central axis direction, the point cloud center point As the starting point, linear distribution cutting is performed along the central axis to generate multiple cutter insertion points. The calculation expression is as follows: Where, It is The center point of each cutter copy is a point distributed with the central axis as the reference line. It is used as the center of the cutter arrangement. Its distribution is controlled by the step size and the number of copies to ensure that the cutters are evenly distributed along the axis. It is an index variable, representing the number of cutter copies, starting from 0 and increasing. It is the arrangement step size (spacing), which controls the distance between cutters. The unit is the spatial unit in Blender (such as meters or centimeters). is the number of cutter copies, ensuring uniform distribution along the main axis; At each point Sample the grid surface with a certain radius nearby and count the areas within the sampling area. The average area of the mesh faces reflects the complexity of the local surface at the insertion location.
[0038] The scaling parameters of the cutter body at that location will be automatically adjusted based on the average area of the mesh surface to improve the success rate of the Boolean operation and the stability of the connection.
[0039] The main function of this step is to establish an automated spatial analysis and cutter layout mechanism for the tail structure of the three-dimensional model, so as to solve the problems of uneven joint layout, large position deviation and heavy manual intervention in the traditional model processing process. The system first uses mathematical methods to extract the most significant spatial extension direction in the model structure and constructs the central axis. This axis reflects the main geometric features of the model morphology and provides a unified reference for the layout direction of all subsequent cutters. Then, based on the central axis, the system automatically divides the model structure into multiple equidistant layout points for placing joint cutter copies. This method avoids the subjective errors in manual point selection and ensures the symmetry and structural continuity of the cutter arrangement.
[0040] Furthermore, the system samples the model's mesh structure around each placement point and evaluates the geometric density of that area to determine whether the local structure is suitable for placement of the joint component. This dynamic adaptability ensures that each cutter copy is not only properly positioned but also sized to fit the structure, avoiding issues such as over-embedded joints or loose connections. This automated placement strategy not only improves design efficiency but also significantly reduces the risk of placement errors to model integrity, making it a key module for achieving mass-produced, high-precision parametric modeling.
[0041] Provides a graphical interface control module for fine-tuning the position, direction, and size of each cutter copy, allowing users to control the parameters of each cutter body in real time in the modeling view to adapt to personalized design needs; The graphical interface for fine-tuning the position and angle of the cutter has three modules: position adjustment module, rotation control module and scaling module; The position adjustment module allows users to independently translate each cutter copy in the X, Y, and Z directions. The rotation control module provides an Euler angle control window, allowing users to perform arbitrary three-axis rotation operations. The scaling module provides a numerical input box and slider control to adjust the scaling factor of each cutter in the X, Y, and Z directions.
[0042] The interface also features a real-time preview renderer that dynamically displays the results of model changes during adjustments. All adjustment parameters are recorded in a cache and then recalled during the final Boolean operation, ensuring spatial accuracy and consistent results.
[0043] This step provides a graphical interactive interface for visually fine-tuning the multi-dimensional parameters (position, rotation, and scale) of the cutter replica, serving as a crucial interface layer for human-machine collaboration. It compensates for the limitations of the automatic placement and scaling algorithms by providing a manual fine-tuning mechanism, allowing the modeler to intuitively adjust the spatial arrangement of the cutter within the model without leaving the modeling environment. Each cutter body can be translated in the X, Y, and Z axes, rotated by entering an angle, and precisely controlled by adjusting the X, Y, and Z scale factors. This three-dimensional interactive adjustment capability significantly improves customization accuracy and is suitable for industrial scenarios with highly differentiated model details or demanding design tolerances. Furthermore, this adjustment interface provides dynamic rendering feedback, allowing users to observe model changes in real time during adjustments, effectively reducing trial and error. All adjustment results are cached in the system parameter table in real time, ensuring that previous settings are fully inherited during Boolean processing and model updates, improving the consistency and efficiency of the entire system.
[0044] The built-in Boolean algorithm module of the Blender platform is called to perform geometric Boolean operations on the model using Boolean addition and subtraction logic, integrating the cutter model into the tail structure, and finally generating a complete 3D model with a movable hinge structure. The specific steps of the Boolean fusion operation control process to achieve Boolean result accuracy optimization are as follows: Obtain the mesh density of the cutter model (such as the number of triangles per unit area) and the triangle density of the local area of the tail model, and calculate the fusion ratio of the two to form a Boolean fusion coefficient. The expression is as follows: Where, Is the Boolean fusion coefficient, which measures the degree of matching between the cutter model and the target model in terms of mesh density, and is the basic control parameter for subsequent adjustment operations. The closer the value is to 1, the better the match between the cutter and the local structural complexity of the model, and the higher the probability of successful Boolean operation; too large or too small a value indicates the risk of potential fusion failure. The cutter mesh density refers to the number of triangles contained in the cutter model per unit area. It is usually calculated by "number of faces ÷ facet projection area". It reflects the complexity of the cutter model details and is an important factor affecting the accuracy and processing load of Boolean operations. The local mesh density of the target model, the local triangular mesh density of the model at the cutter insertion position, is obtained by analyzing the number of triangles within a certain radius around the insertion point and dividing it by the local surface area. It is used to determine whether the local structure of the target model is suitable for the current cutter granularity; The Boolean fusion coefficient is used to evaluate the adaptability of the cutter and the target area in terms of mesh complexity. The closer the value is to 1, the more stable the fusion is.
[0045] In obtaining the Boolean fusion coefficient Finally, the fusion stability threshold is introduced, and the calculation formula is as follows: , where is the fusion stability threshold, which is an adjustment control amount calculated based on the fusion coefficient and is used to decide whether to perform an offset operation on the cutter model. A larger value indicates a greater difference in mesh density, requiring a stronger correction operation to improve the stability of Boolean fusion. is the fusion adjustment factor, which is a scalar parameter set by the system to control the overall adjustment amplitude. It is usually set through experiments, such as , used to balance the risk of over-excursion and under-correction; The fusion stability threshold is used to make slight pre-offset adjustments to the cutter model before mesh Boolean to ensure that calculation failure will not occur due to face overlap or intersection.
[0046] According to the fusion stability threshold ,Directional offset will be implemented on the surface vertices of the cutter model, and the offset vector calculation formula is as follows: Where, It is The unit normal vector of each vertex defines the outward direction of each vertex and serves as the direction basis of the offset. It is usually directly extracted from the surface normal of the cutter model to ensure that the offset is always expanded along the surface normal of the model and maintain the consistency of the cutter geometry. Is the offset amplitude scaling factor, which controls the scaling parameter of the vertex movement distance, usually set between 0.05–0.3; it is used to adjust the absolute length of the offset vector, and it is necessary to achieve geometric separation under the premise of ensuring that the shape is not distorted. It is The pre-offset vector of each vertex is the offset generated for each cutter vertex, which is used to move the vertex from its original position along the direction of its normal vector to avoid face overlap or penetration in Boolean operations and improve topological closure; This operation can optimize the Boolean fusion compatibility between the cutter interface and the original model without changing the overall shape of the model.
[0047] Finally, the offset cutter body is imported into the Blender Boolean module, and geometric Boolean operations are performed according to the user-specified fusion logic (addition or subtraction). The fusion status identification, fusion surface integrity ratio, and generated body patch closure are recorded in real time, thus forming a highly reliable movable part structural model.
[0048] The core purpose of this step is to improve the robustness of Boolean operations and the stability of model fusion, resolving common problems such as Boolean failures and model breakage caused by factors such as mesh density differences and poor boundary contact during actual modeling. Before performing Boolean operations, the system first analyzes the matching relationship between the cutter model and the target model in terms of structural complexity and mesh density, assessing the potential fusion difficulty. This analysis helps the system identify high-risk areas for Boolean conflicts, providing data support for subsequent geometric optimization.
[0049] Subsequently, the system adjusts the cutter model's slight displacement in space to maintain a more coordinated contact state with the normal direction of the contact area of the target model, avoiding sharp angles and overlap problems. This displacement strategy effectively buffers the topological boundary differences between the two models and significantly reduces Boolean anomalies caused by geometric discontinuities. The mechanism is also adaptive and can dynamically adjust the cutter offset strategy according to changes in the model structure, thereby enhancing the system's compatibility with diverse model structures. Ultimately, the system is able to stably and efficiently complete the geometric merging of the cutter and tail structure, outputting a complete, smooth, and reliably connected three-dimensional active structure, significantly improving modeling quality and structural integrity.
[0050] The present invention achieves intelligent recognition and precise alignment of the model's geometric structure by integrating an automatic central axis extraction algorithm with a user-defined axis input mechanism. After extracting the model's point cloud features, the system automatically generates a principal axis to guide the rational distribution of the cutter body in three-dimensional space. At the same time, if the automatic result does not meet the user's expectations, an alternative axis can be directly specified through the visual interface, greatly improving the layout flexibility and design controllability. This mechanism not only significantly reduces the modeler's burden of repetitive operations when manually positioning the joint, but also effectively avoids the problem of cutting mismatch caused by axial deviation, and improves the success rate of Boolean operations and structural consistency of the model.
[0051] The present invention combines the automatic scaling adjustment of the cutter copy with a visual fine-tuning interface, significantly improving the efficiency and model adaptability of parametric modeling. The system automatically evaluates the scaling factor of each cutter based on the tail mesh density, so that it can be reasonably embedded in different geometric areas; at the same time, it provides three-axis displacement, rotation, and scaling fine-tuning functions, so that modelers can observe the adjustment results in real time and make fine corrections. This "extensive automatic + fine fine-tuning" design logic not only ensures the versatility of system processing, but also meets the high-precision requirements under complex structures, greatly reducing the time for manual intervention in the design process of movable parts figures, and improving the intelligence and scalability of the overall design process.
[0052] The above formulas are all dimensionless and numerical calculations. The formulas are obtained by collecting a large amount of data and performing software simulation to obtain the most recent real situation. The preset parameters in the formulas are set by technicians in this field according to actual conditions.
[0053] The above description is merely illustrative of certain exemplary embodiments of the present invention. It goes without saying that those skilled in the art will be able to modify the described embodiments in various ways without departing from the spirit and scope of the present invention. Therefore, the above drawings and description are illustrative in nature and should not be construed as limiting the scope of protection of the claims.
[0054] It should be noted that, in this document, if there are relational terms such as first and second, etc., they are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises", "comprising" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device that includes the element.
[0055] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0056] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0057] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0058] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0059] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0060] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
[0061] The above description is merely illustrative of certain exemplary embodiments of the present invention. It goes without saying that those skilled in the art will be able to modify the described embodiments in various ways without departing from the spirit and scope of the present invention. Therefore, the above drawings and description are illustrative in nature and should not be construed as limiting the scope of protection of the claims.
Claims
1. A parametric design method for movable parts figures based on Blender secondary development, characterized in that: The following steps are involved: Obtain the tail region structural data of the 3D model and analyze the 3D bounding box size, number of facets, and vertex distribution characteristics of the tail region to determine the embedding position and layout range of the hinge structure. Perform the center axis extraction operation. Based on the vertex point cloud data of the tail area, calculate the covariance matrix and apply the principal component analysis method to extract the characteristic main axis, and generate the tail center axis as the joint alignment reference axis; A manual centerline specification function is provided in the user interface, allowing users to clear the original axis and draw a custom centerline based on the default result, improving the controllability and accuracy of centerline construction; Select a preset cutter model and select the number of cutters based on user input. Generate multiple cutter copies based on the tail structure characteristics, and automatically adjust the scale of each copy by analyzing the local point cloud space density and grid number of each cutter. Provides a graphical interface control module for fine-tuning the position, direction, and size of each cutter copy, allowing users to control the parameters of each cutter body in real time in the modeling view to adapt to personalized design needs; The Boolean algorithm module embedded in the Blender platform is called, and Boolean addition and subtraction logic are used to perform geometric Boolean operations on the model. The cutter model is integrated into the tail structure, and finally a complete three-dimensional figure model with a movable hinge structure is generated.
2. The parametric design method for movable parts figures based on Blender secondary development according to claim 1, characterized in that: The method used to analyze the tail region structure of the 3D model includes calling the BoundingBox interface of the mesh object from Blender, extracting the maximum and minimum boundary values of the model in the X, Y, and Z axes, and then constructing a bounding box based on the boundary values to determine the spatial constraint range of the inserted joint structure; At the same time, the total number of faces and vertices are extracted from the mesh object. A threshold is set to determine whether the current area has high structural complexity. If the number of faces is greater than 1500 or the number of vertices exceeds 3000, the default cutter size ratio is automatically adjusted to reserve insertion space.
3. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: The central axis extraction process uses a feature extraction mechanism based on PCA. The specific steps are as follows: Call the Blender Python API interface to obtain the coordinate information of all vertices of the tail model and form it into a three-dimensional point cloud matrix; The covariance matrix of the point cloud is calculated using NumPy, and the eigenvalue and eigenvector decomposition is performed to extract the principal component direction as the main axis of the model; The extraction results are used to construct the joint symmetry axis, providing a spatial reference system for the copy direction and arrangement order of the subsequent cutters.
4. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: Manually specify the central axis function, which is completed through the graphical user interface window. The user clicks and draws any two points in the Blender modeling view, and they are automatically connected to form a central axis; After manual specification is completed, the original automatic extraction results will be automatically overwritten, and the manual axis will be used as the reference line for all cutter arrangements.
5. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: The method for duplicating the cutter and adjusting its size involves the following steps: According to the obtained tail bounding box length, the tail is divided into equal intervals along the axis direction to generate multiple candidate insertion points; Combined with the central axis direction, equally spaced positioning points are constructed along the main axis as the reference for cutter placement; When copying the cutter model, the original cutter's proportions are used as the initial template, and scaling is performed automatically based on the mesh density near each placement point.
6. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: The specific steps for centerline extraction and cutter position distribution planning are as follows: After acquiring the point cloud data of the tail area of the model, a three-dimensional coordinate set is constructed, and the covariance matrix of the point cloud data is calculated using mathematical statistical methods. The calculation expression is as follows: Where, is the covariance matrix, is the total number of point clouds, It is Three-dimensional coordinate points in the form of , is the mean center of the point cloud, which represents the center point of the point cloud at the tail of the model. is the transpose of a vector; Covariance matrix Perform eigenvalue decomposition to obtain the eigenvector corresponding to the maximum eigenvalue , as the most significant extension direction of the model's tail, that is, the central axis direction; After obtaining the central axis direction, the point cloud center point As the starting point, linear distribution cutting is performed along the central axis to generate multiple cutter insertion points. The calculation expression is as follows: Where, It is The center point position of each cutter copy, is the index variable, is the layout step length, is the number of cutter copies; At each point Sample the grid surface with a certain radius nearby and count the areas within the sampling area. The average area of the mesh faces reflects the complexity of the local surface at the insertion location.
7. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: The graphical interface for fine-tuning the position and angle of the cutter has three modules: position adjustment module, rotation control module and scaling module; The position adjustment module allows users to independently translate each cutter copy in the X, Y, and Z directions. The rotation control module provides an Euler angle control window, allowing users to perform arbitrary three-axis rotation operations. The scaling module provides a numerical input box and slider control to adjust the scaling factor of each cutter in the X, Y, and Z directions.
8. The parametric design method for movable parts figures based on Blender secondary development according to claim 1 is characterized in that: The specific steps of the Boolean fusion operation control process to achieve Boolean result accuracy optimization are as follows: Obtain the mesh density of the cutter model and the triangle density of the local area of the tail model, and calculate the fusion ratio of the two to form a Boolean fusion coefficient. The expression is as follows: Where, is the Boolean fusion coefficient, is the cutter body mesh density, is the local mesh density of the target model; In obtaining the Boolean fusion coefficient Finally, the fusion stability threshold is introduced, and the calculation formula is as follows: , where is the fusion stability threshold, It is a fusion regulator; According to the fusion stability threshold ,Directional offset will be implemented on the surface vertices of the cutter model, and the offset vector calculation formula is as follows: Where, It is The unit normal vector of each vertex, is the offset magnitude scaling factor, It is The pre-bias vector of each vertex; Finally, the offset cutter body is imported into the Blender Boolean module, and geometric Boolean operations are performed according to the user-specified fusion logic. The fusion status identification, fusion surface integrity ratio, and generated body patch closure are recorded in real time, thus forming a highly reliable movable part structural model.
Citation Information
Patent Citations
Method of constructing a grey value model and / or a geometric model of an anatomic entity in a 3D digital medical image
EP2006802A1
Joint setting method and joint setting program of three-dimensional model
JP2009230672A
Rib design method, rib design device and rib design program
JP2013114464A
System for creating 3D human body model and method therefor
KR1020110023194A
Three-dimensional scene point cloud data extraction and recognition system based on power distribution network
WO2025102457A1