Support-free 3D printing method based on skeleton extraction

Through the unsupported 3D printing method based on skeleton extraction, the hybrid slice algorithm is used to realize unsupported large-angle printing, which solves the problem of adding support structures in the prior art and improves the printing speed and quality.

CN119388762APending Publication Date: 2025-02-07李熹平
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411491322.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-02-07

AI Technical Summary

Technical Problem

Existing 3D printing technology requires adding support structures when printing models with larger angles, which increases cost and post-processing difficulty and affects product quality and accuracy.

Method used

Unsupported 3D printing method based on skeleton extraction is adopted to establish skeleton lines by optimizing the internal structure, and unsupported large-angle printing is achieved using a hybrid slice algorithm.

Benefits of technology

Reduce or eliminate the need for additional support structures, improve printing speed and quality, and ensure the stability and accuracy of printing results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119388762A_ABST
    Figure CN119388762A_ABST
Patent Text Reader

Abstract

The invention discloses an unsupported 3D printing method based on skeleton extraction, which comprises the following steps: extracting a skeleton line representing a model structure from a model through a skeleton extraction algorithm; obtaining a normal section along the skeleton line through a normal section determination method; replacing part of the normal plane slices with arc slices through a slice mixing algorithm and an arc slice determination method to obtain a mixed slice result of the normal plane slices and the arc slices; performing path planning according to a mixed slicing result; and converting a path planning result into a G code for 3D printing. According to the scheme, the natural shape of the model can be used for supporting the model by slicing along the skeleton line, so that the requirement for an additional supporting structure is reduced or eliminated, the slicing result is obtained by adopting a mixed slicing algorithm of normal surface slicing and arc slicing, the problem of intersection caused by obtaining a slicing plane based on the skeleton line can be avoided, and the efficiency is improved. And the effectiveness and feasibility of the 3D printing method based on the skeleton line are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of 3D printing, and in particular relates to a support-free 3D printing method based on skeleton extraction. Background Art

[0002] In the traditional manufacturing field, subtractive manufacturing and forming manufacturing technologies have always dominated. However, these technologies are often accompanied by problems such as material waste, low production efficiency and limited design flexibility during the production process. With the continuous advancement of science and technology, additive manufacturing technology, especially 3D printing technology, has gradually become the new favorite of the manufacturing industry due to its unique layer-by-layer manufacturing method. 3D printing technology can realize the rapid manufacturing of complex structures, greatly improve production efficiency, reduce material waste, and provide designers with greater design freedom.

[0003] Although 3D printing technology has shown great potential in many fields, it still faces some challenges in practical applications. For example, when printing models at larger angles, existing 3D printing slicing algorithms often require the addition of support structures to ensure the stability of printing, which not only increases the printing cost and the difficulty of post-processing, but may also affect the quality and precision of the final product. In order to solve this problem, researchers at home and abroad have been exploring more efficient slicing algorithms and printing strategies. At present, multi-axis 3D printer technology is gradually maturing, but the research on its supporting slicing algorithms is relatively lagging behind, and the market is in urgent need of efficient slicing algorithms that can adapt to multi-axis printers. Summary of the invention

[0004] The purpose of the present invention is to address the above-mentioned problems and propose a support-free 3D printing method based on skeleton extraction, which establishes skeleton lines by optimizing the internal structure and adopts a hybrid slicing algorithm to achieve support-free printing at a larger angle, thereby improving printing speed and quality.

[0005] In order to achieve the above object, the present invention adopts the following technical solutions:

[0007] A support-free 3D printing method based on skeleton extraction, the method comprising:

[0008] Through the skeleton extraction algorithm, the skeleton lines representing the structure of the model are extracted from the model;

[0009] Obtaining normal slices along the skeleton line by using a normal slice determination method;

[0010] Using a slice blending algorithm and an arc slice determination method, arc slices are used to replace some normal slices to obtain a blended slice result of normal slices and arc slices.

[0011] Perform path planning based on the mixed slicing results;

[0012] Convert path planning results into G-code for 3D printing.

[0013] In the above-mentioned support-free 3D printing method based on skeleton extraction, the model skeleton line is extracted in the following way:

[0014] The starting plane and the ending plane of the model are used as cutting planes, and two sets of cutting planes are obtained by translation cutting respectively;

[0015] Calculate the centroid point for each cut surface;

[0016] All or part of the centroid points are connected into a smooth curve using a Bezier curve as the skeleton line of the model.

[0017] In the above-mentioned support-free 3D printing method based on skeleton extraction, two cutting surfaces cut the model to generate M1 cutting surfaces and M2 cutting surfaces respectively, and M1+M2 centroid points are obtained by calculating the centroid points of the cutting surfaces respectively;

[0018] According to the preset value, a number of centroid points among the M1+M2 centroid points are selected, and the selected centroid points are connected into a smooth curve using a Bezier curve to obtain the skeleton line.

[0019] In the above-mentioned unsupported 3D printing method based on skeleton extraction, the method of selecting several centroids among the M1+M2 centroids according to preset values ​​is:

[0020] Compare the calculated result of each cutting surface with the preset value, and select the cutting surface that meets the preset value condition;

[0021] The selected centroid points are obtained from the selected cutting surface.

[0022] In the above-mentioned support-free 3D printing method based on skeleton extraction, the x-coordinate or the y-coordinate of the skeleton line is adjusted to an average value so that the plane where the skeleton line is located can be perpendicular to the rotation axis;

[0024] If the model is a non-closed structure, the skeleton lines are projected onto the model surface.

[0025] In the above-mentioned unsupported 3D printing method based on skeleton extraction, the slice hybrid algorithm includes:

[0026] S1. Starting from the second layer of normal slices, check whether the current normal slice k has interference with the previous layer of normal slice k-1 adjacent to it. If so, execute S2, otherwise, execute S3;

[0027] S2. Continue to check whether there is an interference problem between the next layer and the normal slice k-1. If so, continue to repeat S2 for the next layer until a slice layer that does not interfere with the slice layer k-1 is found or the last slice layer is found;

[0028] Otherwise, execute S4;

[0029] S3. Take the next normal slice k+1 as the current normal slice k and repeat step S1;

[0030] S4. Generate arc slices between slice layer k-1 and the slice layer found not to interfere with it or the last slice layer to replace the original normal slices.

[0031] In the above-mentioned unsupported 3D printing method based on skeleton extraction, the normal slice determination method includes:

[0032] Assume that the model skeleton line KP = {kp i}(i=1,…,N1);

[0033] Calculate the total length of the skeleton line KS = || kp i -kp i-1 ||;

[0034] Select nodes {np from the skeleton KP at every layer thickness distance k}(np k =kp ik , k = 1, ..., N2;

[0035] The normal slice set at the node is thus obtained as NPL = {nplk};

[0036] nplk is determined by the skeleton point npk and the normal vector nveck, nveck = (kpik+1-kpik-1) / ||kpik+1-kpik-1||;

[0037] The arc slice determination method includes:

[0038] Take the point npa where the skeleton line on the slice layer npla is located as the starting point, L as the axis, rotate npa to the slice layer nplb, and obtain the arc segment OL. The slice layers npla and nplb are two slice layers that do not negotiate, and L is the intersection line of the two slice layers;

[0039] Nodes are selected on OL at every layer thickness distance, and each node and the L axis can form a plane, thus obtaining the arc slice set OPL.

[0040] In the above-mentioned support-free 3D printing method based on skeleton extraction, the path planning method is as follows: —3—

[0041] Perform single-layer path planning for each layer of slices:

[0042] Get all connected blocks and their boundaries of the current slice layer;

[0043] Obtain the two end points of each connected block according to the relative position relationship between each boundary of the connected block and its surrounding boundaries;

[0044] The two end points are used as the starting point and the end point of the connected block to plan the path of the connected block;

[0045] Sort the paths of each connected block to obtain a single-layer path;

[0046] According to the printing sequence and the paths of each layer, the endpoint of the next layer closest to the end point of the previous layer is taken as the starting point to obtain the inter-layer path planning.

[0047] In the above-mentioned support-free 3D printing method based on skeleton extraction, during the G-code conversion process, different flow rates of each edge are calculated according to the distance of each point relative to the previous layer: Q = s*h*d, where s is the edge length, h is the distance from the midpoint of the edge to the previous layer, and d is the printing line width.

[0048] In the above-mentioned support-free 3D printing method based on skeleton extraction, during the G-code conversion process, after the printing path and flow rate are determined, the printing speed at different positions is determined in the following way:

[0049] V=C / Q, where V represents the printing speed, Q represents the flow rate per unit length, and C is a constant.

[0050] The advantages of the present invention are:

[0051] 1) Using the starting and ending planes as cutting planes and using the centroid of the cutting planes to obtain the skeleton line can effectively capture the structural features of the model. By slicing along the skeleton line, the natural shape of the model can be used to support itself, thereby reducing or eliminating the need for additional support structures;

[0052] 2) The hybrid slicing algorithm of normal slicing and arc slicing is used to obtain the slicing results, which can avoid the negotiation problem of obtaining the slicing plane based on the skeleton line, and ensure the effectiveness and feasibility of the 3D printing method based on the skeleton line;

[0053] 3) The normal slices are first obtained according to the skeleton line, and then arc slices are used to replace the original normal slices through certain logical judgments, so that the mixed slice results of normal slices and arc slices can be obtained efficiently and accurately;

[0054] 4) According to the model characteristics of this solution, the flow corresponding to the edge is calculated in units of edges, and dynamic flow adjustment in units of edges is realized to improve the printing quality and accuracy of the model;

[0055] 5) Dynamically adjust the flow rate and print speed so that the print speed is inversely proportional to the flow rate per unit length. For areas with larger flow rates, a lower print speed is used, and for areas with smaller flow rates, a higher print speed is used. By controlling the relationship between flow rate and speed, the cooling levels of different areas can be balanced, improving the printing success rate while effectively managing the cooling process of different areas to avoid print quality problems and ensure the stability and accuracy of each layer of printing. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 This is a method flow chart of the support-free 3D printing method based on skeleton extraction of the present invention;

[0057] Figure 2 is a diagram of an ankle model in an embodiment of the present invention;

[0058] Figure 3 The skeleton line of the ankle model in the embodiment of the present invention;

[0059] Figure 4 Two intersecting normal planes along the skeleton line of the embodiment of the present invention;

[0060] Figure 5 This is a flow chart of the hybrid slicing algorithm in this embodiment;

[0061] Figure 6 An example of a cross-section of the non-enclosed ankle model in this embodiment;

[0062] Figure 7 for Figure 6 Example of a single-layer path;

[0063] Figure 8 is the ankle model path diagram in this embodiment;

[0064] Fig. 9 This is a flow calculation example diagram in this embodiment;

[0065] Fig.10 Printing a finished product image for the ankle model in the embodiment;

[0066] Fig.11 Print the finished product image of the ankle model with holes in the embodiment;

[0067] Fig.12 This is the finished print image after plane slicing using CuraEngine. DETAILED DESCRIPTION

[0068] The present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0069] like Figure 1As shown in the figure, this scheme provides a support-free 3D printing method based on skeleton extraction, which can be applied to the manufacture of medical devices, such as personalized ankle braces, and can also be applied to the manufacture of structural parts in engineering and other fields, such as aerospace, automobile manufacturing, and architectural models. First, the skeleton line representing the model structure is extracted using a skeleton extraction algorithm based on model features. The specific method is as follows:

[0070] The starting plane and the ending plane are used as cutting planes, and two sets of cutting planes are obtained by translation cutting. The centroid point is calculated for each cutting plane, and part of the content of the two sets of cutting planes is selected according to the preset value. Then, the centroid points are connected into a smooth curve, i.e., the skeleton line, using the Bezier curve.

[0071] The preset value refers to a method used to calculate the skeleton line. The cutting plane cuts the model with a small spacing to produce a lamellar two-dimensional structure. The cutting plane is usually cut by translation in two different directions. The lengths of the two directions may be different, so the cutting in the two directions can produce M1+M2 centroid points (x, y). Then a certain number of centroid points are selected in a certain way (preset value) to represent the complete model skeleton line. The certain way can be to select a cutting plane with an area larger than the preset value and / or select a cutting plane with a centroid position within a specific range.

[0072] Here, we select part of the two sets of cutting planes or combine the two sets of centroid point clouds to connect the centroid points into a curve through a Bezier curve to obtain the ideal skeleton line. Subsequently, we obtain the slice plane along the skeleton line. Each slice plane is the normal plane of a point on the skeleton line, and its position and direction are determined according to the shape and direction of the skeleton line.

[0073] Furthermore, for a four-axis 3D printer that can only rotate along one axis, the x-coordinate or y-coordinate of the curve is adjusted to the average value so that the plane where the skeleton line is located can be perpendicular to the rotation axis. The centroid points of the model skeleton line simulated by the algorithm are discrete (their x and y values ​​are different). If the actual four-axis machine can only rotate around the Y axis or a rotation axis parallel to the Y axis, then by taking the average value of the Y values ​​of these centroid points, these centroid points can be integrated into a plane that is perpendicular to the Y axis, which has the effect of simplifying the slicing process, so that this solution method can be adapted to the scenario of a four-axis 3D printer that can only rotate along one axis.

[0074] Furthermore, if the model is a non-closed structure, such as Figure 6 As shown, if the model needs to print air holes, the skeleton line is further projected onto the model surface. When projecting onto the model surface, each layer of cutting plane is intersected with the YZ plane and the intersection points are connected. Experiments have shown that the slicing effect can be improved. Analysis shows that this process fixes the error caused by taking the average value of Y.

[0075] like Figure 2 As shown, this embodiment takes the ankle model as an example, and uses the skeleton extraction algorithm for the non-closed model to extract the skeleton line as shown in Figure 3 As shown (red represents model points, blue represents skeleton lines), the matplotlib library in Python is used for visualization.

[0076] The above-mentioned skeleton line extraction method and further processing of the skeleton lines can help improve the printing quality and efficiency of printed parts, and are especially suitable for medical auxiliary parts such as ankle models, providing important support for the operation of subsequent slicing algorithms.

[0077] Furthermore, if Figure 4 As shown, plane a and plane b are two normal planes along the skeleton line. The two planes have an intersection line and are inside the model, indicating that the two planes are intersecting. Therefore, for models such as ankle models, although the normal plane along the skeleton line is used as the slice plane directly, it can be supported without support, but there may be a negotiation problem. If the negotiation problem cannot be solved, it will still affect the printing effect. In this regard, this scheme proposes a slicing hybrid algorithm using normal slices and arc slices. The specific method is as follows: First, a number of normal slices, that is, slice planes, are obtained according to the skeleton line through the normal slice determination method. Then, an interference check is performed on each two adjacent skeleton normal slices. If the plane pla interferes, a slice layer plb that does not interfere with pla is found from the subsequent slice layer, and an arc slice is generated between pla and plb to replace the original normal slice.

[0078] Normal slice determination method: Let the model skeleton line KP = {kp i}(i=1,…,N1), first calculate the total length of the skeleton line KS=||kp i -kp i-1 ||, then select nodes {np k}(np k =kp ik , k=1,…,N2, and the normal slice set at the node is obtained as NPL={nplk}. nplk is determined by the skeleton point npk and the normal vector nveck, nveck=(kpik+1-kpik-1) / ||kpik+1-kpik-1||. N2 represents the number of normal slices, and N1 is set by the user, which can be N1=M1+M2. The setting principle is to be as small as possible without affecting the calculation speed.

[0079] Method for determining arc slices: suppose there are slice planes npla, nplb, and the intersection line of the planes is L.

[0080] First, take the point npa where the skeleton line on npla is located as the starting point, L as the axis, rotate npa to the plane nplb, and obtain the arc segment OL. Then select nodes on OL at every layer thickness distance, and each node and the L axis can form a plane, thereby obtaining the arc slice plane set OPL. As long as the slice planes npla and nplb do not interfere, the planes in OPL will not interfere. The starting slice layer a and the ending slice layer b of the arc slice set are slice planes npla and nplb respectively. The arc slice set will replace at least one slice layer between the starting slice layer a and the ending slice layer b. Assuming that there are three slice layers between npla and nplb and the plane that intersects with npla, the calculated arc slice set will replace these three slice layers, and the obtained arc slice set may have more than three layers.

[0081] like Figure 5 As shown, for each normal slice, whether to replace it with an arc slice is determined in the following way:

[0082] First, the normal slice determination method is used to obtain a set of normal slices along the skeleton line, and then each normal slice is checked for interference. For example, if slice A is the first printed plane and A+1 is the second printed plane, the A+1 plane is checked for interference. At this time, k=A+1, and check whether the A+1 plane interferes with the A plane. There are three cases for the interference check results, which are called case1, case2, and case3. Case1 means there is no interference, case2 means there is interference and there is interference with the last layer of normal slices, and case3 means ordinary interference.

[0083] When the interference check result of the A+1 plane adjacent to the A plane is case 1, that is, there is no interference, the interference check is continued for the next layer of normal slice A+2 of the A+1 plane to check whether A+2 interferes with the A+1 plane. At this time, k = A+2. Similarly, the interference check is performed on every two adjacent layers of normal slices.

[0084] If the interference check result of the A+1 plane is case 2, it means that the A+1 plane is the last slice layer, so that a=k-1, b=N2, k=N2, N2 represents the number of normal slices, k refers to the kth normal slice, a and b refer to the starting normal slice layer and the ending normal slice layer for calculating the arc slice, that is, the previous slice layer A of the A+1 plane currently being checked is used as the starting slice layer a of the starting slice layer a and the ending slice layer b for calculating the arc slice, and the ending slice layer b takes the last slice layer N2, and the slice layers between slices A+1 and N2 will be replaced by the calculated arc slice set.

[0085] If the result of the interference check on the A+1 plane is case 3, it means that the A+1 plane interferes with the A plane. The starting point of the arc slice calculation is the previous slice A of the A+1 plane, a=k-1, and then k=k+1. Continue to check whether the A+2 plane interferes with the A plane. There are also three situations:

[0086] If it is case 2, similar to the above, let b=N2, k=N2, take A plane as the starting slice layer a, N2 plane as the ending slice layer b, and generate arc slices through the above arc slice determination method to replace the normal slices between A plane and N2 plane.

[0087] If it is case 1, b=k, that is, plane A is used as the starting slice layer a, A+2 is used as the ending slice layer b, and arc slices are generated by the above arc slice determination method to replace the normal slices between plane A and plane A+2.

[0088] If it is case 3, continue to take the next slice layer k=k+1, check whether the current k-th slice layer (A+3) interferes with the A plane, and there are also three cases. Repeat the previous process in this way until the latest k-th slice layer that does not interfere with the A plane is found or the last slice layer N2 is checked.

[0089] Furthermore, the present solution also includes a further printing speed optimization method, which optimizes the printing speed by adaptively adjusting the layer height based on the difference in coordinates between layers. During 3D printing, based on the slice calculation in the previous step, the maximum and minimum layer heights are determined according to the actual process, and then the layer height of the layer is determined by calculating the maximum value of the minimum distance between each layer's scattered points and the previous layer. Within the range of the maximum and minimum layer heights, the layer with a smaller coordinate difference from the previous layer uses a larger layer height, and the layer with a larger coordinate difference from the previous layer uses a smaller layer height, that is, a larger layer height is used for areas with smaller morphological changes, and a smaller layer height is used for areas with larger morphological changes. In this way, the adaptive layer height can be used to achieve both aesthetics and printing speed improvement.

[0090] Furthermore, in this solution, the path planning method based on the slicing results is as follows:

[0091] Unlike the traditional printing method of first printing the exterior wall and interior wall, and then printing the filling, this solution uses only one side wall for single-layer printing. In this way, only one line is one layer, which is much faster than the traditional method of one layer requiring one exterior wall, one interior wall, and possibly several filling lines. It greatly speeds up the printing speed, but it also brings some problems to the path planning. In this regard, this solution uses a separate path planning for each layer of the cross section and then the path planning between each layer. The situation of one layer may be as follows: Figure 6 As shown, since there are holes on the printed part for ventilation, the cross section of a layer is composed of multiple connected blocks.

[0092] For such a section, first identify the connected blocks and obtain the boundaries of all connected blocks, that is, which edges they are composed of. Then calculate the angle between each edge and the surrounding edges. When the angle between one of the surrounding edges and the edge exceeds the angle threshold, it is considered that this edge may be the edge where the endpoint is located. In this way, the two endpoints of the connected block are obtained. The side with the larger x coordinate between the two endpoints can be used to obtain a path of a connected block. Then these paths are sorted to obtain a single-layer path, such as Figure 7 shown.

[0093] Once the paths of each layer are generated, the order of printing and the paths between each layer can be determined. When determining the path of the next layer, start from the end point of the current layer and find the end point of the next layer closest to the end point as the starting point of the next layer. See the path of the ankle model for details. Figure 8 .

[0094] Finally, the GCODE-based path-to-G-code module converts the path planning results into G-code for 3D printing. GCODE is a control language used by machines such as CNC machines and 3D printers to describe processing paths and operation instructions. During the GCODE generation process, the results of path planning need to be converted into GCODE instruction sequences suitable for specific machines. This includes the following: Movement instructions: GCODE contains instructions for controlling machine movement, such as linear interpolation (G01), circular interpolation (G02, G03), etc. These instructions describe which paths the machine moves along during processing. Speed ​​and processing parameter settings: GCODE contains instructions for setting machine movement speed, feed rate and other parameters to ensure processing quality and efficiency. Pause and other control instructions: In addition to movement instructions, GCODE also includes some control instructions, such as stop, material change, etc., which are used to control special operations during processing. In actual program development, it is necessary to generate a GCODE instruction sequence that meets the standard and ensure that it is compatible with the machine and can correctly perform the required processing tasks according to the specific machine type and processing requirements.

[0095] The hybrid slicing algorithm implemented in this solution is different from the traditional slicing method. The distance between each layer and the distance of each point relative to the previous layer are different. Therefore, the traditional solution of fixed flow cannot be used. This solution calculates different flows on each side based on the distance of each point relative to the previous layer. For example, Fig. 9As shown in the figure, the flow rate required for the edge ab is solved: the distance h from the midpoint of the edge ab to the previous layer is calculated, and the flow rate of this section is s*h*d (where s is the length of the edge ab, h is the distance from the midpoint of ab to the previous layer, and d is the print line width). The extrusion volume is obtained by dividing the flow rate by the aperture, which realizes the dynamic adjustment of the flow rate and ensures the printing quality and accuracy under complex geometric structures. By accurately calculating the distance between each point and the previous layer, more precise control can be achieved, thereby maximizing the printing efficiency and quality. At the same time, reasonable adjustment of the extrusion volume can also effectively avoid problems such as blockage or leakage that may occur during the printing process, and improve the printing success rate.

[0096] After determining the printing path and flow rate, this solution further calculates the printing speed at different locations through the following relationship:

[0097] V = C / Q, where V represents the printing speed, Q represents the flow rate per unit length, and C is a constant determined by experience. The printing speed is inversely proportional to the flow rate per unit length. For areas with larger flow rates, this solution uses a lower printing speed, and for areas with smaller flow rates, this solution uses a higher printing speed. By controlling the relationship between flow and speed, the cooling levels of different areas can be balanced.

[0098] This solution can improve the printing success rate by dynamically adjusting the flow rate and the printing speed. At the same time, it can avoid printing quality problems by effectively managing the cooling process of different areas and ensure the stability and accuracy of each layer of printing.

[0099] In order to evaluate the performance of this method, this method was applied to slicing and printing of various models on a four-axis 3D printer.

[0100] The four-axis 3D printer used includes three parallel moving axes, X, Y, and Z, and a rotating axis B that rotates around the Y axis. The particle 3D printing technology is used. The particle material is melted by the heating tube and then transported to the print head for extrusion. Some parameters of the equipment are as follows:

[0101] (1) B-axis rotation range: -90°~90°

[0102] (2) Maximum travel of X axis: 800mm

[0103] (3) Maximum Y-axis travel: 800mm

[0104] (4) Maximum Z-axis travel: 1100mm

[0105] (5) Nozzle diameter: 3mm

[0106] First, the ankle model is sliced ​​in layers using the method proposed in this scheme. The slicing time is about 5 seconds, the minimum layer height is 0.2 mm, and the maximum layer height is 1 mm. After the slicing is completed, the G code is generated.

[0107] The nozzle diameter is 3mm, ensuring that one layer only needs to be printed once, without reciprocating printing. The printed product can be seen Fig.10 , print some parameters as follows:

[0109] (1) Printing material: mixed PLA

[0110] (2) Printing temperature: 210℃

[0111] (3) Printing time: 25 minutes and 34 seconds

[0112] At the same time, different materials were used to test the models with holes, and the finished products were shown in Fig.11 The printing time was 24 minutes and 51 seconds, and the holes were printed normally without any collapse.

[0113] For comparison, the results of plane slicing using CuraEngine were printed with the same parameters and materials. Fig.12 Due to the lack of printing support, the part collapsed when printing at a large angle and could not continue printing.

[0114] The above tests show that for an ankle model, this method can control the printing time within 26 minutes. During this period, it is observed that the printing quality can meet the actual use requirements without obvious defects or problems. These test results show that this method has high efficiency and stability when processing ankle models, and can ensure the quality and accuracy of the printing results.

[0115] In addition, after testing the traditional printing method, that is, the printing method with supports, it was found that its slicing time was similar to that of this solution. However, compared with this solution, the printing time of the traditional printing method is more than three times, and this does not include the additional time required for processing supports. Therefore, compared with the traditional method, this solution method can not only complete slicing faster, but also has a great advantage in printing time.

[0116] The specific embodiments described herein are merely examples of the spirit of the present invention. Those skilled in the art may make various modifications or additions to the specific embodiments described or replace them in similar ways, but they will not deviate from the spirit of the present invention or exceed the scope defined by the appended claims.

Claims

1. A support-free 3D printing method based on skeleton extraction, characterized in that: The method includes: Through the skeleton extraction algorithm, the skeleton lines representing the structure of the model are extracted from the model; Obtaining normal slices along the skeleton line by using a normal slice determination method; Using a slice blending algorithm and an arc slice determination method, arc slices are used to replace some normal slices to obtain a blended slice result of normal slices and arc slices. Perform path planning based on the mixed slicing results; Convert path planning results into G-code for 3D printing.

2. The support-free 3D printing method based on skeleton extraction according to claim 1, characterized in that: Extract the model skeleton line in the following way: The starting plane and the ending plane of the model are used as cutting planes, and two sets of cutting planes are obtained by translation cutting respectively; Calculate the centroid point for each cut surface; All or part of the centroid points are connected into a smooth curve using a Bezier curve as the skeleton line of the model.

3. The support-free 3D printing method based on skeleton extraction according to claim 2, characterized in that: The two cutting planes cut the model to generate M1 cutting planes and M2 cutting planes respectively, and the centroid points of the cutting planes are calculated to obtain M1+M2 centroid points; According to the preset value, a number of centroid points among the M1+M2 centroid points are selected, and the selected centroid points are connected into a smooth curve using a Bezier curve to obtain the skeleton line.

4. The support-free 3D printing method based on skeleton extraction according to claim 3, characterized in that: The method of selecting several centroids among M1+M2 centroids according to preset values ​​is: Compare the calculated result of each cutting surface with the preset value, and select the cutting surface that meets the preset value condition; The selected centroid points are obtained from the selected cutting surface.

5. The support-free 3D printing method based on skeleton extraction according to claim 4, characterized in that: Adjust the x-coordinate or y-coordinate of the skeleton line to the average value so that the plane where the skeleton line is located can be perpendicular to the rotation axis; If the model is a non-closed structure, the skeleton lines are projected onto the model surface.

6. The support-free 3D printing method based on skeleton extraction according to any one of claims 1 to 5, characterized in that: The slice blending algorithm includes: S1. Starting from the second layer of normal slices, check whether the current normal slice k has interference with the previous layer of normal slice k-1 adjacent to it. If so, execute S2, otherwise, execute S3; S2. Continue to check whether there is an interference problem between the next layer and the normal slice k-1. If so, continue to repeat S2 for the next layer until a slice layer that does not interfere with the slice layer k-1 is found or the last slice layer is found; Otherwise, execute S4; S3. Take the next normal slice k+1 as the current normal slice k and repeat step S1; S4. Generate arc slices between slice layer k-1 and the slice layer found not to interfere with it or the last slice layer to replace the original normal slices.

7. The support-free 3D printing method based on skeleton extraction according to claim 6, characterized in that: The normal slice determination method includes: Assume that the model skeleton line KP = {kp i }(i=1,…,N1); Calculate the total length of the skeleton line KS = || kp i -kp i-1 ||; Select nodes {np from the skeleton KP at every layer thickness distance k }(np k =kp ik , k = 1, ..., N2; The normal slice set at the node is thus obtained as NPL = {nplk}; nplk is determined by the skeleton point npk and the normal vector nveck, nveck = (kpik+1-kpik-1) / ||kpik+1-kpik-1||; The arc slice determination method includes: Take the point npa where the skeleton line on the slice layer npla is located as the starting point, L as the axis, rotate npa to the slice layer nplb, and obtain the arc segment OL. The slice layers npla and nplb are two slice layers that do not negotiate, and L is the intersection line of the two slice layers; Nodes are selected on OL at every layer thickness distance, and each node and the L axis can form a plane, thus obtaining the arc slice set OPL.

8. The support-free 3D printing method based on skeleton extraction according to claim 7, characterized in that: The path planning method is as follows: Perform single-layer path planning for each layer of slices: Get all connected blocks and their boundaries of the current slice layer; Obtain the two end points of each connected block according to the relative position relationship between each boundary of the connected block and its surrounding boundaries; The two end points are used as the starting point and the end point of the connected block to plan the path of the connected block; Sort the paths of each connected block to obtain a single-layer path; According to the printing sequence and the paths of each layer, the endpoint of the next layer closest to the end point of the previous layer is taken as the starting point to obtain the inter-layer path planning.

9. The support-free 3D printing method based on skeleton extraction according to claim 8, characterized in that: During the G-code conversion process, the different flow rates of each edge are calculated based on the distance of each point relative to the previous layer: Q = s*h*d, where s is the edge length, h is the distance from the midpoint of the edge to the previous layer, and d is the print line width.

10. The support-free 3D printing method based on skeleton extraction according to claim 9, characterized in that: During the G-code conversion process, after determining the printing path and flow rate, the printing speed at different positions is determined in the following way: V=C / Q, where V represents the printing speed, Q represents the flow rate per unit length, and C is a constant.