Method, device and equipment for generating 3D printing process parameters, medium and product
By adaptively generating process parameters and adjusting the surface normal vector and attitude angle, the accuracy problem of 3D printing complex curved surfaces and overhanging structures is solved, achieving higher printing accuracy and stability.
Patent Information
- Application Number
- CN202511545522.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2025-11-28
AI Technical Summary
In existing technologies, fixed control strategies cannot generate accurate process parameters, resulting in poor accuracy in 3D printing complex curved surfaces or overhanging structures. In particular, when printing complex structures such as aero-engine impellers, there are problems such as molten filament flowing or collapsing.
By receiving the geometric data of the 3D model, performing layered processing and calculations, determining the surface normal vector and the orientation angle of the printed part, adaptively generating process parameters, including the printhead movement path, filament feeding speed, and laser power, and dynamically adjusting the printing process to improve accuracy.
It improves the accuracy and stability of 3D printing, avoids the flow and collapse of filament in complex structures, and enhances the surface smoothness of printed parts and the stability of overhanging parts.
Smart Images

Figure CN121018949A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of additive manufacturing, and particularly relates to a 3D printing process parameter generation method, device, equipment, medium and product. BACKGROUND
[0002] In the additive manufacturing application scenario, the accuracy of the finished product can be effectively improved by combining laser wire feeding. The laser and the wire material are synchronously delivered to the predetermined position through the printing head, and are fused and deposited layer by layer to manufacture a dense printed part.
[0003] In the related art, a process parameter is generated by a fixed control strategy to control a printing device to perform 3D printing according to the process parameter.
[0004] However, the fixed control strategy cannot generate accurate process parameters for a printed part with a complex curved surface or overhanging structure, resulting in poor 3D printing accuracy. SUMMARY
[0005] Embodiments of the present application provide a 3D printing process parameter generation method, device, equipment, medium and product to improve the accuracy of 3D printing.
[0006] In a first aspect, an embodiment of the present application provides a 3D printing process parameter generation method, comprising: receiving a 3D printing request, the 3D printing request comprising a target three-dimensional model and geometric data of the target three-dimensional model; performing layering processing on the target three-dimensional model according to the geometric data to obtain layering parameters, the layering parameters comprising the position of each layer and the thickness of each layer; performing layering calculation on the target three-dimensional model according to the geometric data and the layering parameters to obtain a surface normal vector corresponding to a contact point of a surface of the target three-dimensional model; determining a printed part attitude angle according to the surface normal vector; and generating process parameters according to the printed part attitude angle, the geometric data and the layering parameters.
[0007] In a possible implementation, the layering processing on the target three-dimensional model according to the geometric data to obtain layering parameters comprises: determining a curvature distribution of a surface of the target three-dimensional model according to the geometric data; determining a curvature threshold and a curvature interval according to the curvature threshold; and performing layering processing on the target three-dimensional model according to the curvature distribution and the curvature interval to obtain the layering parameters, wherein the thickness of each layer corresponds to the curvature interval in which the curvature of each layer is located.
[0008] In a possible implementation, the method further includes: determining a posture angle change rate according to the posture angle of the printed object; determining a change rate threshold; determining a sudden contact point from the contact points according to the posture angle change rate and the change rate threshold; and performing smoothing processing on a segment in which the sudden contact point is located in the movement path of the print head by using a piecewise interpolation algorithm.
[0009] In a possible implementation, the method further includes: determining a posture angle change rate according to the posture angle of the printed object; determining a change rate threshold; determining a sudden contact point from the contact points according to the posture angle change rate and the change rate threshold; and performing smoothing processing on a segment in which the sudden contact point is located in the movement path of the print head by using a piecewise interpolation algorithm.
[0010] In a possible implementation, the method further includes: determining a posture angle change rate according to the posture angle of the printed object; determining a change rate threshold; determining a sudden contact point from the contact points according to the posture angle change rate and the change rate threshold; and performing smoothing processing on a segment in which the sudden contact point is located in the movement path of the print head by using a piecewise interpolation algorithm.
[0011] In a possible implementation, the method further includes: determining a posture angle change rate according to the posture angle of the printed object; determining a change rate threshold; determining a sudden contact point from the contact points according to the posture angle change rate and the change rate threshold; and performing smoothing processing on a segment in which the sudden contact point is located in the movement path of the print head by using a piecewise interpolation algorithm.
[0012] In a possible implementation, the method further includes: determining a posture angle change rate according to the posture angle of the printed object; determining a change rate threshold; determining a sudden contact point from the contact points according to the posture angle change rate and the change rate threshold; and performing smoothing processing on a segment in which the sudden contact point is located in the movement path of the print head by using a piecewise interpolation algorithm.
[0013] In a second aspect, an embodiment of the present application provides a device for generating 3D printing process parameters, comprising: a receiving module configured to receive a 3D printing request, the 3D printing request comprising a target three-dimensional model and geometric data of the target three-dimensional model; a layering module configured to perform layering processing on the target three-dimensional model according to the geometric data to obtain layering parameters, the layering parameters comprising a position of each layer and a thickness of each layer; a calculating module configured to perform layering calculation on the target three-dimensional model according to the geometric data and the layering parameters to obtain a surface normal vector corresponding to a contact point of a surface of the target three-dimensional model; a determining module configured to determine a printing part attitude angle according to the surface normal vector; and a generating module configured to generate process parameters according to the printing part attitude angle, the geometric data, and the layering parameters.
[0014] In a possible implementation, the layering module is specifically configured to determine a curvature distribution of the surface of the target three-dimensional model according to the geometric data; the layering module is specifically further configured to determine a curvature threshold and determine a curvature interval according to the curvature threshold; and the layering module is specifically further configured to perform layering processing on the target three-dimensional model according to the curvature distribution and the curvature interval to obtain the layering parameters, the thickness of each layer corresponding to a curvature interval in which the curvature of each layer is located.
[0015] In a possible implementation, the calculating module is specifically configured to determine a scanning strategy corresponding to each layer according to the geometric data and the layering parameters, the scanning strategy comprising at least one of the following: reciprocating scanning, contour biasing, and spiral scanning; the calculating module is specifically further configured to generate a printing head movement path corresponding to each layer according to the scanning strategy; the calculating module is specifically further configured to determine a path point on the printing head movement path as the contact point on the surface of the target three-dimensional model according to the geometric data; and the calculating module is specifically further configured to calculate the surface normal vector corresponding to the contact point according to the geometric data.
[0016] In a possible implementation, the device further comprises a smoothing module configured to determine an attitude angle change rate according to the printing part attitude angle; the smoothing module is further configured to determine a change rate threshold; the smoothing module is further configured to determine a sudden change contact point from the contact points according to the attitude angle change rate and the change rate threshold; and the smoothing module is further configured to perform smoothing processing on a segment in which the sudden change contact point is located in the printing head movement path by using a piecewise interpolation algorithm.
[0017] In a possible implementation, the determining module is specifically configured to convert the normal vectors of the curved surface respectively by using an inverse kinematics model to obtain first and second rotation angles of the printed object corresponding to the contact points; and the determining module is specifically further configured to determine that the posture angle of the printed object includes the first and second rotation angles of the printed object corresponding to the contact points.
[0018] In a possible implementation, the generating module is specifically configured to determine a printing speed, a wire feeding speed reference value, and a power reference value; the generating module is specifically further configured to calculate a wire feeding speed corresponding to the contact points according to the printing speed, the layering parameter, and the wire feeding speed reference value; the generating module is specifically further configured to calculate a laser power corresponding to the contact points according to the printing speed, the layering parameter, and the power reference value; and the generating module is specifically further configured to determine that the process parameter includes a print head movement path, the posture angle of the printed object, the wire feeding speed, and the laser power.
[0019] In a possible implementation, the apparatus further includes an analogizing module configured to generate a control instruction according to the process parameter; the analogizing module is further configured to send the control instruction to a three-dimensional dynamic simulator to instruct the three-dimensional dynamic simulator to simulate execution of 3D printing according to the process parameter and perform testing to obtain an analogizing result, the analogizing result including analogizing passing or analogizing failing; and the analogizing module is further configured to optimize the process parameter and perform alarm processing if the analogizing result is analogizing failing.
[0020] In a third aspect, an embodiment of the present application provides a 3D printing process parameter generation device, including: a memory, a processor;
[0021] The memory stores computer execution instructions;
[0022] The processor executes the computer execution instructions stored in the memory, so that the processor executes the first aspect and / or various possible implementation manners of the first aspect.
[0023] In a fourth aspect, an embodiment of the present application provides a nonvolatile computer readable storage medium, the nonvolatile computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by a processor to implement the first aspect and / or various possible implementation manners of the first aspect.
[0024] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, and the computer program is executed by a processor to implement the first aspect and / or various possible implementation manners of the first aspect.
[0025] This application provides a method, apparatus, device, medium, and product for generating 3D printing process parameters. The method includes: receiving a 3D printing request, the request including a target 3D model and geometric data of the target 3D model; performing layer processing on the target 3D model based on the geometric data to obtain layer parameters, the layer parameters including the position and thickness of each layer; performing layer calculation on the target 3D model based on the geometric data and the layer parameters to obtain surface normal vectors corresponding to contact points on the surface of the target 3D model; determining the orientation angle of the printed part based on the surface normal vectors; and generating process parameters based on the orientation angle of the printed part, the geometric data, and the layer parameters. This solution, through layer processing, adaptively sets matching process parameters at different curvature positions of the target 3D model, thereby improving the accuracy of 3D printing. Attached Figure Description
[0026] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0027] Figure 1 A schematic diagram illustrating an application scenario of a method for generating 3D printing process parameters provided in this application embodiment;
[0028] Figure 2 A flowchart illustrating a method for generating 3D printing process parameters provided in this application embodiment;
[0029] Figure 3 A flowchart illustrating another method for generating 3D printing process parameters provided in this application embodiment;
[0030] Figure 4 A schematic diagram of the surface normal vector provided in the embodiments of this application;
[0031] Figure 5 A schematic diagram illustrating process parameter compensation provided in an embodiment of this application;
[0032] Figure 6 A schematic diagram of the overall process flow for generating process parameters provided in the embodiments of this application;
[0033] Figure 7 A schematic diagram of a 3D printing process parameter generation device provided in an embodiment of this application;
[0034] Figure 8 A schematic diagram of the structure of another 3D printing process parameter generation device provided in an embodiment of this application;
[0035] Figure 9This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0036] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0037] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0038] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0039] It should be noted that the phrase "at...time" in the embodiments of this application can refer to the instant at which a certain situation occurs, or to a period of time after the occurrence of a certain situation; the embodiments of this application do not specifically limit this. Furthermore, the display interface provided in the embodiments of this application is merely an example, and the display interface may include more or less content.
[0040] It should be noted that the method, apparatus, equipment, medium and products for generating 3D printing process parameters in this application can be used in the field of additive manufacturing technology, or in any field other than additive manufacturing. The application fields of the method, apparatus, equipment, medium and products for generating 3D printing process parameters in this application are not limited.
[0041] Figure 1This is a schematic diagram illustrating an application scenario of a method for generating 3D printing process parameters provided in this application embodiment. The following scenario is illustrated: a corresponding three-dimensional model is established based on the dimensions of the target printed part; corresponding process parameters are generated based on the three-dimensional model; and the printing equipment is controlled to perform 3D printing using the process parameters to obtain the target printed part.
[0042] For example, the printing device includes a printhead and a base, the printhead being used to deliver laser and filament, and the base being used to support the print and adjust the orientation angle of the print.
[0043] In related technologies, process parameters corresponding to a 3D model are generated according to a fixed strategy. These process parameters include the movement path of the print head along the surface of the 3D model and the fixed attitude angle of the base.
[0044] However, for printed parts with complex curved surfaces or overhanging structures, such as aero-engine impellers and turbine blades, the printed parts obtained by controlling the print head solely through a moving path differ from the 3D model, resulting in low 3D printing accuracy. For example, in related technologies, the curved surfaces of printed parts printed using a fixed attitude angle suffer from insufficient smoothness, and the overhanging parts of printed parts printed using a fixed attitude angle suffer from low stability.
[0045] With the help of scenario examples, in related technologies, because the posture of the printed part cannot be dynamically adjusted with the surface normal, and the process parameters cannot compensate for the physical effects caused by the posture changes in real time, the molten filament will flow or collapse due to gravity when printing the suspended structure, resulting in poor 3D printing accuracy.
[0046] The method for generating 3D printing process parameters provided in this application aims to solve the above-mentioned technical problems in the prior art.
[0047] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0048] Figure 2 A flowchart illustrating a method for generating 3D printing process parameters provided in this application embodiment is shown. The method includes the following steps:
[0049] S201. Receive a 3D printing request, which includes a target 3D model and its geometric data.
[0050] For example, a 3D printing request is used to trigger the generation of process parameters, which are then used for 3D printing.
[0051] For example, the target 3D model is obtained by modeling the dimensions of the printout as required, and the geometric data of the target 3D model corresponds to the dimensions of the printout.
[0052] For example, the geometric data includes the overall dimensions of the target 3D model and the dimensions of each local location.
[0053] S202. Based on the geometric data, perform layering processing on the target 3D model to obtain layering parameters, including the position and thickness of each layer.
[0054] For example, the target 3D model is layered based on the curvature distribution at each location, resulting in multiple layers. Each layer is identified by its location. The thickness of each layer is determined by its curvature.
[0055] Specifically, for high curvature areas (such as small radius fillets or complex curved surfaces), a thinner layer thickness is set to capture details and avoid stair-step effects. For low curvature areas (such as flat surfaces), a thicker layer thickness is set to improve 3D printing efficiency.
[0056] As illustrated by the scenario example, different locations on the printed part have different thicknesses. In related technologies, process parameters generated using fixed strategies cannot be dynamically adjusted according to changes in thickness, resulting in process parameters that fail to match the thickness and thus affecting the accuracy of 3D printing.
[0057] To illustrate with a scenario example, taking an aircraft impeller as an example, a layer thickness of 0.15mm is used for complex blade areas, while a layer thickness of 0.3mm is used for simple hub areas.
[0058] Based on the above implementation methods, layered processing can effectively improve the accuracy of 3D printing for high curvature locations.
[0059] S203. Based on the geometric data and layering parameters, perform layered calculations on the target 3D model to obtain the surface normal vectors corresponding to the contact points on the surface of the target 3D model.
[0060] For example, the contact point is the point where the filament deposited by the print head contacts the surface of the target 3D model. The print continuously moves, delivering laser and filament at each contact point as the print head reaches it, until the print head passes through each contact point to complete the 3D printing. The laser is used to melt the deposited filament, thereby effectively bonding the new filament to the existing filament.
[0061] For example, the surface normal vector represents the direction of each contact point. The surface normal vector is calculated to determine the printhead attitude angle so that the surface of the printhead moves in accordance with the nozzle movement of the printhead, thereby making the nozzle of the printhead perpendicular to the surface of the printhead.
[0062] S204. Determine the orientation angle of the printed part based on the surface normal vector.
[0063] For example, for the surface normal vector, the corresponding orientation angle of the printed part is determined so that the base can dynamically adjust the printed part to the appropriate orientation angle during the 3D printing process.
[0064] With the example of a scenario, for printed parts with a suspended structure, determining the orientation angle of the printed part corresponding to the normal vector of the curved surface can accurately deposit the filament at the specified position without the need for a supporting structure, thus preventing the filament from falling off.
[0065] S205. Generate process parameters based on the orientation angle, geometric data, and layering parameters of the printed part.
[0066] For example, process parameters for each dimension are generated based on the printout's orientation angle, geometric data, and layering parameters.
[0067] For example, process parameters include, but are not limited to, at least one of the following: printhead attitude angle, printhead travel path, filament feed speed, and laser power. The printhead attitude angle indicates the orientation position of the printhead. The printhead travel path indicates the three-dimensional coordinates of each position where the printhead performs printing; as the printhead moves, the position of the printhead on the printhead moves relative to it, and the printed positions constitute the printhead travel path. The filament feed speed indicates the speed at which the printhead deposits the filament. The laser power indicates the laser emission power of the printhead.
[0068] The 3D printing process parameter generation method provided in this application embodiment receives a 3D printing request, which includes a target 3D model and its geometric data. Based on the geometric data, the target 3D model is layered to obtain layer parameters, including the position and thickness of each layer. Based on the geometric data and layer parameters, layer calculations are performed on the target 3D model to obtain the surface normal vectors corresponding to the contact points on the target 3D model surface. Based on the surface normal vectors, the printable part's attitude angle is determined. Based on the printable part's attitude angle, geometric data, and layer parameters, process parameters are generated. This scheme, through layer processing, adaptively sets matching process parameters at different curvature positions of the target 3D model, thereby improving the accuracy of 3D printing.
[0069] Based on any of the above embodiments, the following, in conjunction with Figure 3 This section provides a detailed explanation of the process for generating 3D printing process parameters.
[0070] Figure 3 This is a schematic flowchart illustrating another method for generating 3D printing process parameters provided in an embodiment of this application. Figure 3As shown, the method includes:
[0071] S301. Receive a 3D printing request, which includes a target 3D model and its geometric data.
[0072] It should be noted that the execution process of S301 is the same as that of S201, and will not be repeated here.
[0073] S302. Based on the geometric data, determine the curvature distribution of the surface of the target three-dimensional model.
[0074] For example, the curvature distribution represents the curvature value at each location on the surface of the target 3D model.
[0075] For example, based on geometric data, the curvature value at each location on the surface of the target 3D model is calculated using methods such as differential geometry. A larger curvature value indicates a greater degree of bending, and a smaller curvature value indicates a lesser degree of bending.
[0076] S303. Determine the curvature threshold and determine the curvature range based on the curvature threshold.
[0077] For example, the curvature space is divided according to a curvature threshold. Layering is performed by using curvature intervals.
[0078] Optionally, the number of curvature thresholds can be determined based on the complexity of the target 3D model. The more complex the target 3D model, the more curvature thresholds should be set to increase the number of curvature intervals. By adjusting the number of curvature intervals, the adaptive generation process parameters can be refined, thereby improving the accuracy of 3D printing.
[0079] Based on scenario examples, several curvature thresholds are set: 0.05, 0.2, 0.5 (units are...). Based on multiple curvature thresholds, it is divided into multiple curvature intervals: [0, 0.05) corresponds to the extremely low curvature region; [0.05, 0.2) corresponds to the low curvature region; [0.2, 0.5) corresponds to the medium curvature region; [0.5, +∞) corresponds to the high curvature region.
[0080] S304. Based on the curvature distribution and curvature interval, the target 3D model is layered to obtain layer parameters. The thickness of each layer corresponds to the curvature interval in which the curvature of each layer is located.
[0081] For example, the curvature interval to which each location belongs is determined based on the curvature distribution at each location, and the thickness of each layer is set based on the curvature interval to which each location belongs.
[0082] Optionally, the mapping relationship between curvature range and thickness can be pre-configured to determine the thickness of each layer.
[0083] Based on the above implementation methods, by using layered processing, the location of different curvature characteristics on the surface of the target 3D model can be distinguished, thereby adaptively setting matching process parameters for different locations to improve the accuracy of 3D printing.
[0084] S305. Based on the geometric data and layer parameters, determine the scanning strategy corresponding to each layer. The scanning strategy includes at least one of the following: reciprocating scanning, contour offset, and spiral scanning.
[0085] For example, an adaptive scanning strategy is assigned based on geometric data (e.g., contour shape, curvature distribution, etc.) and layering parameters.
[0086] Optionally, reciprocating scan is suitable for low curvature, flat areas. Contour offset is suitable for high curvature, complex contours. Helical scan is suitable for bodies of revolution and uniform surfaces.
[0087] With scenario examples, reciprocating scanning is suitable for large, regular core-filling areas to achieve the most efficient filament deposition. Contour offset is suitable for high-curvature boundaries and complex contours, prioritizing the geometric accuracy and surface quality of the outer contour through a continuous path of inward offset. Spiral scanning is suitable for circular or rotating features, generating smooth, continuous paths and avoiding surface defects caused by frequent start-stop cycles.
[0088] S306. Generate the printhead movement path for each layer according to the scanning strategy.
[0089] For example, based on the scanning strategy selected for each layer, the algorithm automatically calculates the specific movement trajectory of the printhead center point within that layer, that is, generates a set of path points containing X, Y, and Z coordinates as the printhead movement path.
[0090] S307. Based on the geometric data, determine the contact points of the path points on the print head's moving path on the surface of the target 3D model.
[0091] For example, the path points along the printhead's movement path (representing the location of the printhead's center) are geometrically projected back onto the surface of the target 3D model to determine the contact point corresponding to each path point. The contact point precisely defines the location where the filament should be deposited.
[0092] Optionally, geometric projection can be performed along the printhead axis or the build direction.
[0093] S308. Based on the geometric data, calculate the surface normal vector corresponding to the contact point.
[0094] For example, at each contact point, the surface normal vector is calculated in real time using differential geometry based on the curvature distribution. This vector is perpendicular to the tangent plane of the model surface at the contact point.
[0095] Below, in conjunction with Figure 4 The normal vector of the surface is explained.
[0096] Figure 4 This is a schematic diagram of the surface normal vector provided in an embodiment of this application. (See diagram below.) Figure 4 As shown, based on the curvature of each contact point, the surface normal vector (denoted by N) corresponding to each contact point is determined, and each surface normal vector is perpendicular to the tangent plane of the corresponding contact point.
[0097] Based on the above implementation methods, by calculating the surface normal vector, the deposition angle of the filament can be accurately determined, avoiding collapse defects caused by geometric errors, thereby improving the accuracy of 3D printing.
[0098] S309. Determine the orientation angle of the printed part based on the surface normal vector.
[0099] One feasible implementation method is to determine the orientation angle of the printed part by: transforming the surface normal vectors using an inverse kinematics model to obtain the first rotation angle and the second rotation angle of the printed part corresponding to the contact point; determining the orientation angle of the printed part includes the first rotation angle and the second rotation angle of the printed part corresponding to the contact point.
[0100] For example, the first rotation angle and the second rotation angle of the printout corresponding to the contact point represent the first rotation axis angle and the second rotation axis angle of the printout when the print head moves to each contact point and delivers laser and filament to the contact point.
[0101] For example, the inverse kinematics model is a solver based on mathematical functions. The inverse kinematics model solves for the first and second rotation axis angles required to achieve the given desired pose of the printout (defined by the surface normal vector).
[0102] For example, the surface normal vector represents the target direction of the printhead corresponding to the contact point, and the inverse kinematics model is used to calculate the attitude angle that can point to the target direction based on the target direction.
[0103] Optionally, the corresponding printout attitude angle can be calculated between adjacent contact points using a linear interpolation method to achieve smooth attitude transformation.
[0104] For example, the first rotation axis angle and the second rotation axis angle are the A-axis and the C-axis, respectively, where the A-axis represents the axis of rotation about the X-axis and the C-axis represents the axis of rotation about the Z-axis. By rotating in combination with the A-axis and the C-axis, the printed part can be rotated in various directions in three-dimensional space.
[0105] In this feasible implementation, the pose angle of the printed part is adaptively calculated for each contact point, thereby improving the accuracy of 3D printing.
[0106] S310: Generate process parameters based on the orientation angle, geometric data, and layering parameters of the printed part.
[0107] One feasible implementation method is to generate process parameters by: determining the printing speed, filament feed speed reference value, and power reference value; calculating the filament feed speed corresponding to the contact point based on the printing speed, layering parameters, and filament feed speed reference value; calculating the laser power corresponding to the contact point based on the printing speed, layering parameters, and power reference value; and determining process parameters including the printhead movement path, print body attitude angle, filament feed speed, and laser power.
[0108] For example, the offset value is calculated, and the wire feed speed and laser power are determined based on the reference value and the offset value.
[0109] Optionally, a baseline value may be determined based on a material property database or process knowledge base for the filament. The material properties include, but are not limited to, at least one of the following: material type or filament diameter.
[0110] For example, the filament feed speed is compensated based on a baseline value using a multi-factor coupling algorithm. The tilt angle of the printed part (the angle between the axis of the printed part and the vertical direction) is calculated based on the orientation angle of the printed part, and then combined with the thickness in the layer parameters for comprehensive calculation.
[0111] For example, printing speed refers to the printing speed at which the print head stops at each contact point. The faster the printing speed, the shorter the time the print head stays at the corresponding contact point.
[0112] Using scenario examples, it is illustrated that variations in printing speed affect the effective deposition rate of the filament after melting. The filament feed speed is dynamically adjusted based on the printing speed to ensure the actual deposition amount matches the preset target. The greater the thickness, the more filament needs to be deposited; therefore, the filament feed speed is adjusted to match the thickness.
[0113] For example, an energy compensation strategy is used to compensate for the laser power based on a baseline value, compensating for changes in effective energy density caused by changes in printing speed and changes in heat input required due to changes in layer thickness.
[0114] To illustrate with scenario examples, the faster the printing speed, the less the filament absorbs laser energy, necessitating an adaptive increase in laser power. Similarly, the greater the layer thickness, the larger the volume of filament that needs to be melted, requiring more energy; therefore, an adaptive increase in laser power is also necessary.
[0115] Below, in conjunction with Figure 5 The process parameter compensation is explained.
[0116] Figure 5 This is a schematic diagram illustrating process parameter compensation provided in an embodiment of this application. Figure 5 As shown, the compensation coefficients are used to compensate for the impact of changes in printing speed on the printed parts. As the printing speed gradually increases, the filament feed speed compensation coefficient and the laser power compensation coefficient increase accordingly to compensate for the losses caused by the increase in printing speed.
[0117] For example, the printhead movement path includes X-axis coordinates, Y-axis coordinates, and Z-axis coordinates, and the printhead attitude angle includes A-axis angle and C-axis angle. By integrating X-axis coordinates, Y-axis coordinates, Z-axis coordinates, A-axis angle, C-axis angle, filament feed speed, and laser power, six-axis process parameters are generated to control 3D printing from various dimensions.
[0118] In this feasible implementation, process parameters are adaptively calculated for each contact point to match it, thereby improving the accuracy of 3D printing.
[0119] One feasible implementation method for generating 3D printing process parameters may include: determining the rate of change of attitude angle based on the attitude angle of the printed part; determining the rate of change threshold; determining abrupt contact points from the contact points based on the rate of change of attitude angle and the rate of change threshold; and smoothing the segments in the print head movement path where the abrupt contact points are located using a piecewise interpolation algorithm.
[0120] For example, the attitude angle change rate represents the instantaneous rate of change of the attitude angle, obtained by calculating the time interval between adjacent printed attitude angles and adjacent path points. The attitude angle change rate can be used to determine the change in the attitude angle of the printed part.
[0121] Optionally, a multi-factor collaborative threshold decision-making mechanism can be adopted. A basic rate of change threshold is set, and factors such as the material properties of the filament, process quality requirements, and the operating status of the 3D printing equipment are comprehensively considered to make dynamic adjustments, thereby optimizing operating efficiency while ensuring safety.
[0122] For example, the rate of change of attitude angle corresponding to the abrupt contact point is greater than or equal to the rate of change threshold. Based on the rate of change threshold, the system scans and analyzes the printhead movement path to identify feature points where the motion state changes abruptly, which are the abrupt contact points. Abrupt contact points are characterized by angular velocity or angular acceleration exceeding the safety limit, and usually appear in areas with drastic changes in geometric features, such as sharp edges, sharp corners, or areas with abrupt curvature changes.
[0123] With the example of the scenario, at the point of sudden contact, a large change in the orientation angle of the printed part will cause the printed part to shake violently, which may lead to problems such as deposition terminals, broken filaments, and jammed filaments, resulting in uneven surface of the printed part.
[0124] For example, for abrupt contact points, a piecewise interpolation algorithm is used for smoothing.
[0125] Optionally, the piecewise interpolation algorithm includes, but is not limited to, at least one of the following: spline interpolation, or Bézier curve, etc.
[0126] Optionally, by inserting transition path points or adjusting the motion parameters between adjacent points, the posture changes of the printed part can be made smoother and more natural. The optimization process maintains the original machining accuracy and only improves the kinematic properties, thereby enhancing the quality of 3D printing.
[0127] In this feasible implementation, intelligent motion path optimization effectively solves the problem of sudden motion changes in the multi-axis linkage process, significantly improves the stability of equipment operation, and thus improves the accuracy of 3D printing.
[0128] One feasible implementation method for generating 3D printing process parameters may further include: generating control instructions based on the process parameters; sending control instructions to a 3D dynamic simulator to instruct the 3D dynamic simulator to simulate and test 3D printing based on the process parameters, obtaining simulation results, including simulation success or simulation failure; if the simulation result is simulation failure, optimizing the process parameters and performing alarm processing.
[0129] For example, control instructions are used to translate process parameters into executable instructions.
[0130] For example, a three-dimensional dynamic simulator is used to simulate process parameters to verify whether the process parameters can achieve the preset goals.
[0131] For example, the tests include, but are not limited to, at least one of the following: static collision detection, checking for self-collision of the 3D printing equipment and interference with the environment at various points along the print head's movement path; dynamic collision detection, simulating the minimum clearance changes between the printed parts throughout the entire movement process to identify potential risks; kinematic verification, checking whether the movement of each axis exceeds its travel and whether the acceleration exceeds the 3D printing equipment's capabilities; and process simulation, visualizing the layer-by-layer deposition process of the filament and simulating the molten pool morphology and heat-affected zone.
[0132] For example, if the simulation passes and the process parameters can be implemented correctly, then the process parameters can be used for 3D printing. If the simulation fails, it means that the process parameters cannot be implemented correctly, and the process parameters need to be optimized until the simulation passes to avoid the printed parts not meeting the requirements.
[0133] Below, in conjunction with Figure 6 The overall process flow for generating the parameters is explained.
[0134] Figure 6 This is a schematic diagram illustrating the overall process flow for generating process parameters provided in an embodiment of this application. For example... Figure 6 As shown, a target 3D model is obtained through modeling, and this model can be fine-tuned to correct defects. Adaptive layering is performed using curvature-driven methods. For each layer, the printhead movement path, printhead attitude angle, filament feed speed, and laser power are generated until all layers are completed. Control commands are generated for simulation testing. If the simulation test passes, the current process parameters are output.
[0135] Optionally, if the simulation fails, the location and type of the fault are determined, and the process parameters are adjusted adaptively accordingly. For example, if the simulator detects a collision between the print head and the printed part or other parts of the 3D printing equipment, the print head movement path and / or the printed part posture are adjusted accordingly to optimize the simulation. If the simulator detects defects such as incomplete fusion, spheroidization, or collapse in the simulated printing tool, the laser power and / or filament feed speed are adjusted at the corresponding contact points for optimization.
[0136] In this feasible implementation, process parameters can be verified through simulation testing, which greatly reduces the cost of trial and error and thus improves the accuracy of 3D printing.
[0137] Figure 7 This is a schematic diagram of a 3D printing process parameter generation device provided in an embodiment of this application. Figure 7 As shown, the 3D printing process parameter generation device 70 may include: a receiving module 71, a layering module 72, a calculation module 73, a determination module 74, and a generation module 75.
[0138] The receiving module 71 is used to receive a 3D printing request, which includes a target 3D model and its geometric data.
[0139] Layering module 72 is used to perform layering processing on the target 3D model based on geometric data to obtain layering parameters, including the position and thickness of each layer.
[0140] The calculation module 73 is used to perform layered calculations on the target 3D model based on geometric data and layering parameters to obtain the surface normal vectors corresponding to the contact points on the surface of the target 3D model.
[0141] The determination module 74 is used to determine the orientation angle of the printed part based on the surface normal vector.
[0142] The generation module 75 is used to generate process parameters based on the orientation angle, geometric data, and layering parameters of the printed part.
[0143] Optionally, the receiving module 71 can perform... Figure 2 S201 in the embodiment.
[0144] Optionally, layered module 72 can execute Figure 2 S202 in the embodiment.
[0145] Optionally, the calculation module 73 can perform... Figure 2 S203 in the embodiment.
[0146] Optionally, module 74 can be executed. Figure 2 S204 in the embodiment.
[0147] Optionally, the generation module 75 can be executed. Figure 2 S205 in the embodiment.
[0148] It should be noted that the 3D printing process parameter generation device shown in the embodiments of this application can execute the technical solution shown in the above method embodiments, and its implementation principle and beneficial effects are similar, so they will not be described again here.
[0149] In one possible implementation, the layered module 72 is specifically used for:
[0150] Based on geometric data, determine the curvature distribution of the surface of the target 3D model;
[0151] Determine the curvature threshold, and then determine the curvature range based on the curvature threshold;
[0152] Based on the curvature distribution and curvature interval, the target 3D model is layered to obtain layer parameters. The thickness of each layer corresponds to the curvature interval in which the curvature of each layer is located.
[0153] In one possible implementation, the computing module 73 is specifically used for:
[0154] Based on the geometric data and layer parameters, determine the corresponding scanning strategy for each layer. The scanning strategy includes at least one of the following: reciprocating scanning, contour offset, and spiral scanning.
[0155] Based on the scanning strategy, generate the printhead movement path corresponding to each layer;
[0156] Based on geometric data, determine the contact points of the path points on the print head's moving path on the surface of the target 3D model;
[0157] Calculate the surface normal vector corresponding to the contact point based on the geometric data.
[0158] In one possible implementation, the determining module 74 is specifically used for:
[0159] By using the inverse kinematics model, the normal vector of the surface is transformed to obtain the first and second rotation angles of the printed part corresponding to the contact point.
[0160] Determining the orientation angle of the printed part includes the first rotation angle and the second rotation angle of the printed part corresponding to the contact point.
[0161] In one possible implementation, the generation module 75 is specifically used for:
[0162] Determine the baseline values for printing speed, wire feed speed, and power.
[0163] The wire feeding speed corresponding to the contact point is calculated based on the printing speed, layering parameters, and wire feeding speed baseline value.
[0164] The laser power corresponding to the contact point is calculated based on the printing speed, layering parameters, and power reference value.
[0165] Determining process parameters includes printhead movement path, printhead attitude angle, filament feed speed, and laser power.
[0166] Figure 8 This is a schematic diagram of a device for generating 3D printing process parameters, provided as an embodiment of this application. Figure 7 Based on the illustrated embodiments, as Figure 8 As shown, the 3D printing process parameter generation device 70 also includes a smoothing module 76 and a simulation module 77.
[0167] Smoothing module 76 is used for:
[0168] Determine the rate of change of attitude angle based on the attitude angle of the printed part;
[0169] Determine the threshold for the rate of change;
[0170] Based on the rate of change of attitude angle and the rate of change threshold, the abrupt contact point is determined from the contact point;
[0171] The segmented interpolation algorithm is used to smooth the segments where abrupt contact points occur in the printhead movement path.
[0172] Simulation module 77 is used for:
[0173] Generate control commands based on process parameters;
[0174] Send control commands to the 3D dynamic simulator to instruct the simulator to simulate 3D printing and test according to process parameters, and obtain simulation results, including simulation success or simulation failure.
[0175] If the simulation result is that the simulation fails, optimize the process parameters and perform alarm processing.
[0176] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 9 As shown, the electronic device includes:
[0177] The electronic device includes a processor 291 and a memory 292; it may also include a communication interface 293 and a bus 294. The processor 291, memory 292, and communication interface 293 can communicate with each other via the bus 294. The communication interface 293 can be used for information transmission. The processor 291 can invoke logical instructions stored in the memory 292 to execute the methods of the above embodiments.
[0178] Furthermore, the logic instructions in the aforementioned memory 292 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.
[0179] The memory 292, as a non-volatile computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this application. The processor 291 executes functional applications and data processing by running the software programs, instructions, and modules stored in the memory 292, that is, it implements the methods in the above-described method embodiments.
[0180] The memory 292 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 292 may include high-speed random access memory and may also include non-volatile memory.
[0181] This application provides a non-volatile computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method as described in the foregoing embodiments.
[0182] This application provides a computer program product, including a computer program that, when executed by a processor, implements the method as described in the foregoing embodiments.
[0183] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.
[0184] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages, which do not necessarily complete at the same time, but can be executed at different times. The execution order of these sub-steps or stages is also not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.
[0185] It should be understood that the above-described device embodiments are merely illustrative, and the device of this application can also be implemented in other ways. For example, the division of units / modules in the above embodiments is only a logical functional division, and there may be other division methods in actual implementation. For example, multiple units, modules, or components may be combined, or integrated into another system, or some features may be ignored or not executed.
[0186] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.
[0187] When the integrated unit / module is implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. The processor can be any suitable hardware processor, such as CPU, GPU, FPGA, DSP, and ASIC. The storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.
[0188] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0189] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.
[0190] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.
[0191] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for generating 3D printing process parameters, characterized in that, include: Receive a 3D printing request, the 3D printing request including a target 3D model and the geometric data of the target 3D model; Based on the geometric data, the target 3D model is layered to obtain layering parameters, which include the position and thickness of each layer. Based on the geometric data and the layering parameters, the target 3D model is subjected to layered calculations to obtain the surface normal vectors corresponding to the contact points on the surface of the target 3D model. The orientation angle of the printed part is determined based on the surface normal vector; Process parameters are generated based on the orientation angle of the printed part, the geometric data, and the layering parameters.
2. The method according to claim 1, characterized in that, Based on the geometric data, the target 3D model is subjected to layering processing to obtain layering parameters, including: Based on the geometric data, determine the curvature distribution of the surface of the target three-dimensional model; Determine the curvature threshold, and determine the curvature interval based on the curvature threshold; Based on the curvature distribution and the curvature interval, the target 3D model is layered to obtain the layering parameters, where the thickness of each layer corresponds to the curvature interval in which the curvature of each layer is located.
3. The method according to claim 1, characterized in that, Based on the geometric data and the layering parameters, the target 3D model is subjected to layered calculations to obtain the surface normal vectors corresponding to the contact points on the surface of the target 3D model, including: Based on the geometric data and the layering parameters, a scanning strategy corresponding to each layer is determined. The scanning strategy includes at least one of the following: reciprocating scanning, contour offset, and spiral scanning. Based on the scanning strategy, generate the printhead movement path corresponding to each layer; Based on the geometric data, determine the contact points of the path points on the print head's moving path with the surface of the target 3D model; Based on the geometric data, calculate the surface normal vector corresponding to the contact point.
4. The method according to claim 3, characterized in that, The method further includes: Determine the rate of change of the attitude angle based on the attitude angle of the printed part; Determine the threshold for the rate of change; Based on the attitude angle change rate and the change rate threshold, abrupt contact points are determined from the contact points; The segmented interpolation algorithm is used to smooth the segments where the abrupt contact points are located in the printhead movement path.
5. The method according to claim 1, characterized in that, Determining the orientation angle of the printed part based on the surface normal vector includes: By using the inverse kinematics model, the normal vector of the surface is transformed to obtain the first rotation angle and the second rotation angle of the printed part corresponding to the contact point. Determining the orientation angle of the printed part includes the first rotation angle and the second rotation angle of the printed part corresponding to the contact point.
6. The method according to claim 1, characterized in that, Based on the printed part's attitude angle, the geometric data, and the layering parameters, process parameters are generated, including: Determine the baseline values for printing speed, wire feed speed, and power. The filament feeding speed corresponding to the contact point is calculated based on the printing speed, the layering parameters, and the filament feeding speed reference value. The laser power corresponding to the contact point is calculated based on the printing speed, the layering parameters, and the power reference value. The process parameters include the printhead movement path, the printout attitude angle, the filament feed speed, and the laser power.
7. The method according to any one of claims 1-6, characterized in that, The method further includes: Control commands are generated based on the process parameters; The control command is sent to the 3D dynamic simulator to instruct the 3D dynamic simulator to simulate and test 3D printing according to the process parameters, and to obtain simulation results, including simulation success or simulation failure. If the simulation result is that the simulation fails, the process parameters are optimized and an alarm is triggered.
8. A device for generating 3D printing process parameters, characterized in that, include: A receiving module is used to receive a 3D printing request, the 3D printing request including a target 3D model and the geometric data of the target 3D model; The layering module is used to perform layering processing on the target 3D model based on the geometric data to obtain layering parameters, which include the position and thickness of each layer. The calculation module is used to perform layered calculations on the target three-dimensional model based on the geometric data and the layering parameters to obtain the surface normal vectors corresponding to the contact points on the surface of the target three-dimensional model. The determination module is used to determine the orientation angle of the printed part based on the surface normal vector; The generation module is used to generate process parameters based on the orientation angle of the printed part, the geometric data, and the layering parameters.
9. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1-7.
10. A non-volatile computer-readable storage medium, characterized in that, The non-volatile computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-7.
11. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Patent Citations
Single-path slicing method and printing method for four-axis 3D printing sheet model
CN117301527A
3D printing path planning method and system for three-dimensional curved surface
CN120461851A
Cited By
Three-dimensional printing method and device, electronic equipment and storage medium
CN122034332A
A three-dimensional printing method, device, electronic equipment and storage medium
CN122034332B