A free-standing printing method
By selecting the model segmentation surface and adjusting the slicing direction in the external fixing bracket for 3D printing, the problems of increased printing time for suspended structure models and post-processing of supports were solved, achieving efficient processing of supportless printing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN BIYING BIOTECHNOLOGY CO LTD
- Filing Date
- 2023-07-14
- Publication Date
- 2026-05-29
Smart Images

Figure CN116901441B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D printing technology, specifically to a supportless printing method. Background Technology
[0002] External fixation braces in medicine primarily serve to immobilize injured limbs, thereby reducing movement of the injured area and promoting recovery. With the continuous development of 3D printing applications in the medical field, 3D-printed external fixation braces can effectively reduce the disadvantages of traditional plaster casts or splints, including the bulkiness of plaster casts, the inability to clean the plaster area, the reliance on the surgeon's experience for adjusting the tightness of splints, and their difficulty in shaping. These factors have limited the use of plaster casts and splints, driving the development of 3D-printed external fixation braces in the medical field.
[0003] Currently, all 3D printed external fixation supports require slicing the model with a suspended structure using existing 3D printing slicing software to generate the support structure and complete the printing of the model. This not only increases the printing time but also requires post-processing of the support after printing, which is time-consuming and labor-intensive.
[0004] To address the problems existing in the prior art, the applicant has developed a supportless printing method, which includes selecting the model segmentation surface, slicing the two segments in different directions, adjusting the position of the point set after slicing, thereby obtaining the GCode file of the supportless external fixation brace, and then printing it, which can realize the supportless printing of the external fixation brace. Summary of the Invention
[0005] The purpose of this invention is to provide a supportless printing method to solve the problems mentioned in the background art, namely, the inability of current 3D printing external fixing supports to handle models with suspended structures well, the increased printing time caused by existing software slicing printing methods, and the need for post-processing of the supports after printing.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a supportless printing method, comprising:
[0007] Step S1: Import the support model that needs to be printed without support, and adjust the spatial position of the support model and trim the excess parts to facilitate subsequent unsupported slicing printing.
[0008] Step S2: Calculate the angle θ between the top and bottom surfaces of the model. Using angle θ as a reference value, move and rotate the dividing surface interactively and record the rotation angle β. The value of β is adjusted according to the value of θ, but ensure that (θ-β) < 45°. Determine the position of the dividing surface and divide the model into two parts. For the part of the model below the dividing surface, slice it horizontally along the Z-axis.
[0009] Step S3: For the support model above the segmentation surface, rotate the support model by an angle β along the rotation center point O of the printer, and then slice it horizontally along the Z-axis to obtain the rotated slice point set.
[0010] Step S4: Optimize the slice point set, adjust the step size, improve the quality of the path point set, and obtain the final GCode file.
[0011] Step S5: Perform 3D printing according to the GCode file.
[0012] Furthermore, step S2 includes the following steps:
[0013] S201. Calculate the angle θ between the normal vectors of the planes containing the bottom and top surfaces. Calculate the normal vector n1 of the plane containing the top surface of the model, and the normal vector of the bottom surface n2 = (0, 0, 1). Calculate the angle θ between the two normal vectors using the dot product method: θ = cosθ. -1 (n1*n2 / |n2|), where the user interactively selects the center point C of the segmentation surface, the normal vector n, and the rotation angle β. The value of β is adjusted according to the value of θ, but it is guaranteed that (θ-β) < 45°.
[0014] S202. Using the center point C, rotation angle β and normal vector n obtained from S201, the model is divided into two parts with the dividing plane as the boundary. Let the part below the dividing plane be M1 and the part above the dividing plane be M2.
[0015] S203. For the part of model M1 below the segmentation plane, calculate the bounding box size of model AABB {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax}. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the model num times. The normal vector of the slice plane is {0,0,1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.
[0016] Furthermore, step S3 includes:
[0017] S301. For the part of model M2 above the split surface, rotate the model around the printer rotation center O by an angle β without changing the topological relationship of the model. Rotate all points of the support model. Let Pi be a point before rotation. Calculate the corresponding point P'i after rotation. P'i.X = Pi.X*cosβ + Pi.Z*sinβ, P'i.Z = Pi.Z*cosβ - Pi.X*sinβ, P'i.Y = PY.
[0018] S302. Calculate the AABB bounding box dimensions {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax} of the rotated support model. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the support model num times. The slice plane normal vector is {0,0,1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.
[0019] Compared with the prior art, the beneficial effects of the present invention are:
[0020] This method for printing unsupported external fixation supports involves interactively moving and rotating the segmentation surface to obtain the center point C, rotation angle β, and normal vector n of the segmentation surface. Then, using the obtained center point C, rotation angle β, and normal vector n, the model is divided into two parts along the segmentation surface (plane). For the part below the segmentation surface (M1), the AABB bounding box dimensions are calculated. For the part above the segmentation surface (M2), the model is rotated by angle β along the printer's rotation center O without changing the model's topology. All points of the model are rotated, and then horizontal slices are performed along the Z-axis to obtain the rotated slice point set. Finally, the GCode file required for 3D printing is obtained, enabling unsupported printing of external fixation supports. This method solves the problem that current 3D printing methods cannot effectively handle models with overhanging structures, and that existing software slicing printing methods lead to increased printing time and require post-processing of the support structure. Attached Figure Description
[0021] Figure 1 A flowchart of a supportless printing method provided by the present invention;
[0022] Figure 2 This is an external fixation brace model imported for this invention;
[0023] Figure 3 This invention provides a set of slice path points for unsupported printing. Detailed Implementation
[0024] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] Please see Figures 1-3The present invention provides a technical solution: a supportless printing method, which includes selecting a model segmentation surface, slicing the two segments in different directions, and adjusting the position of the point set after slicing, thereby obtaining a GCode file of a supportless external fixation device.
[0026] This method allows for supportless printing of externally fixed support models. The method includes the following steps:
[0027] S1. Import the external fixed model that needs to be printed without support, and adjust the spatial position of the model and trim the excess parts to facilitate subsequent printing without support.
[0028] S2. Calculate the angle θ between the top and bottom surfaces of the model. Using angle θ as a reference, move and rotate the dividing surface interactively, and record the rotation angle β. The value of β is adjusted according to the value of θ, but ensure that (θ-β) < 45°. Determine the position of the dividing surface and divide the model into two parts. For the part of the model below the dividing surface, slice it horizontally along the Z-axis.
[0029] S3. For the part of the model above the split surface, rotate the model around the printer's rotation center point O by an angle β, and then slice it horizontally along the Z-axis to obtain the rotated slice point set.
[0030] S4. Optimize the slice point set, adjust the step size, improve the quality of the path point set, and obtain the final GCode file.
[0031] Furthermore, step S2 includes the following steps:
[0032] S201. Calculate the angle θ between the normal vectors of the planes containing the bottom and top surfaces. Calculate the normal vector n1 of the plane containing the top surface of the model, and the normal vector of the bottom surface n2 = (0, 0, 1). Calculate the angle θ between the two normal vectors using the dot product method: θ = cosθ. -1 (n1*n2 / |n2|), where the user interactively selects the center point C of the segmentation surface, the normal vector n, and the rotation angle β. The value of β is adjusted according to the value of θ, but it is guaranteed that (θ-β) < 45°.
[0033] S202. Using the center point C, rotation angle β and normal vector n obtained from S201, the model is divided into two parts with the dividing plane as the boundary. Let the part below the dividing plane be M1 and the part above the dividing plane be M2.
[0034] S203. For the part of model M1 below the segmentation plane, calculate the bounding box size of the model AABB {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax}. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the model num times. The normal vector of the slice plane is {0,0,1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.
[0035] Furthermore, step S3 includes the following steps:
[0036] S301. For the part of model M2 above the split surface, rotate the model around the printer rotation center O by an angle β without changing the topological relationship of the model. Rotate all points of the model. Let Pi be a point before rotation. Calculate the corresponding point P'i after rotation. P'i.X = Pi.X*cosβ + Pi.Z*sinβ, P'i.Z = Pi.Z*cosβ - Pi.X*sinβ, P'i.Y = PY.
[0037] S302. Calculate the AABB bounding box dimensions {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax} of the rotated model. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the model num times. The slice plane normal vector is {0,0,1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.
[0038] This method for printing unsupported external fixation supports involves interactively moving and rotating the segmentation surface to obtain the center point C, rotation angle β, and normal vector n of the segmentation surface. Then, using the obtained center point C, rotation angle β, and normal vector n, the model is divided into two parts along the segmentation surface (plane). For the part below the segmentation surface (M1), the AABB bounding box dimensions are calculated. For the part above the segmentation surface (M2), the model is rotated by angle β along the printer's rotation center O without changing the model's topology. All points of the model are rotated, and then horizontal slices are performed along the Z-axis to obtain the rotated slice point set. Finally, the GCode file required for 3D printing is obtained, enabling unsupported printing of external fixation supports. This method solves the current problem of not being able to effectively handle models with overhanging structures when printing external fixation supports, the increased printing time caused by existing software slicing printing methods, and the need for post-processing of the support after printing.
[0039] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A supportless printing method, characterized in that, include: Step S1: Import the support model that needs to be printed without support, and adjust the spatial position of the support model and trim the excess parts to facilitate subsequent unsupported slicing printing. Step S2: Calculate the angle θ between the top and bottom surfaces of the model. Using angle θ as a reference value, move and rotate the dividing surface interactively and record the rotation angle β. The value of β is adjusted according to the value of θ, but ensure that (θ-β) < 45°. Determine the position of the dividing surface and divide the model into two parts. For the part of the model below the dividing surface, slice it horizontally along the Z-axis. Step S3: For the support model above the split surface, rotate the model by an angle β along the printer's rotation center point O, and then slice it horizontally along the Z-axis to obtain the rotated slice point set. Step S4: Optimize the slice point set, adjust the step size, improve the quality of the path point set, and obtain the final GCode file; Step S5: Perform 3D printing according to the GCode file; Step S2 includes the following steps: S201. Calculate the angle θ between the normal vectors of the planes containing the bottom and top surfaces. Calculate the normal vector n1 of the plane containing the top surface of the model, and the normal vector of the bottom surface n2 = (0, 0, 1). Calculate the angle θ between the two normal vectors using the dot product method: θ = cosθ. -1 (n1*n2 / |n2|), where the user interactively selects the center point C of the segmentation surface, the normal vector n, and the rotation angle β. The value of β is adjusted according to the value of θ, but it is guaranteed that (θ-β) < 45°. S202. Using the center point C, rotation angle β and normal vector n obtained from S201, the model is divided into two parts with the dividing plane as the boundary. Let the part below the dividing plane be M1 and the part above the dividing plane be M2. S203. For the support model M1 below the segmentation plane, calculate the bounding box dimensions of the support model AABB {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax}. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the model num times. The normal vector of the slice plane is {0,0,1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.
2. The supportless printing method according to claim 1, characterized in that, Step S3 includes: S301. For the part of model M2 above the split surface, rotate the model around the printer rotation center O by an angle β without changing the topological relationship of the model. Rotate all points of the support model. Let Pi be a point before rotation. Calculate the corresponding point P'i after rotation. P'i.X = Pi.X*cosβ + Pi.Z*sinβ, P'i.Z = Pi.Z*cosβ - Pi.X*sinβ, P'i.Y = PY. S302. Calculate the AABB bounding box dimensions of the rotated model {Xmin, Xmax, Ymin, Ymax, Zmin, Zmax}. Calculate the number of slice layers num = (Zmax - Zmin) / h from the slice layer height h, the maximum z value of the bounding box, and the minimum z value. Slice the model num times. The slice plane normal vector is {0, 0, 1}, and the center point is {(Xmin + Xmax) / 2, (Ymin + Ymax) / 2, (Zmin + i * h)}, where i represents the i-th slice.