A movable part hand parameterization design method based on secondary development of Blender
By combining automatic centerline extraction with manual specification, automatic blade scaling, and visual fine-tuning on the Blender platform, the challenges of model recognition and parametric modeling in the design of movable figure parts have been solved, achieving efficient and accurate parametric modeling suitable for mass production.
Patent Information
- Application Number
- CN202510882287.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2045-06-27
AI Technical Summary
Existing technologies lack the ability to automatically identify the geometric structure and extract the central axis of the model in the design of movable parts figurines, resulting in long design cycles, inconvenient modifications, high error rates, inability to adapt to the differentiated characteristics of the model, and lack of efficient parameter control interfaces and modular mechanisms, making it difficult to meet the needs of mass customization production.
By using a Blender-based secondary development approach, the system employs automatic extraction and manual specification of the centerline, combined with automatic scaling and visual fine-tuning of the cutter, to achieve intelligent recognition of the model structure and joint alignment. It provides a graphical interface control module for parametric modeling and utilizes Boolean algorithms to generate movable hinge structures.
It significantly improves design efficiency and accuracy, reduces manual intervention, and is suitable for efficient, batch development processes of movable parts figurines. It also improves the success rate of Boolean operations and structural consistency of models, and meets personalized customization needs.
Smart Images

Figure CN120705931B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of toy design, in particular to a movable part hand-made parameterized design method based on secondary development of Blender. BACKGROUND
[0002] In the current animation, film and game peripheral industry, movable part hand-made is popular because of its high movability and fine modeling. In the traditional hand-made design process, modelers need to manually add and adjust the skeleton structure, hinge parts and movable connecting parts by relying on ZBrush, Maya, Blender and other software. Especially when dealing with complex structures such as spherical joints and hinge joints, the model topology structure needs to be repeatedly operated and verified. This process not only has high technical requirements, but also highly depends on the experience of modelers, resulting in long design cycle, inconvenience to modify, high error rate, and seriously restricting the product iteration speed and personalized customization ability.
[0003] The prior art has the following disadvantages: the prior art still has obvious deficiencies in realizing rapid arrangement and parameterized modeling of joint parts. On the one hand, most of the current design methods lack the ability of automatic recognition and central axis extraction of the model geometric structure, and the modelers need to manually position the key parts. On the other hand, the copying and Boolean operation of joint parts (such as cutter body and connecting structure) generally rely on manual process, cannot adapt to the differentiated characteristics of the model, lack efficient parameter control interface and modularization mechanism. In addition, for joint cutting and position fine-tuning, the existing tools lack a unified interactive interface and automatic logic, which seriously affects the work efficiency and modeling accuracy, especially not suitable for the industrial demand of batch customization production.
[0004] The above information disclosed in the background section is only used to enhance the understanding of the background of the present disclosure, and therefore it can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY
[0005] The purpose of the present application is to provide a movable part hand-made parameterized design method based on secondary development of Blender, which realizes intelligent recognition of model structure and joint alignment by automatically extracting and manually specifying central axis, improves arrangement accuracy, and enhances flexibility and adaptability of parameterized modeling by combining automatic scaling and visual fine-tuning of cutter. The overall scheme significantly improves design efficiency and accuracy, reduces manual intervention, and is suitable for efficient and batch movable part hand-made development process to solve the problems in the background technology.
[0006] In order to achieve the above purpose, the present application provides the following technical scheme: a movable part hand-made parameterized design method based on secondary development of Blender, comprising the following steps:
[0007] Obtain the tail region structure data of the three-dimensional model, analyze the three-dimensional bounding box size, the number of facets and the vertex distribution characteristics of the tail region, and use them to determine the embedding position and layout range of the hinge structure;
[0008] Perform a center axis extraction operation, calculate the covariance matrix based on the vertex point cloud data of the tail region, and extract the feature principal axis by applying the principal component analysis method to generate the tail center axis as the joint alignment reference axis;
[0009] Provide a manual center axis designation function in the user interface, allowing users to clear the original axis and draw a custom center axis based on the default results, improving the controllability and accuracy of the center axis construction;
[0010] Select a preset cutter model and select the number of cutters according to user input, generate multiple cutter copies according to the tail structure characteristics, and automatically adjust the scaling ratio of each copy by analyzing the local point cloud space density and grid number of each cutter;
[0011] Provide a graphical interface control module for fine-tuning the position, direction and size of each cutter copy, allowing users to control the parameter adjustment of each cutter body in real time in the modeling view to adapt to individual design needs;
[0012] Call the Boolean algorithm module embedded in the Blender platform, perform geometric Boolean operations on the model using Boolean addition and subtraction logic, and fuse the cutter model into the tail structure to finally generate a complete three-dimensional hand model with movable hinge structure.
[0013] Preferably, the method for analyzing the tail region structure of the three-dimensional model includes calling the BoundingBox interface of the grid object from Blender, extracting the maximum and minimum 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 for inserting the joint structure;
[0014] At the same time, extract the total number of facets and the number of vertices from the grid object, and determine whether the current region has high structural complexity by setting a threshold. If the number of facets is greater than 1500 or the number of vertices exceeds 3000, automatically adjust the default cutter size ratio to reserve insertion space.
[0015] Preferably, the center axis extraction process uses a PCA-based feature extraction mechanism, and the specific steps are as follows:
[0016] Call the Blender Python API interface to obtain all vertex coordinate information of the tail model and form a three-dimensional point cloud matrix;
[0017] The covariance matrix of the point cloud is calculated by NumPy, and the eigenvalue and eigenvector decomposition is performed, and the principal component direction is extracted as the model principal axis;
[0018] The extraction result is used to construct the joint symmetry axis, which provides a spatial reference system for the subsequent cutter replication direction and arrangement order.
[0019] Preferably, the manual designation of the central axis function is completed through a graphical user interaction window. The user clicks and draws any two points in the Blender modeling view, and a central axis is automatically connected;
[0020] After manual designation is completed, the original automatic extraction result is automatically overlaid, and the manual axis is used as the reference line for all cutter arrangement.
[0021] Preferably, the method for replicating the cutter and adjusting the size includes the following steps:
[0022] According to the obtained tail bounding box length, equidistant division is performed along the axis direction to generate a plurality of candidate insertion points;
[0023] Combined with the central axis direction, equidistant positioning points are constructed along the main axis as cutter placement references;
[0024] When replicating the cutter model, the scale of the original cutter is used as the initial template, and automatic scaling operation is performed according to the grid density near each placement point.
[0025] Preferably, the central axis extraction and cutter position distribution planning specific steps are as follows:
[0026] After obtaining the point cloud data in the tail region 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:
[0027]
[0028] In the formula, is the covariance matrix, is the total number of point clouds, is the th three-dimensional coordinate point, which is in the form of , is the mean center of the point cloud, which represents the center point of the tail point cloud of the model, is the transpose of the vector;
[0029] The eigenvalue decomposition is performed on the covariance matrix to obtain the eigenvector corresponding to the maximum eigenvalue , which is the most significant extension direction of the tail of the model, that is, the central axis direction;
[0030] After obtaining the central axis direction, the point cloud center point is taken as the starting point, linear distribution cutting is performed along the central axis direction, a plurality of cutter insertion points are generated, and the calculation expression is as follows:
[0031]
[0032] In the formula, is the center point position of the first cutter copy, is an index variable, is an arrangement step, is the number of cutter copies;
[0033] A grid surface is sampled around each point with a certain radius, and the average area of the grid surface in the sampling area is counted to reflect the complexity of the local surface of the insertion position.
[0034] 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.
[0035] The position adjustment module allows the user to independently translate each cutter copy in the XYZ three directions, the rotation control module provides an Euler angle control window to allow the user to perform arbitrary three-axis rotation operations, and the scaling module provides a numerical input box and a slider control to adjust the scaling coefficients of each cutter in the X, Y, and Z directions.
[0036] Preferably, the specific steps for optimizing the accuracy of the Boolean result in the Boolean fusion operation control process are as follows:
[0037] The mesh density of the cutter model and the triangular surface density of the local area of the tail model are obtained, and the fusion ratio of the two is calculated to form a Boolean fusion coefficient, and the expression is as follows:
[0038]
[0039] In the formula, is the Boolean fusion coefficient, is the mesh density of the cutter body, is the local mesh density of the target model;
[0040] After obtaining the Boolean fusion coefficient , a fusion stability threshold is introduced, and the calculation formula is as follows: In the formula, is the fusion stability threshold, is the fusion adjustment factor;
[0041] According to the fusion stability threshold The surface vertex of the cutter model will be directionally offset, and the offset vector calculation formula is as follows:
[0042]
[0043] In the formula, is the unit normal vector of the first vertex, is the offset amplitude scale factor, is the pre-offset vector of the first vertex;
[0044] Finally, the offset cutter body is imported into the Blender Boolean module, and the geometric Boolean operation is performed according to the user-specified fusion logic, and the fusion state identifier, fusion surface integrity ratio and generated body surface patch closure are recorded in real time, so as to form a high-reliability movable part structure model.
[0045] In the above technical scheme, the technical effects and advantages provided by the application are as follows:
[0046] The application realizes intelligent recognition and accurate alignment of the model geometry by integrating the automatic extraction algorithm of the central axis and the user-defined axis input mechanism. The system automatically generates the main axis after extracting the model point cloud features, which is used to guide the reasonable distribution of the cutter body in the three-dimensional space. At the same time, if the automatic result does not meet the user's expectation, an alternative axis can be directly specified through the visual interface, greatly improving the flexibility and controllability of the design. This mechanism not only significantly reduces the repetitive operation burden of the modeler when manually positioning the joints, but also effectively avoids the cutting mismatch problem caused by axial deviation, improving the success rate and structural consistency of the model Boolean operation.
[0047] The application combines the automatic scaling adjustment of the cutter copy and the visual fine-tuning interface, significantly improving the efficiency and model adaptability of parameterized modeling. The system automatically evaluates the scaling factor of each cutter according to the tail grid 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, and the modeler can observe and fine-tune the results in real time. This "rough automatic + fine-tuning" design logic not only ensures the universality of the system processing, but also meets the high-precision requirements of complex structures, greatly reducing the manual intervention time in the hand design process of movable parts, and improving the intelligentization and scalability of the overall design process. BRIEF DESCRIPTION OF DRAWINGS
[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description only represent some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art based on these drawings.
[0049] Figure 1 A method flowchart of a movable part hand parameterized design method based on Blender secondary development of the present application. DETAILED DESCRIPTION
[0050] Example implementations will now be described more fully with reference to the accompanying drawings. Example implementations may, however, be implemented in many different forms and should not be construed as limited to the examples set forth herein; rather, these example implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example implementations to those skilled in the art.
[0051] The present application provides a movable part hand parameterized design method based on Blender secondary development as shown in Figure 1 The method comprises the following steps:
[0052] Obtain the tail region structure data of the three-dimensional model, analyze the three-dimensional bounding box size, the number of facets and the vertex distribution characteristics of the tail region, and use them to determine the embedding position and layout range of the hinge structure;
[0053] The method for analyzing the tail region structure of the three-dimensional model comprises calling the BoundingBox interface of the mesh object from Blender, extracting the maximum and minimum values of the model in the X, Y and Z axial boundaries, and constructing a bounding box based on the boundary values to determine the spatial constraint range of the inserted joint structure;
[0054] At the same time, the total number of facets and the number of vertices are extracted from the mesh object. Whether the current region has high structural complexity is judged by setting a threshold. 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, so as to avoid topological errors in subsequent Boolean calculation.
[0055] In addition, the above numerical parameters are recorded in the parameter interface for dynamic calling in the subsequent cutter fine-tuning step, so as to realize the continuous association of structural data and modeling operation.
[0056] The above steps extract key geometric structure information from the tail three-dimensional model, including BoundingBox size, number of facets, and vertex density. Through these data, the system can dynamically evaluate the geometric complexity and available modeling space of the region, thereby providing a basis for subsequent joint component (especially cutter copy) embedding. First, the boundary size is used to determine the position range and operable volume of the joint structure embedding, avoiding joint components exceeding the original model boundary and causing Boolean failure; second, the number of facets and vertices reflects the level of detail and topological complexity of the region, and 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 facet insertion and mesh overlap during the Boolean operation. This step can also pre-judge the local topological integrity, providing constraint conditions for downstream operations such as automatic wiring and Boolean arrangement. In addition, such data can be cached in the system parameter table for dynamic reference by subsequent Boolean fusion, cutter fine-tuning, and arrangement algorithms, achieving a highly coupled parameter control mechanism. Therefore, this step is of great significance in improving the overall intelligence of the system, reducing manual adjustment workload, and improving the matching accuracy of joint components.
[0057] Perform the center axis extraction operation based on the vertex point cloud data of the tail region, calculate the covariance matrix, and apply the principal component analysis method to extract the feature principal axis to generate the tail center axis as the joint alignment reference axis;
[0058] The center axis extraction process uses a PCA-based feature extraction mechanism. The specific steps are as follows:
[0059] Call the Blender Python API interface to obtain all vertex coordinate information of the tail model, and form a three-dimensional point cloud matrix;
[0060] Calculate the covariance matrix of the point cloud using NumPy, and perform eigenvalue and eigenvector decomposition to extract the principal component direction as the model principal axis. This center axis is defined as a vector passing through the model centroid and consistent with the direction of maximum variance in three-dimensional space;
[0061] The extraction result is used to construct the joint symmetry axis, providing a spatial reference frame for the subsequent replication direction and arrangement order of the cutter.
[0062] This operation can significantly improve the accuracy of cutter arrangement and model structure alignment, reducing the probability of cutting misplacement.
[0063] This step extracts the maximum variation direction of the tail model point cloud by the PCA (Principal Component Analysis) algorithm, generating a "main axis" of the three-dimensional structure as a spatial reference line for joint layout. The greatest value of this operation is to automatically regularize the complex model's free structure into an ordered spatial reference system, forming the ability to "abstract" the joint layout direction from the model structure. The axis extracted by the point cloud covariance matrix and eigenvalue decomposition not only accurately reflects the model geometric extension direction, but also has high robustness, even when the model has slight defects or irregular grids. This axis acts as a coordinate reference throughout the system, providing an equidistant strategy for cutter placement and providing precise guidance for model center symmetry. Without this step, the system would be unable to understand the model's geometric structure characteristics and would lose the ability to "automatically adapt to the structure," leading to subsequent automatic cutter placement deviations, overlaps, and even Boolean conflicts. Through this step, the system gains the ability to extract semantic geometric structures from point clouds, laying the foundation for truly "parameter-driven modeling" and is one of the core of the entire automation process.
[0064] A manual center axis designation function is provided in the user interface, allowing users to clear the original axis and draw a custom center axis based on the default results, improving the controllability and accuracy of the center axis construction.
[0065] The manual center axis designation function is completed through a graphical user interface window. Users click and draw any two points in the Blender modeling view to automatically form a center axis. This axis can be translated and rotated through mouse dragging, and a fine input interface for coordinate coefficients is provided to allow users to input specific three-dimensional coordinate values for the starting and ending points.
[0066] After manual designation is complete, the original automatic extraction results will be automatically overlaid, and the manual axis will be used as the reference line for all cutter placement.
[0067] In addition, the system sets an identification bit to record whether the manual axis is enabled, so that user custom settings can be restored when saving the project file, ensuring consistency between multiple modifications.
[0068] This step provides a means for manual supplement and redefinition when the automatic center axis result is insufficient, thereby improving the adaptability of the invention in personalized design and complex structure modeling scenarios. Although the system can automatically extract the center axis through PCA, the model morphology in actual scenarios is quite different, such as cases where symmetry is not obvious, special-shaped modeling, etc. The automatic principal axis may not meet the modeler's expectations for joint direction. This step allows users to directly select points and draw lines to define the axis in the modeling view, and also supports numerical input of coordinate points to construct the structure line. Its role is not only to replace the automatic axis, but more importantly, to establish an interactive adjustment mechanism between man and machine, allowing modelers to adjust the system's geometric understanding results based on visual judgment and design intent. This capability improves model adaptation flexibility, especially for high-end custom hand design, special structure engineering toy model scenarios, and is a key "interface" between model parameterization and manual design. At the same time, the user-defined center axis is also written into the parameter record table for dynamic calling during Boolean arrangement, enhancing the memory and reusability of the entire modeling process.
[0069] Selecting a preset cutter model and selecting the number of cutters according to user input, generating multiple cutter copies according to the tail structure characteristics, and automatically adjusting the scaling ratio of each copy by analyzing the local point cloud space density and grid number where each cutter is located;
[0070] The method for copying and resizing the cutter includes the following steps:
[0071] According to the obtained tail bounding box length, equally divide along the axis direction to generate multiple candidate insertion points;
[0072] Combined with the direction of the center axis, construct equally spaced positioning points along the main axis as cutter placement reference;
[0073] When copying the cutter model, use the scale of the original cutter as the initial template, and automatically scale according to the grid density near each placement point.
[0074] 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 copy to achieve fast recovery when generating in batches.
[0075] This step is responsible for the automatic deployment of the cutter copy along the center axis in the model structure, and dynamically adjusts the size of the copy based on the local point cloud density. Its core function is to generate a large number of cutter components with strong matching and high structural adaptability. Specifically, this step first constructs a plurality of equidistantly distributed points as cutter placement reference positions according to the center axis, and then calculates the scaling factor of each copy according to the local grid density of each point to ensure that the cutter has an appropriate volume in different structural regions, avoiding the situation that the cutter is too large (covering the outside of the model) or too small (unable to form structural connections). This dynamic adjustment mechanism solves the repeated operation pain points of traditional modeling process of "one cutter one adjustment", greatly reducing the labor intensity when designing multiple joint structures. At the same time, the parameters (such as placement position, scaling factor) output by this step will be used as Boolean input items to ensure the spatial accuracy of the geometric fusion process. Therefore, the automatic deployment and dynamic scaling strategy of the cutter is one of the key modules to support the "batch generation, local adaptation" of the entire parametric design process.
[0076] The specific steps of center axis extraction and cutter position distribution planning are as follows:
[0077] After obtaining the point cloud data in the tail region of the model, a three-dimensional coordinate set is constructed, and a covariance matrix of the point cloud data is calculated using mathematical statistical methods. The calculation expression is as follows:
[0078]
[0079] In the formula, 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, and is a 3x3 real symmetric matrix, which is used for subsequent PCA dimensionality reduction analysis, is the total number of point clouds, which represents the number of vertices participating 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 stable, is the th three-dimensional coordinate point, which is in the form of , which is derived from the vertex data of the tail grid model in Blender, and each point represents a vertex on the surface of the model, is the mean center of the point cloud, which represents the center point of the tail point cloud of the model, and is the mean of all , which is used as the reference origin for PCA analysis, is the transpose of the vector, which transposes the row vector to a column vector, making the matrix multiplication effective;
[0080] This matrix describes the distribution of the model point cloud in space in each direction, which is used to measure the main direction trend of its shape.
[0081] The covariance matrix Perform eigenvalue decomposition to obtain the eigenvector corresponding to the maximum eigenvalue , as the most significant extension direction of the tail of the model, that is, the central axis direction;
[0082] The automatic extraction of the central axis direction of the tail model is one of the key steps in the parameterized design process of the application. Specifically, statistical and linear algebra methods are used to process three-dimensional point cloud data to accurately obtain the main extension direction of the model structure. The entire implementation process relies on the Python script interface and numerical calculation library (such as NumPy) of the Blender platform, with high automation and mathematical precision guarantee.
[0083] First, the system calls the tail model grid data interface in the Blender environment, extracts all the vertex coordinates of the region, and saves them in a three-dimensional array form. Then, the geometric center point of all vertices (i.e. the point cloud mean point) is calculated as the reference point for data decentralization. Each vertex coordinate is then difference-operated with the center point to form a point cloud set after mean value processing, so that the overall point cloud is symmetrically developed around the origin, preparing for the calculation of the covariance matrix.
[0084] Next, based on these centralized data, a three-dimensional covariance matrix is constructed. The covariance matrix is an important tool for measuring the correlation between coordinate axes, and each element describes the joint variation of the point cloud in the corresponding coordinate dimension. After the matrix is constructed, the system solves it through eigenvalue decomposition algorithm, obtaining three sets of eigenvalues and corresponding eigenvectors. According to the principle of PCA (Principal Component Analysis), the eigenvector corresponding to the maximum eigenvalue in the covariance matrix is the most stable extension path of the point cloud in space, which is the "central axis direction" we need.
[0085] Subsequently, the system establishes a straight line in space using the direction vector as the reference axis and the model center point extracted earlier, and plans the cutter insertion position on the straight line according to the equidistant principle. The central axis is used for subsequent cutter distribution positioning and provides direction reference for Boolean calculation, achieving structural alignment and aesthetic unity of joint arrangement.
[0086] This automatic central axis extraction process not only improves the degree of design automation and reduces the dependence on manual judgment, but also avoids problems such as central axis deviation and joint misplacement in traditional modeling, ensuring that the final hand structure is both scientific and delicate, and is the technical core of realizing rapid parameterized design of movable parts.
[0087] After obtaining the central axis direction, the point cloud center point is taken as the starting point, and the linear distribution cutting is performed along the central axis direction to generate multiple cutter insertion points, with the calculation expression as follows:
[0088]
[0089] where, is the center point position of the th cutter copy, is the point distributed with the central axis as the reference line, used as the cutter arrangement center, its distribution is controlled by the step size and the number of copies, ensuring that the cutters are evenly distributed along the axis, is the index variable, representing the th cutter copy, starting from 0 and increasing, is the arrangement step size (distance), controlling the distance between cutters, with the unit being the spatial unit in Blender (such as meters or centimeters),
[0090] Sampling the mesh surface within a certain radius around each point and calculating the average area of the mesh surfaces in the sampling area to reflect the complexity of the local surface at the insertion position.
[0091] Subsequent automatic adjustment of the scaling parameters of the cutter body at this position will be based on the average area of the mesh surface to improve the success rate of Boolean operations and connection stability.
[0092] The main role of this step is to establish an automatic spatial analysis and cutter arrangement mechanism for the tail structure of a three-dimensional model, solving the problems of uneven joint arrangement, large position deviation, and heavy manual intervention in the traditional model processing process. The system first extracts the most significant spatial extension direction in the model structure through mathematical methods and constructs a central axis. This axis reflects the main geometric features of the model form and provides a unified reference for the arrangement direction of all subsequent cutters. Then, the system automatically divides multiple equidistant arrangement points in the model structure based on the central axis for placing joint cutter copies. This approach avoids subjective errors in manual point selection, ensuring the symmetry and structural continuity of cutter arrangement.
[0093] Further, the system samples the mesh structure around each arrangement point to evaluate the geometric density of the region, which is used to determine whether the local structure is suitable for placing joint components. This dynamic adaptation capability ensures that each cutter copy is not only reasonably positioned but also consistent in size with the structure it is in, avoiding problems such as excessive embedding of joints or unstable connections. Through the above automated arrangement strategy, the system not only improves design efficiency but also greatly reduces the risk of arrangement errors affecting model integrity, making it a key module for realizing batch, high-precision parameter modeling.
[0094] A graphical interface control module is provided for fine-tuning the position, direction, and size of each cutter copy, allowing users to adjust the parameters of each cutter body in real-time in the modeling view to meet individual design needs.
[0095] 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.
[0096] The position adjustment module allows users to independently translate each cutter copy in XYZ directions. The rotation control module provides an Euler angle control window, allowing users to perform arbitrary three-axis rotation operations. The scaling module provides numerical input boxes and slider controls to adjust the scaling factors of each cutter in X, Y, and Z directions.
[0097] The interface also comes with a real-time preview renderer that dynamically displays the model changes during adjustment. All adjustment parameters are recorded in the cache and called uniformly during the final Boolean operation, ensuring the spatial accuracy and consistency of the Boolean calculation results.
[0098] This step provides a graphical interactive interface to visually fine-tune the multi-dimensional parameters (position, rotation, scaling) of the cutter copy. It is an important interface layer for human-computer collaboration. Its role is to compensate for the limitations of automatic layout and scaling algorithms, providing a manual fine-tuning compensation mechanism. This allows modelers to intuitively adjust the spatial arrangement of the cutter in the model without leaving the modeling environment. Each cutter body can be translated in XYZ directions, rotated by inputting angles, or adjusted for XYZ scaling factors to accurately control the volume ratio. This three-dimensional interactive adjustment capability significantly improves customization accuracy and is suitable for industrial scenarios with strong model detail differentiation or high design tolerance requirements. In addition, the adjustment interface provides dynamic rendering feedback, allowing users to observe model changes in real-time during adjustment, effectively reducing trial and error costs. All adjustment results are cached in the system parameter table in real-time, ensuring that previous settings are inherited during Boolean processing and model updates, improving the consistency and efficiency of the entire system operation.
[0099] Call the embedded Boolean algorithm module in the Blender platform to perform geometric Boolean operations on the model using Boolean addition and subtraction logic, merging the cutter model into the tail structure, and finally generating a complete three-dimensional model with movable hinge structure.
[0100] The specific steps for implementing Boolean result precision optimization in the Boolean fusion operation control process are as follows:
[0101] Obtain the mesh density of the cutter model (such as the number of triangular faces per unit area) and the triangular face density of the local area of the tail model, and calculate the fusion ratio of the two, forming the Boolean fusion coefficient, expressed as follows:
[0102]
[0103] In the formula, is the Boolean fusion coefficient, which measures the matching degree of the cutter model and the target model in terms of grid density, and is the basic control parameter for subsequent adjustment operations. The closer the value is to 1, the more the cutter matches the local structure complexity of the model, and the higher the success probability of the Boolean operation; both a too large or too small value indicate the risk of potential fusion failure, is the cutter body grid density, which refers to the number of triangular faces contained in the cutter model per unit area, and is usually calculated by "number of faces ÷ projected area of faces", reflecting the detailed complexity of the cutter model, which is an important factor affecting the calculation accuracy and processing load of the Boolean operation, is the local grid density of the target model, which is the local triangular grid density of the model at the cutter insertion position, obtained by analyzing the number of triangular faces within a certain radius around the insertion point divided by the area of the local surface, and is used to determine whether the local structure of the target model is suitable for the current cutter granularity;
[0104] The Boolean fusion coefficient is used to evaluate the adaptation of the cutter and the target area in terms of grid complexity, and the closer the value is to 1, the more stable the fusion is.
[0105] After obtaining the Boolean fusion coefficient , a fusion stability threshold is introduced, and the calculation formula is as follows: , wherein is the fusion stability threshold, which is an adjustment control quantity calculated based on the fusion coefficient, used to determine whether to perform an offset operation on the cutter model; the larger the value, the greater the difference in grid density, and the stronger the correction operation needed to improve the stability of the Boolean fusion, is the fusion adjustment factor, which is a scalar parameter set by the system, controlling the overall adjustment amplitude, and is usually set through experiments, such as , used to balance the risk of excessive offset and insufficient correction;
[0106] The fusion stability threshold is used to perform a small pre-offset adjustment on the cutter model before grid Boolean, to ensure that the calculation does not fail due to face overlap or intersection.
[0107] According to the fusion stability threshold , directional offset will be performed on the surface vertices of the cutter model, and the offset vector calculation formula is as follows:
[0108]
[0109] , wherein is the unit normal vector of the th vertex, which defines the outward direction of each vertex as the basis for the direction of the offset, and is usually directly extracted from the surface normal of the cutter model, used to ensure that the offset always develops along the model surface normal, maintaining the consistency of the cutter geometry, is the offset amplitude scale factor, which controls the scaling parameter of the vertex movement distance, usually set between 0.05-0.3; used to adjust the absolute length of the offset vector, which needs to realize geometric separation under the premise of ensuring shape distortion, is the pre-offset vector of the th vertex, the offset generated for each cutter vertex, used to move the vertex from the original position along its normal vector direction, avoid face overlap or penetration in Boolean operation, and improve topological closure;
[0110] This operation can optimize the Boolean fusion compatibility of the cutter interface and the original model without changing the overall shape of the model.
[0111] Finally, the offset cutter body is imported into the Blender Boolean module, and the geometric Boolean operation is performed according to the user-specified fusion logic (addition or subtraction), and the fusion state identifier, fusion face integrity ratio, and generated body face patch closure are recorded in real time, thereby forming a highly reliable movable structure model.
[0112] The core role of this step is to improve the robustness of the Boolean operation and the stability of the model fusion, solving common problems such as Boolean failure and model fracture caused by factors such as grid density difference and poor boundary contact in actual modeling process. Before performing the Boolean operation, the system first analyzes the matching relationship between the cutter model and the target model in terms of structural complexity and grid density, and evaluates its potential fusion difficulty. This analysis helps the system identify high-risk areas that may cause Boolean conflicts, providing data support for subsequent geometric optimization.
[0113] Subsequently, the system adjusts the small displacement of the cutter model in space to keep the normal direction of the contact area of the target model in a more coordinated contact state, avoiding sharp corners and overlapping problems. This displacement strategy effectively buffers the topological boundary differences between the two models, significantly reducing the Boolean abnormal phenomena caused by geometric discontinuity. This mechanism also has adaptability and can dynamically adjust the cutter offset strategy according to the changes in model structure, thereby enhancing the system's compatibility with diverse model structures. Finally, the system can stably and efficiently complete the geometric merging of the cutter and the tail structure, outputting a complete, smooth, and reliable three-dimensional movable structure, significantly improving the modeling quality and structural integrity.
[0114] The application realizes intelligent recognition and accurate alignment of the model geometry by integrating the automatic extraction algorithm of the central axis and the user-defined axis input mechanism. The system automatically generates the main axis after extracting the point cloud features of the model, which is used to guide the reasonable distribution of the cutter body in the three-dimensional space. At the same time, if the automatic result does not meet the user's expectation, an alternative axis can be directly specified through the visual interface, greatly improving the flexibility and controllability of the design. This mechanism not only significantly reduces the repetitive operation burden of the modeler when manually positioning the joints, but also effectively avoids the cutting mismatch problem caused by the axial deviation, improving the success rate and structural consistency of the model Boolean operation.
[0115] The application combines the automatic scaling adjustment of the cutter copy and the visual fine-tuning interface, significantly improving the efficiency and model adaptability of parameterized modeling. The system automatically evaluates the scaling factor of each cutter according to the tail grid density, so that it can be reasonably embedded in different geometric areas. At the same time, three-axis displacement, rotation, and scaling fine-tuning functions are provided, and the modeler can observe and fine-tune the results in real time. This "rough automatic + fine-tuning" design logic not only ensures the universality of the system processing, but also meets the high-precision requirements of complex structures, greatly reducing the manual intervention time in the active part design process, and improving the intelligentization and scalability of the overall design process.
[0116] The above formulas are dimensionless numerical calculations, and the formulas are obtained by software simulation of a large amount of data to obtain the most recent real situation. The preset parameters in the formula are set by a person skilled in the art according to the actual situation.
[0117] The above only describes some exemplary embodiments of the application by way of illustration, and it is not difficult for a person of ordinary skill in the art to modify the described embodiments in various ways without departing from the spirit and scope of the application. Therefore, the above figures and descriptions are illustrative in nature and should not be construed as limiting the scope of protection of the claims of the application.
[0118] It should be noted that in this paper, if there are relationship terms such as first and second, 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 the entities or operations. Moreover, the terms "include", "contain" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or equipment. Without more limitations, the element defined by the statement "including a" does not exclude the presence of another identical element in the process, method, article or equipment including the element.
[0119] It should be understood that the magnitude of the sequence number of each process described above does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0120] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0121] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
[0122] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on multiple network units. Part or all of the units can be selected to achieve the purpose of the embodiments according to actual needs.
[0123] In addition, each functional unit in each embodiment of the present application can be integrated into one processing unit, or each unit can exist physically, or two or more units can be integrated into one unit.
[0124] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any skilled person in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
[0125] The above only describes some exemplary embodiments of the present application by way of illustration, and it is needless to say that those skilled in the art can modify the described embodiments in various ways without deviating from the spirit and scope of the present application. Therefore, the above figures and descriptions are illustrative in nature and should not be understood as limiting the scope of protection of the claims of the present application.
Claims
1. A movable part hand parameterization design method based on Blender secondary development, characterized in that, The method comprises the following steps: Obtain the tail region structure data of the three-dimensional model, analyze the three-dimensional bounding box size, the number of patches and the vertex distribution characteristics of the tail region, and use the same to determine the embedding position and layout range of the hinge structure; Perform a center axis extraction operation, calculate a covariance matrix based on the vertex point cloud data of the tail region, apply a principal component analysis method to extract a characteristic principal axis, and generate a tail center axis as a joint alignment reference axis; Provide a manual center axis designation function in the user interface, allow the user to clear the original axis and draw a custom center axis based on the default result, and improve the controllability and accuracy of the center axis construction; Select a preset cutter model, select the number of cutters according to user input, generate multiple cutter copies according to the tail structure characteristics, and automatically adjust the scaling ratio of each copy by analyzing the local point cloud space density and the number of grids where each cutter is located; Provide a graphical interface control module for fine-tuning the position, direction and size of each cutter copy, allowing the user to control the parameter adjustment of each cutter body in real time in the modeling view to adapt to individual design requirements; Call the Boolean algorithm module embedded in the Blender platform, perform geometric Boolean operations on the model using Boolean addition and subtraction logic, fuse the cutter model into the tail structure, and finally generate a complete three-dimensional hand model with movable hinge structure; The manual center axis designation function is completed through a graphical user interface window. The user clicks and draws any two points in the Blender modeling view to automatically connect a center axis; After manual designation is completed, the original automatic extraction result is automatically overlaid, and the manual axis is used as the reference line for all cutter arrangement; The method for copying the cutter and adjusting the size comprises the following steps: According to the obtained tail bounding box length, equally divide the axis direction to generate multiple candidate insertion points; Combine the center axis direction and construct equally spaced positioning points along the principal axis as cutter placement references; When copying the cutter model, use the original cutter scale as the initial template, and automatically scale according to the grid density near each placement point.
2. The method according to claim 1, wherein, The method for analyzing the tail region structure of the three-dimensional model comprises calling the BoundingBox interface of the grid object from Blender, extracting the maximum and minimum 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 for inserting the joint structure; Meanwhile, the total number of patches and the number of vertices are extracted from the grid object. By setting a threshold, it is determined whether the current region has high structural complexity. If the number of patches 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 method according to claim 1, wherein, The center axis extraction process adopts a feature extraction mechanism based on PCA and the specific steps are as follows: Call the Blender Python API interface to obtain all vertex coordinate information of the tail model, and form a three-dimensional point cloud matrix; Calculate the covariance matrix of the point cloud through NumPy, and perform eigenvalue and eigenvector decomposition to extract the principal component direction as the model principal axis; The extraction result is used to construct the joint symmetry axis, which provides a spatial reference system for the subsequent cutter replication direction and arrangement order.
4. The method of claim 1, wherein, The specific steps of the central axis extraction and cutter position distribution planning are as follows: After obtaining the point cloud data in the tail region 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: wherein is a covariance matrix, is the total number of point clouds, is the i-th three-dimensional coordinate point in the form of , , is the mean center of point clouds, representing the center point of the tail point cloud of the model, is the transpose of a vector; performing eigenvalue decomposition on the covariance matrix obtaining an eigenvector corresponding to the largest eigenvalue as the most significant direction of extension of the tail of the model, i.e. the direction of the central axis After obtaining the direction of the central axis, use the center point of the point cloud. Starting from the central axis, a linear distribution is performed along the axis to generate multiple cutter insertion points. The calculation expression is as follows: wherein is the center point position of the th cutter copy, is an index variable, is the arrangement step size, is the number of cutter copies; Sample the mesh surface with a certain radius around each point and count the average area of the mesh faces in the sampling region to reflect the complexity of the local surface at the insertion position.
5. The method of claim 1, wherein, The graphical interface for position and angle fine-tuning 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 XYZ directions, the rotation control module provides an Euler angle control window to allow users to perform arbitrary three-axis rotation operations, and the scaling module provides numerical input boxes and slider controls to adjust the scaling coefficients of each cutter in X, Y, and Z directions.
6. The method of claim 1, wherein the method further comprises: The specific steps of the Boolean fusion operation control flow to optimize the accuracy of the Boolean result are as follows: The mesh density of the cutter model and the triangular face density of the local region of the tail model are obtained, and the fusion ratio of the two is calculated to form the Boolean fusion coefficient. The expression is as follows: wherein is the Boolean fusion coefficient, is the cutter body mesh density, is the target model local mesh density; In obtaining the Boolean fusion coefficient After that, the fusion stability threshold is introduced, and the calculation formula is as follows: , wherein is the fusion stability threshold, is the fusion adjustment factor; According to the fusion stability threshold , the cutter model surface vertex will be subjected to directional offset, and the offset vector calculation formula is as follows: wherein is the unit normal vector of the th vertex, is the offset magnitude scale factor, is the pre-offset vector of the th vertex; Finally, the offset processed cutter body is imported into the Blender Boolean module, and geometric Boolean operations are performed according to the user specified fusion logic. The fusion state identifier, fusion face integrity ratio, and generated body face patch closure are recorded in real time, thereby forming a high-reliability movable part structure model.
Citation Information
Patent Citations
System for creating 3D human body model and method therefor
KR1020110023194A