Research and Implementation of Integrated Methods of Unsupported Printing and Five-Axis CNC Machining Technology

: In traditional 3D printing, the best method for creating overhanging structures is to add supporting materials; however, this often leads to an increase in costs and a decrease in printing efficiency. Therefore, a five - axis CNC machining technology is introduced in this paper, proposing an unsupported 3D printing method. Models requiring support structures were supported by an existing supporting surface by adding two degrees of freedom (rotation and swinging). Moreover, effectiveness of the proposed method was verified by experiment.


INTRODUCTION
In recent years, advances in rapid manufacturing technologies, in particular additive manufacturing (AM), have greatly shortened the development cycle of new products, thereby improving the efficiency and flexibility of producing new products [1][2][3]. The AM process is particularly well-suited to complex three-dimensional (3D) structures, however, some models containing suspension, hollow, or other complicated structures often need additional support structures to ensure smooth printing. The addition of support structures slows down the speed of fabrication and can introduce artifacts onto the finished surface, which can damage the actual product upon removing the supporting material [4][5][6][7].
In recent years, more attention has been paid to the optimization of support structures, and to reducing, optimizing, and even removing these structures altogether, which has become an important goal of 3D printing research. In this light, Wu et al. [6] proposed a selfsupporting rhombic filling method for 3D printing and demonstrated its effectiveness in generating interior designs for applications that require improvements in mechanical stiffness and static stability. Mirzendehdel et al. [8] found that topology optimization often leads to designs that are not AM friendly, therefore the concept of "support structure topology sensitivity" was introduced, combined with performance sensitivity, and a topology optimization framework was built to maximize performance. Furthermore, Hu et al. [9] presented an orientation-driven shape optimizer to slim down support structures, which can be employed as a tool to help designers optimize the original model, thereby achieving a more self-supported shape. Additionally, Thrimurthulu et al. [10] proposed a multi-standard genetic algorithm that improves surface quality, reduces the amount of support structure required, and decreases overall construction time. Tool path planning methods for sculptured surfaces machining include iso-parametric, iso-planar, and isoscallop methods [15]. Lee et al. [16] proposed a nonisoparametric tool path planning method, which uses all the right-side end points of the previous tool path as left-side end points of the current path. Xu et al. [22] introduced a dual drive curve tool path planning method and results demonstrated effective elimination of sharp scallops between adjacent tool paths, thereby maintaining a smooth tool path and improving the quality of machined surfaces. In summary, research to date has mainly focused on the optimization of support structures, whereas real unsupported printing has not yet been realized. The algorithms for optimizing support structures require a large amount of calculations and are difficult to apply to actual printing. Therefore, in this paper, the concept of '5-axis CNC technology' is introduced, and proposes an unsupported 3D printing method, which realizes the 3D printing process without any support materials.

OVERVIEW OF NO-SUPPORT CNC3D PRINTING STRATEGY
In 3D printing systems, new products are usually developed using computer-aided design (CAD) software, such as Catia and Solidworks [12]. Designs are then exported to a standard data model, such as STL, which is imported into slicing software to generate G-code based on horizontal slicing [12,13]. A representative 3D printing model is shown in Fig. 1.
As shown in Fig. 1(b), the overhanging part of the part requires supporting materials, which will greatly increase printing time and material costs. Therefore, five-axis CNC machining technology is proposed to realize five-axis 3D printing by adding two degrees of freedom of rotation and swinging, and printed materials can be used as the substrate by utilizing the space motion of the platform. This avoids the addition of supporting materials thus minimizing printing times and reducing costs. The no-support CNC 3D printing process, shown in Fig. 2, includes the STL input, model partitioning, model rotating, model slicing, path transformation, and finally, printing. Two formats can be used for STL files: ASCII format or binary [18,19].
(2) Model partitioning To perform model partitioning, geometric characteristics of the model should be analyzed to judge whether the model requires support structures during the printing process. If there is no requirement for support material, traditional 3D printing can be used and a path is immediately generated to print the model. If the model requires support material, a surface should be identified which can be used to divide model into multiple sub-parts. (

3) Model rotation
The order of sub-part printing should be determined after the model has been divided, ensuring each sub-part does not need any material other than the sub-part itself during the printing process, thereby realizing unsupportive printing of the entire model. The sub-parts must also be rotated by an appropriate angle prior to slicing to support substrate transitions.  In the model, each sub-part will be rotated by a specific angle to support some certain parts. The coordinate will be changed after the rotation, and therefore it needs to be calculated through path transformation to ensure the accuracy of each sub-part.

NO-SUPPORT CNC 3D PRINTING METHOD 3.1 Model Partitioning
The STL models that require additional support material usually have sudden changes in cross-sectional area. The sudden change is due to a large difference in the areas of two adjacent sections of the part, and therefore, model partitioning is required.
In model partitioning, three directions, X, Y, and Z must be traversed. The X direction is taken as an example to illustrate the partitioning process. First, the thickness of each slice is set as d, and the cross-sectional area of Surface(i) and Surface(i + 1) are calculated, which are two adjacent sections after cutting. The area of Surface(i) is Ssup and the area of Surface(i + 1) is S sub . Next, the sectional area coefficient ∂ of the section is set. A large number of experiments have shown that the angle between one side of the object (L1) and vertical line (L2) is greater than 45° and dangling [14,20], and collapse will occur without a base. Assuming Surface(i + 1) is greater than Surface(i), the difference in length between Surface(i + 1) and Surface(i) is Line (L3). Since the angle is 45°, Line (L3) and Line (L4) have the same length, therefore, the area coefficient ∂ can be derived and the formula is where i is the slice number and i ≥ 1. When ∂ > 1, the model must be split, and the distance from the origin is i×d. When Surface(i + 1) is greater than Surface(i), ∂ is greater than −1, and needs to be divided. The derivation of sectional area coefficient ∂ is shown in Fig. 4.
As shown in Fig. 3(b), when the model is divided Surface 1 and Surface 2 are called the partition surfaces.

Cross-Sectional Area
The model is divided based on whether there is a sudden change in area. The specific calculation process is shown in Fig. 5. Take a point on the cross-section of the polygon, generally selected as the lower right corner of the polygon, and starting from this point, make a ray to the positive direction of the X-axis. Calculate the number of intersection points between the ray and polygon. When the number of intersection points is zero or an even number, the polygon is the outer contour. When the number of intersection points is odd, the polygon is the inner contour; in other words, it has a hole structure.
(3) If the part has hollow structures, it should be transformed into monotonous polygons. If there are no any hollow structures, it will be directly triangulated.
If the cross section is identified as having hole structures, it must be transformed into a monotonous polygon. Set the vertex of the outer contour in accordance with the anti-clockwise order and set the vertex of the inner contour in accordance with the clockwise order. The feature point on the inner contour refers to the vertex where the coordinate value Y is the largest and the coordinate value X is relatively small, among all vertices of the inner contour. The specific steps are as follows: Step 1: Traverse the vertices of the inner contour to find the characteristic points.
Step 2: Find the point closest to the inner contour feature point among the vertices of the outer contour.
Step 3: Join the feature point to the point closest to the inner contour feature point, so that the inner contour and outer contour forms a polygon.
The transformation process of monotonous polygons is shown in Fig. 6. Point V9 is the characteristic point on the inner contour and Point V 1 is the point on the outer contour closest to V 9 . Joining the inner contour point V 9 and outer contour point V 1 , this becomes a monotone Polygon. The monotonous polygon triangulation method is shown in Fig. 7, where n is the number of polygon vertices. Supposing there are three consecutive vertices, Vi, V i + 1 , and V i + 2 , on the polygon, the condition required for V i + 1 to be the convex vertex is The polygon triangulation algorithm requires inputting the polygon vertex set S = {V 1 , V 2 , V 3 ,…, V n } and performing the following steps: Step 1: Calculate n. If n = 3, the polygon is a triangle, go to Step 6. Otherwise, go to Step 2; Step 2: Obtain the three continuous vertices, V i , V i + 1 , and V i + 2 , from set S and calculate whether the vertex is the convex vertex according to Eq. (2). If yes, go to Step 3. Otherwise, go to Step 4; Step 3: Calculate whether the remaining polygons intersect edge V i V i + 2 except the edges V i V i + 1 and V i + 1 V i + 2 . If yes, go to Step 4. Otherwise, go to Step 5; Step 4: If the three vertices, V i , V i + 1 , and V i + 2 , cannot form a triangle, i = i + 1, and go to Step 2; Step 5: A new triangle is formed by three vertices, V i , V i + 1 , and V i + 2 . Remove the triangle and sort the remaining vertices, n = n -1, and go to Step 1; Step 6: End. A representative example of using the algorithm is shown in Fig. 8(a). Since vertex V 2 of the triangle V 1 V 2 V 3 is convex, the method proceeds to Step 5. After triangle V 1 V 2 V 3 is removed, the vertices are sorted again. As shown in Fig. 8(b), the edge L1 of the triangle V 1 V 2 V 3 intersects with the edge V 11 V 12 . Therefore, the triangle V_1 V_2 V_3 cannot form a polygon, i = i +1, and the method proceeds to Step 2. Vertex V 3 of triangle V 2 V 3 V 4 is convex and no edge intersects with V 2 V 4 , so the algorithm proceeds to Step 5, and so on. The result is shown in Fig. 8(c). Then, Fig.  8(d) and Fig. 8(e) can be calculated. When n = 3, the process of monotonous polygon triangulation ends. An example result is shown in Fig. 8 where n is the number of triangles.

Determining the Model Printing Sequence
Different subsections will have different priorities. The underlying material, or other material supporting printing, is called the supporting foundation. Therefore, the supporting foundation is a relative concept. The specific process is as follows: First of all, among all sub-parts serving as the basis of support, the sub-part that can be supported without requiring any other sub-parts and has a larger volume is regarded as the highest priority sub-part, i.e., the sub-part that must be printed first. The sub-parts that need a supporting foundation while also supporting other subsections are defined as sub-priority subsections. Thus, all sub-parts are printed correctly in the order of printing priority. The method for determining the order of printing of sub-parts is showed in Fig. 9.
The STL model shown in Fig. 1(a) is an example of a segmented model, as shown in Fig. 3(a). The angle between Section 1 and Section 2 is 90°, therefore, the parting Angle 1 is 90°. Then, a 90° rotation in the clockwise direction, Subsection 2 provides a supporting base for Subsection 1. After a 180° rotation, Section 2 provides a supporting base for Section 3. The actual printing sequence of the 3D model diagram is shown in Fig. 10.

Path Transformation
When the model is rotated and after slicing, the G-code needs to be reorganized. The conversion method of the printing path is as follows: Step 1: After model partitioning is finished, the crosssectional center of gravity of the section is generated, denoted as (aj, b j , c j ). As shown in Fig. 3(b), Point 1 is the center of gravity of Section 1. After rotation, the center of gravity is recorded as (as m , b sm , c sm ) and the formula is where θ is the angle of rotation and (n x , n y , n z ) is the vector in which the axis of rotation is located.

Figure 11
Visualized tool path sliced using the no-support CNC 3D printing method Step 2: The slicing software after model partitioning is sliced on the bottom of the printing platform, therefore, it is necessary to recalculate the coordinates of the center of gravity of model section, denoted (a f , b f , c f ), and place (a f , b f , c f ) into the Eq. (5) to obtain the converted center of gravity coordinates, denoted (a m , b m , c m ).
Step 4: Since 3D printing is formed by continuous stacking of a material, the layer height is taken into account in the stacking direction (usually the Z-axis direction) in Step 3, and the G-code is converted to G1 X(x' + ∆a), Y(y' + ∆b), and Z(z' + ∆c + 0.1) E0.1. The actual G-code simulation of the STL model is shown in Fig. 11.

EXPERIMENTAL PLATFORM AND EXPERIMENTAL VERIFICATION 4.1 Experimental Platform
As shown in Fig. 12(a), the device can be improved based on the X-Y transmission mechanism and equipped with a receiving platform. To ensure higher mechanical transmission stability and excellent mechanical properties, metal materials are used for the main printing platform and guide rail. The movement ranges of X, Y, and Z is 500 mm, 500 mm, and 700mm respectively. The movement angles of the A-axis and C-axis are both ±360°. The receiving platform is circular with a diameter of 160 mm. The slave computer control system [19] consists of a six-axis control panel to realize individual control in five degrees of freedom, as shown in Fig. 12(b). The host computer control system was developed by QT5.8 and used to realize the Gcode conversion and calculation of the cross-sectional center of gravity.

Experimental Verification
In this experiment, the temperature of the nozzle was set to 210 °C with the ABS filament [22], and the temperature of the hot bed was set to 50 °C. The support fill density was 30%, the layer height was 0.2 mm, and the slow and fast print speeds were set to 40 mm/s and 60mm/s, respectively. The travel speed was set to 150 mm/s, the support overhang angle was 60°, and the nozzle diameter D was 0.4 mm.

Example of a Simple Model
The X-Y structure of the five-axis platform, based on the G-code conversion of the model presented in Section 2.3, was used for printing. Images of the 3D-printed structures are shown in Fig. 13. A comparison of print time and print consumables is presented in Tab. 1 and shows the printing time of the STL model was reduced by 50% and consumables were reduced by nearly 60% (measured in mm) using the same slice parameters.

Example of Bracket Parts
As shown in Fig. 14, for mechanical bracket parts, the traditional 3D printing process requires a supporting structure regardless of changes in the print direction, which greatly increases printing time. The no-support CNC-3D printing method was also used, as shown in Fig. 15. Subsection 1 was first cut first along the z-axis direction, then Section 2 and Section 3 were cut along the y-axis direction. However, when Section 2 was printed, the aluminum block of the heating module has a certain volume, and if the print head moves vertically, it will collide with the printed, as shown in Fig. 17. Therefore, the A-axis and C-axis should rotate at a certain angle, such that the print head in the nozzle will not interfere with the printed part. When Angle 2 is 45°, according to the size of the model in Fig. 14, calculating Angle1 is easy. The visualized tool path sliced using the no-support CNC-3D printing method is shown in Fig. 16. In actual printing, the nozzle interferes with the printed part, as shown in Fig. 18.    (a) (b) Figure 19 Brackets printed using different slicing methods: (a) no-support CNC 3D printing and (b) traditional 3D printing As shown in Tab. 2, the printing time was reduced by 45.7%, which greatly accelerates the printing speed and reduces material consumption by 44.7%. Actual printed objects generated using the no-support CNC 3D printing method and traditional printing method are shown in Fig.  19.

CONCLUSIONS AND FUTURE WORK
This paper introduces a five-axis CNC machining technology as an unsupported 3D printing method and provides a new method of printing complex hollow models. In contrast to traditional methods, the proposed method can be applied to actual printing without any complex calculations. The feasibility of the software and effectiveness of the no-support CNC 3D printing method was shown by experiment. The concept of '5-axis CNC technology' was implemented for fused deposition modeling (FDM), but can be extended to industrial production, mold manufacturing, aerospace, medical, and other fields, making it more convenient.
However, the no-support CNC 3D printing method does have some limitations. Collision between the receiving platform and nozzle often results in slight positional changes of the receiving platform, thereby reducing its accuracy. Furthermore, this method cannot be adapted to certain thin-shell curved surface models. Therefore, further work is needed to be able to apply the CNC cutting trajectory to these problems by incorporating current 3D print path formats.