Direct digital manufacturing (DDM) is the creation of a physical part directly from a computer-aided design (CAD) model with minimal process planning and is typically applied to additive manufacturing (AM) processes to fabricate complex geometry. AM is preferred for DDM because of its minimal user input requirements; as a result, users can focus on exploiting other advantages of AM, such as the creation of intricate mechanisms that require no assembly after fabrication. Such assembly free mechanisms can be created using DDM during a single build process. In contrast, subtractive manufacturing (SM) enables the creation of higher strength parts that do not suffer from the material anisotropy inherent in AM. However, process planning for SM is more difficult than it is for AM due to geometric constraints imposed by the machining process; thus, the application of SM to the fabrication of assembly free mechanisms is challenging. This research describes a voxel-based computer-aided manufacturing (CAM) system that enables direct digital subtractive manufacturing (DDSM) of an assembly free mechanism. Process planning for SM involves voxel-by-voxel removal of material in the same way that an AM process consists of layer-by-layer addition of material. The voxelized CAM system minimizes user input by automatically generating toolpaths based on an analysis of accessible material to remove for a certain clearance in the mechanism's assembled state. The DDSM process is validated and compared to AM using case studies of the manufacture of two assembly free ball-in-socket mechanisms.
Introduction
Traditional subtractive manufacturing (SM), i.e., milling and turning, is responsible for the majority of high-precision parts that are currently produced for the aerospace and automotive industries. SM processes focus on the removal of material from a piece of stock and can shape a wide range of materials, including metals, plastics, and composites. These processes are implemented on machine tools that have both linear and rotational axes to move a cutting tool to a given position and orientation on a workpiece. More complex parts are machined on computer numerical control (CNC) machine tools that have multiple linear and rotary servo-axes; for instance, five-axis machining offers the highest amount of flexibility as five-axis machine tools are able to accurately control both the Cartesian location and pose of a milling tool using three translational axes and two rotary axes [1]. However, five-axis machining is also the most challenging process to implement, due to the high number of variables and considerations involved [2].
The design and implementation of five-axis machining operations is typically performed using a computer-aided manufacturing (cam) software package that is capable of generating toolpaths from a given computer-aided design (CAD) model. While CAM greatly simplifies process planning for complex machining operations, it still requires extensive training and experience to use correctly [3]. Many CAM systems, while providing some automation in the toolpath planning process, still suffer from a number of shortcomings: first, they limit the toolpath to follow simple trajectories that may be easily computed [4]; second, they constrain the tool velocity or orientation; and third, they process features in a serial manner without attempting to optimize the entire operation [5]. These constraints necessitate a significant amount of experience for the CAM user, to the extent that talented CNC programmers are highly sought after in industrial machining operations [6].
Additive manufacturing (AM) processes have recently become very popular because they allow users with minimal experience to create complex parts from a range of materials [7]. In typical AM processes, a part model is sliced into two-dimensional (2D) profiles that are used to guide a deposition mechanism, which is usually an extruder or a powder nozzle. Because most additive processes only rely on the simultaneous movement of two servo-axes, the motion of the nozzle is relatively simple. This motion can be thought of as similar to 2.5 axis machining, where two axes, usually X and Y, trace out the profile and the other axis, Z, steps in increments to build the profiles on top of one another [8]. Although the nozzle movements in AM are simple to create, the layer-by-layer addition of material allows for the fabrication of parts that would be very difficult, if not impossible, to create with other processes. Such parts include assembly free or nonassembly functional mechanisms, which are components capable of relative motion that can be fabricated in an assembled state. Knowledge bases that identify AM process parameters and their limitations in fabricating assembly free parts minimize the need for user input in AM CAM systems [9].
This work aims to demonstrate that assembly free functional mechanisms can be made using subtractive processes with minimal user input by employing a novel approach to CAM. The implemented CAM system, SculptPrint [10–12], relies on a discretized part representation and enables automatic generation of complex toolpaths needed to manufacture such mechanisms. The proposed approach to direct digital subtractive manufacturing (DDSM) overcomes two major limitations associated with AM processes: material anisotropy along build orientation; and slow fabrication before, during, and after the process, such as in part cleanup. The remainder of this paper is organized as follows: first, relevant background information is presented on CAM and computer-aided process planning (CAPP), direct digital manufacturing (DDM), and design for manufacturability (DFM); next, the DFM considerations for machining a ball-in-socket assembly are presented; finally, a case studies are performed to both evaluate the capability of an SM process to produce a ball-in-socket assembly and to compare DDSM nonassembly mechanisms to those made with DDM for AM.
Background
DDM of Nonassembly Functional Mechanisms.
There are two different types of functional mechanisms that may be considered as nonassembly. First, components such as ball bearings are manufactured by thermal expansion and contraction of two parts in order to fit them into a final assembled position. While the process is often not intended to be reversed, i.e., the component is not meant to be disassembled without compromising its functional life, it requires making parts separately. Other types of nonassembly mechanisms are manufactured in their fully assembled state, without the need for subsequent assembly of separate parts. Because AM processes are capable of decomposing complex volumetric geometry into a combination of 2D slices that can be disjoint traces (as long as they are connected to a lower layer), one of the main advantages of AM processes is their ability to create nonassembly mechanisms [13].
Mavroidis et al. have generated functional assembly joints including revolute, spherical, and universal joints for robotic hands [14]. However, the process is limited to prototyping in stereolithography and selective laser sintering. Most practical applications of AM in nonassembly parts are medical and relate to the manufacture of customized prosthetics [15]. A notable exception in a mechanical engineering application is demonstrated by Lipson et al. [16] by creating several mechanisms from the Cornell Collection of Reuleaux Kinematic Models. The main purpose of their work was to educate novice designers about how mechanisms work. The AM process limited them to use clearances above 0.4 mm to avoid problems such as friction, release (of moving parts), and removal of support materials. A similar work was done by Fuge et al. [17], who developed the mechprocessor software application to help novices search for and print mechanisms. Another approach utilizing the advantages of AM in minimizing assembly is to embed external components (such as circuits or metal parts within SLA) during the deposition process [18]. In this case, not all parts of the mechanism or assembly are fabricated additively.
Most of the work on utilizing AM for design for assembly has focused on part consolidation, i.e., combining parts that remain fixed relative to each other when the assembly is in service. Notable examples are the consolidation of nearly 20 parts in manufacturing the fuel nozzle slated for use in GE's leading edge aviation propulsion jet engine [19] and a hydraulic manifold in a test device for the drag strut retraction actuator of the V-22 Osprey aircraft [20]. Even though AM minimizes restrictions on design for assembly by enabling part consolidation [20], practical applications are rare. Depending on the process used to manufacture a part additively, some design constraints may arise. For example, in building assemblies with powder bed processes, loose powder must be removed from the assembly before its use, and the design must therefore accommodate access for powder removal. In addition, AM processes inherently suffer from anisotropic material properties where dimensional accuracy is higher, but strength (especially shear strength) is lower in the plane perpendicular to layering orientation.
Computer-Aided Manufacturing and Computer-Aided Process Planning.
Before the advent of cam software, NC machine tools were programmed manually using G-Code to produce the desired cutter movements. As personal computers became prevalent, cam software was developed to assist in the creation of G-Code and thus reduce the burden on the programmer. Originally, cam software merely created G-Code, and all auxiliary operations (collision checking, etc.) were left to the programmer. For two- and three-axis processes, collision checking is relatively trivial; however, for four- and five-axis operations, where the tool pose is controlled, orientation selection and collision detection becomes exceedingly difficult and time consuming even for experienced programmers [21]. Many modern CAM systems still do not afford the ability of automatic tool orientation selection, and instead force the programmer to lock one or two of the rotational axes during machining (3 + 2 machining) [21,22].
Throughout the past few decades, a tremendous amount of effort has been put into computer-aided process planning [23]. A variety of advanced cad/cam software has been developed to accommodate the high demand for automation and integration of design and manufacturing. Most cam software, while achieving some automation and optimization, still has difficulty with automatically generating toolpaths for complex features [24]. To obtain the full advantage of five-axis machining, especially for surfaces with complex geometry, CAM systems need to have complete flexibility in tool orientation [25]. Constraints including tool orientation planning and detection of global and local collisions limit the full usability of a five-axis CNC machine. Castagnetti et al. [26] created an optimization algorithm that first identifies the domain of admissible orientations for each point along a path on the surface of a part and optimizes the length of the path, assuming such a toolpath is determined to be possible. Morishige et al. [27] suggested a collision avoidance method that simplifies the computation of collision-free paths by replacing a solid model of the tool with two parameters for the machining configuration space (C-space): the tool center point and the tool axis vector. However, this approach orients the tool to be normal to the surface of the part which leads to suboptimal surface finish. Jun et al. [28], on the other hand, created a method that searches the C-space locally to minimize cusp height and machining error; this approach simultaneously optimizes a machining path globally to both minimize orientation changes (resulting in a smooth path) and to avoid the possibility of gouges and collisions. Most of the proposed path optimization methods attempt to solve two separate problems: find cutter contact curves with offsets and determine tool orientation (tilt and yaw). Wang and Tang [29] developed an algorithm to solve these two problems simultaneously: by adaptively and smoothly changing tool orientation according to local geometry, a reduction of the angular velocity and acceleration of the rotary axes of the machine was realized. Such advanced toolpath optimization and collision avoidance algorithms that are globally optimal are the leading factors in CAPP development.
Process Simulation in CAM.
Analytical simulation of the machining process in multi-axis CNC machining has been extensively studied. There are generally three traditional approaches: direct solid modeling, discrete vector intersection, and spatial partitioning representation [30]. However, challenges exist in these geometric simulation approaches, namely, computational complexity [31], inability to address multidimensional milling, verification for workpieces and setup hardware, and difficulty in simulation of the exact result of a cut [32]; as a result, the CAM system does not help users find the optimal toolpath but rather helps to provide partial improvements such as local collision avoidance or better efficiency.
Typical cam software relies on analytical models of a part that can be both inaccurate and difficult to handle computationally. Most cad/cam systems rely on geometric modeling kernels that use boundary representation (B-rep) to define a solid object through its surfaces in a three-dimensional (3D) space. While these analytic models are well developed and do not require large amounts of space to store, the surface complexity of the model determines the computing power needed to perform operations on the model [33]. Additionally, detecting interference between surfaces is computationally expensive. To represent both highly irregular surfaces and complex nonassembly mechanisms, it would be advantageous to rely on a data structure whose complexity and collision detection abilities are not limited in the ways that B-rep is. Most additive manufacturing processes use a discretized geometry representation, such as the stereolithography format, which consists of triangular tessellations to define part surfaces. In contrast to tessellated models, this research proposes the use of a voxelized part representation, where the 3D model is composed of many small cubes in the same way that a 2D image is composed of many small squares [34]. Voxel models allow for accurate simulation of the machining process, and sweeping the cutter to remove volume from the model does not suffer from the same computational complexity limits that are present when using a B-rep model. While the use of a voxelized part representation allows for very accurate machining simulation and reduced computational complexity due to the simplicity of Boolean volume subtraction, these advantages come at the expense of higher computation time than that taken to do a similar operation on a parametric model [11]. Each of the boundary voxels in the model must be operated upon while sweeping a cutter volume, which, when using a small voxel size for high surface resolution, can consist of millions of individual voxels. The structure of a voxel model enables it to be operated on using a parallelized processing platform, ideal for a graphics processing unit. The parallel processing capability of modern graphics processing units has been shown to greatly accelerate operations on voxel models when compared to implementations relying on CPU alone [35]. Therefore, the advantages of a voxel model can be realized without great sacrifice in computing performance.
SculptPrint: Voxelized Computer-Aided Manufacturing
Disadvantages in traditional volumetric modeling approaches motivate the development of a new approach to CAM and CAPP; this work proposes voxel-based modeling as an alternative way of representing part models for use in a machining operation. This work relies on the previous development of a voxel-based cam software known as SculptPrint [36–39], which uses the hybrid dynamic tree structure (HDT) [36] to represent the voxel model. An HDT is a combination of both grid and octree representations; the HDT uses dense grids at the bottom (root) and top (leaf) levels and traditional octrees in between. An example of this representation is shown in Fig. 1 [40]. The root level is shown as the large squares, known as cells. The cells are subdivided at the part surface level, and the leaf voxels that make up the part surface are shown as small dark squares. White cells represent unoccupied volume, while lighter cells represent volume occupied by the workpiece material. The root and leaf grids in the HDT are tunable variables, which can be modified to control memory requirements and traversal speed of the structure. Users can thus control the effective resolution of the voxel representation to reflect the accuracy requirements of a given machining operation. The voxel model enables users to have a What-You-See-Is-What-You-Get (WYSIWYG) effect while using the cam software. Toolmarks, scallops, and gouges are faithfully recreated during the machining simulation. Figure 2 demonstrates this WYSIWYG effect in the machining of a complex part, where the part volume is shown in gray and the tip of the cutting tool is shown as a white sphere.
Contact Volume Generation.
In SculptPrint, the generation of a toolpath begins with the creation of what is known as a contact volume. The contact volume represents the surface along which a given ball end milling tool can reside without hitting the target part or violating a maximum cutting depth. As a simple example, consider the volumes shown in Fig. 3. The target part volume, shown in Fig. 3(a), is the desired result of a machining operation. Offsetting the part volume by the combination of a machining allowance and the radius of a chosen ball endmill results in the offset volume shown in Fig. 3(b). The surface of this volume represents the collection of points along which the center of the sphere at the end of a ball endmill can reside without removing material from the target part volume. This example clearly neglects any stock material that remains outside of the target part as the part volume is offset directly. When accounting for a starting volume that is larger than the target part, the generation of contact volume realistically is performed in the following manner: first, the part volume to be machined is offset in the positive direction (expanded) by the combination of a cutting allowance and the ball radius r of a chosen tool; next, the starting volume is offset in the negative direction (shrunk) by chosen maximum axial cutting depth d; the resulting volumes from these operations are then unioned together to give the contact volume; the boundary of the contact volume represents the surface along which the chosen ball endmill can reside without either cutting more deeply than the chosen axial depth or removing material from the target volume [41].
The generation of an offset volume from a voxel model is analogous to the two-dimensional erosion and dilation operations that are frequently performed in image morphology. In the three-dimensional volumetric offsetting case as considered in this paper, the structuring element (SE) used to perform the morphological operation on the voxel model is a spherical kernel, rather than a circular one that may be used for image dilation. In this sense, the voxel model can be thought of as a three-dimensional grid where each voxel can have only one of three states: EMPTY, FULL, or BOUNDARY. The voxel state of FULL represents that material is present at the location of that voxel, the voxel state of EMPTY represents that no material is present in that voxel, and the voxel state of BOUNDARY represents that the voxel is on the surface of the volume. Algorithm 1 shows pseudocode that describes generation of the offset volume, which is performed by convolving a spherical structuring element with the part surface according to Ref. [42]:
The BOUNDARY voxels of VOffset then constitute the surface of the offset volume. This algorithm is used multiple times according to the discussion mentioned earlier to produce the final contact volume.
The creation of a toolpath can also be performed using a similar offsetting algorithm. Following the procedure described in Ref. [43], known as the 3D contour offset approach, convolution of a spherical SE with the surface of the contact volume along a starting contour will produce a tube whose radius is determined from the desired radial stepover for the toolpath. The intersection curve where the tube meets the surface of the contact volume can then be used as the successive contour along which to perform another offset with the same SE. This procedure can then be repeated as many times as necessary to produce a toolpath that covers the entire model. One advantage of this algorithm is that it enables the generation of an isoscallop toolpath that provides a constant cutting width during machining, allowing for higher surface quality than would be achievable with isoparametric approaches [44]. The generated toolpath then consists of a sequence of adjacent voxels along each contour whose centers can be connected by linear segments. These segments can then simply be communicated to a CNC machine tool as linear movements for each translational axis.
Tool Accessibility Determination.
Once the contact volume and toolpath for a certain part has been created, the orientation of the cutting tool at each point along the surface of the volume must be determined to ensure that the tool does not gouge the part surface. The selection of tool orientations for a multi-axis machining operation is one the most challenging parts of the planning process. Tool orientation selection strives for minimized machining time, and more importantly, collision-free toolpaths and smooth orientation variation [45]. This work proposes the use of accessibility maps, which are a sequence of binary images at every step along a toolpath that define accessible and inaccessible space. In this case, a step is defined as a linear movement between adjacent voxel centers along a toolpath. The maps are created by considering the complete geometry of the cutting tool and associated hardware, such as a collet and tool holder; this assembly is then checked for collisions with the voxel model at every tool orientation that the machine can produce. Inaccessible space is defined as the group of tool orientations that cause a collision with any piece of the voxel model. Pseudocode of the accessibility map determination algorithm is shown in Algorithm 2. Collisions can be avoided with a sufficiently high resolution of both the simulated part and the maps themselves. The accessibility maps are governed by the rotational degrees-of-freedom (DoF) of the cutting tool, which are selectable at every Cartesian point along a toolpath. For a cutting tool with two rotational DoF, a two-dimensional accessibility map can be generated using those DoF as orthogonal dimensions on the map. For example, consider the ball-in-socket assembly and accompanying accessibility maps shown in Fig. 4. The two rotational DoF, which in this case are referred to as and , each provide a quantized number of orientations for that cutting tool that is dependent on the resolution of the accessibility maps to be generated. The combinations of these orientations can be plotted in two-dimensional space, and each combination of and can be checked for collisions or gouging with the part using a model of the cutting tool assembly. Combinations that result in a collision are shaded, while those that are collision free are unshaded; the resulting binary bitmap then provides the and combinations that the tool is allowed to occupy [39]. By generating an access map for each point along a toolpath and stacking the maps together, a suitable tool orientation progression can be generated. This progression, shown as the red line through the stack of maps, is known as the access path. To ensure smooth variation of tool orientation through the path, the change in angle for each DoF between successive maps is limited. The maps can be generated with variable resolution depending on the curvature of the part to be machined. As the resolution of both the maps and the voxel representation increases, the accuracy and effective usability of the accessibility map algorithm improves. Once the tool orientation angles have been assigned to each step along the toolpath that was generated using the offsetting strategy described in the Contact Volume Generation section, they can simply be appended to the linear movement commands that are sent to the CNC machine to reproduce the toolpath.
Design for Manufacturability
The Degrees-of-Freedom of the Cutting Tool.
In contrast with three-axis machining, in which a tool can only translate in the Cartesian directions, five-axis machining enables two more degrees-of-freedom in tool orientation. Figure 5 shows an example of a flank milling toolpath on an example workpiece. The cutter location is composed of the tool tip point and the tool axis vector , where . The tool tip point is defined by the Cartesian location of the cutting tool. At and , the tool axis vectors are parallel with z-direction of the coordinate system; only three servo-axes on the machine tool are required to locate the tool at these positions. A five-axis machine tool provides two additional degrees-of-freedom to the cutting tool, shown in Fig. 5 as the angles and about the x- and z-axes, respectively. These degrees-of-freedom are used to locate the cutting tool at points , where . The definition of the angles and is arbitrary and dependent on the machine tool configuration. A machine tool with five servo-axes provides a number of advantages over a machine tool with only three axes, such as better tool accessibility, improved surface quality, and faster rate of material removal [28].
As illustrated in Fig. 6, complete machining of the surface S requires that the attitude of the tool be continuously modulated as the tool traverses the surface to realize contact at point P. It is not possible to efficiently machine this surface on a machine tool with only Cartesian DoF due to the potential interference between the tool and the workpiece at point I. While it would be possible to use a cutting tool whose cutting diameter is larger than its shank diameter, this requires the purchase of specialty tooling. The use of a machine tool that can control the attitude of the tool (a four- or five-axis machine) enables positioning of the tool at the proper angles to avoid interference; additionally, a shorter tool can be used than would be needed in a three-axis operation where the cutter diameter was larger than the shank diameter. This comes at a tradeoff, however, as the detection and treatment of local and global interference become much more difficult since the tool's orientation is allowed to change [46]. Frequently, collisions between the workpiece and machine components can only be detected by executing test runs on the machine or by using a NC-simulation program [47]. The use of the accessibility map algorithm described earlier enables automated determination of tool orientations to avoid collisions without proving out the toolpath on a physical machine tool.
Configuration of a 4 + 1-Axis Millturn Machine.
For this work, a 4 + 1-axis Okuma Multus B300II millturn machine with a rotary table and rotary head was used. As depicted in Fig. 7, the machine tool has three translational axes (X-, Y- and Z-axes) and two rotary axes (B- and C-axes). The C-axis rotates the workpiece about the Z-axis, while the B-axis rotates the tool about an imaginary axis that is parallel to the Y-axis. The machine is based on a horizontal lathe and is equipped with a servotailstock. The axis configuration of the machine tool is referred to as 4 + 1 because four of the axes (X-, Y-, Z- and C-axes) can be used for simultaneous four-axis contouring, while the fifth axis (B-axis) must remain in a fixed position during machining.
Design of a Nonassembly Functional Mechanism for DDSM.
The fabrication of nonassembly mechanisms requires careful design for manufacturability considerations that are dictated by the process used to make the part. One of the major considerations is in the configuration and placement of support structures. In a typical additive process, for example, support structures are used to counter the effects of gravity during material deposition. If material needs to be deposited on an overhanging angle, supports must be built up below the area to keep the deposited material from falling to the build platform. However, the support structures that are used for a machining process are required for different reasons. Because the part is cut from a solid piece of material, the uncut stock naturally supports the overhanging features. Additionally, the order of machining operations can be chosen to maximize the amount of support left for thin features during the machining process. Support structures are still needed to hold together parts of the assembly that experience relative motion once the assembly is complete [48]. For example, consider the machining of the ball-in-socket assembly shown in Fig. 8. Depending on the configuration of the machine used to make this part, support structures could be needed to hold the ball into the cage during the machining process. If the part was only supported by a fixturing mechanism on the bottom shaft, the ball would eventually fall away from the cage as the material between the ball and the cage was removed. While this problem could be remedied by thoughtful design of the order in which material was machined, attention must be paid to the rigidity of the entire assembly during the machining process. If, for example, the part was fixtured to a horizontal surface and materials were milled away from the right to the left, a situation would occur in which the remaining uncut material supporting the ball is so thin that it is unable to resist the forces applied by the milling tool during cutting. In this case, the ball would deflect away from the milling tool and chatter would be unavoidable, resulting in a poor surface finish. Additionally, choosing the machining direction being from the right to the left would present an additional problem: as the milling tool was cleaning up the final bit of material between the bottom of the ball and the bottom of the cage, the ball would eventually fall downward and collide with the milling tool, ruining the part. While the problem of this collision can be solved by choosing the machining direction from the left to the right, the issue of chatter would still be encountered.
One of the most popular ways to eliminate chatter during a machining process is to support the part in multiple places. On a typical machining center, this is done by using additional clamps; on a lathe, a tailstock or steadyrest is used. Because this particular part is based on a revolved solid, a lathe would allow for the rapid removal of the bulk of material from cylindrical stock. A lathe with the ability to mill, such as the millturn machine described earlier, would allow for roughing using a turning process and milling of the areas between the ball and the cage. Additionally, if the lathe were equipped with a tailstock, it could support the top part of the assembly. A steadyrest would not be applicable for this part, as the areas that need support are not round. A tailstock functions by applying significant thrust along the axial direction of the part to increase its resistance to deformation in the radial direction. Applying this thrust to the top end of the part while chucking it at the opposite end would allow for improved chatter resistance.
However, the use of tailstock thrust requires consideration of the design of support structures. Instead of resisting gravity, the support structures must resist the thrust of the tailstock to keep the assembly from collapsing during machining. The design of the support structures is dependent upon machine configuration, which limits the degrees-of-freedom for both the tool and the workpiece [49]. Figure 9 shows the assembly with radially symmetric support structures that are suitable for holding the ball against the tailstock thrust. These support structures are ideal for a machine configuration in which the workpiece has at least one rotational degree-of-freedom, and they are able to both hold the ball centered in the cage and resist the axial thrust of the tailstock. In this case, the tailstock thrust provided by the machine was set to its lowest value of 1 kN.
The desire to avoid additional costs associated with the removal of the supports in postprocessing dictated that the number of support structures should be minimized. The diameter of each support was selected to be 1 mm, slightly smaller than the cage rail to which it is connected. Figure 10 shows the results of a static load simulation performed in Abaqus on the chosen support structure design. It should be noted that the banded stress visualization shows the distribution for nodal values, which are interpolated from the integration points; the banded stress visualization is therefore an exaggeration of the actual calculated stress values. The 278 MPa maximum von Mises stress is less than the ultimate tensile strength of 346 MPa for 6061-T6, which indicates that the supports are sufficient to prevent the assembly from collapsing under the tailstock thrust during machining [50]. This analysis actually represents a worst-case scenario, as it assumes that absolutely all of the stock material will be removed to reveal the 1 mm support. In reality, however, a small amount of material will most likely remain in some low-accessibility areas around the supports, so it was expected that the support structure design would actually perform better than is predicted by the analysis.
The method implemented for the design of the support structures is heuristic. If the stress analysis had not passed, a different configuration would be selected until a satisfactory tool accessibility, strength, and use of a minimal number of supports was achieved. It should be noted that in this heuristic approach, the force exerted from the cutting tool was not considered and was assumed negligible. The reason for this is that the support structures were only machined down to the final 1 mm diameter in the final finishing pass. The low depth of cut and small radius tool did not contribute an appreciable amount of stress to the overall part outside of the tailstock thrust.
The final consideration in the design-for-machining of a nonassembly mechanism is tool accessibility. The cutting tool must be able to reach all of the features on the part without colliding with either uncut material of the machine structure itself [51]. Accessibility of the cutting tool is limited by the number of controlled axes of the machine. Consider the toolpath in Fig. 11, which is shown as light blue lines. The volume of the part before running the pass, known as the start volume, is shown above the remaining volume after the pass has been completed, known as the end volume. This pass begins the process of cleaning up the material residing between the top of the ball and the cage.

Progression of toolpaths and volume removal on ball-in-socket assembly: (a) start volume, (b) tool pass 1, (c) tool pass 2, and (d) end volume
After the toolpath has been created, tool orientations must be assigned to each point along the pass. Figure 12 shows the accessibility maps at various points along the toolpath. The white areas of the maps denote combinations of B- and C-axis angles that do not cause a collision or gouge, while black areas represent unusable orientations. The horizontal axis represents the C-axis angle, from 0 deg to 360 deg; the vertical axis represents the B-axis angle, from 0 deg to 180 deg, where 0 deg is defined as the axial direction of the workpiece (the Z-axis of the machine tool). The intersection point of the green lines denotes the currently displayed tool orientation.
Due to the curvature at the top of the cage, machining of this ball-in-socket assembly requires three translational degrees-of-freedom and two rotational degrees-of-freedom to allow the cutting tool to smoothly contour all of the features. However, the machine used in this research was not capable of providing a fifth degree-of-freedom to the cutting tool, so the assembly had to be designed around this restriction. The top of the cage was modified so that its bottom surface was flat and parallel with the XY plane of the machine tool, as shown in Fig. 13. This redesign enabled the creation of accessibility maps with a fixed value for the B-axis angle, shown in Fig. 14. Note that in the accessibility maps made for the 4 + 1-axis machine, the fixed B-axis produces the rectangular accessible regions instead of the curved regions produced when both rotational axes are allowed to move.

Tool accessibility maps for redesigned ball-in-socket assembly: (a) position along toolpath and resulting map and (b) position along toolpath and resulting map
Case Study: Manufacture of a Ball-in-Socket Assembly
Additively Manufactured Ball-in-Socket Assembly.
In order to manufacture consolidated assemblies, support structures are required. Popular knowledge of support structures has advanced with the rise in public awareness of AM and commercial fused deposition modeling (FDM) 3D printers. However, support structures in the form of tabs have been in use by CNC programmers for years. In both cases, these features are added to a design with the intention of securing a part during the manufacturing process. Where tabs in a SM process traditionally secure the part from unwanted vibrations, supports in AM have a more direct structural significance. Although powder bed and resin techniques present different perspectives on support structures in AM, the following analysis is restricted to FDM.
In many cases, geometries with an overhang greater than 45 deg from the vertical require additional structures to support the part as it is being printed. The reason for this is a consequence of the process in which FDM builds up the height of a part by stacking longitudinally sliced portions of the CAD file. A distinction should be made between the external support structure this research refers to and the internal structures sometimes referred to as infill. Many FDM systems allow the operator to select a percentage of infill density. If a part is not produced with 100% infill, a manufacturer's software package typically redefines the solid portions of the small, vertical layered CAD file cross sections as being filled with intersecting lines. These lines form a uniform array of polygons inside the part's cross section. The internal structure comprises of these lines that form uniform array of polygons, similar to a honeycomb. The density of infill refers to the relative size of these internal polygons.
Figure 15 shows several FDM printed versions of the ball-in-socket CAD file in ABS plastic. These photographs demonstrate how different orientations of the final part require the am ddm software packages to compute different positions and amounts of the support material. As with any manufacturing process, raw materials use should be minimized to drive down operating costs. It follows that selecting the specific orientation for a final part to be printed in FDM AM is an important decision made by the operators.
Table 1 shows the results of approximating the amount of material used by varying the FDM parameters of infill density, orientation, and support material. By comparison, the support structures used in the machined aluminum assembly are approximately only 0.17 g, which is 0.06% of the total part mass. Furthermore, only a very small impact is required to dislodge the internal ball from the supports. A commonly cited drawback to SM is the large amount of material wasted in the form of chips during the manufacturing process. The chip mass of the machined aluminum assembly is undeniably large, comprising around 85% of the original stock material. However, the cost of support material removal in postprocessing for AM, particularly metal AM, is very likely to exceed the loss in material cost in SM. Removing metal supports similar to those displayed in Fig. 15 would result in much longer processing times and labor costs. In contrast to additive supports, the volume of integrated support structures to be removed from a SM method is almost negligible.
Additive and subtractive ball-in-socket assembly support structure comparison
Printed assembly | Machined assembly | ||||
---|---|---|---|---|---|
Vertical orientation | Z-axis alignment | ||||
Infill % | Total mass (g) | Mass % of support materials | Stock mass (g) | 2033 | |
Support materials | 25 | 80.48 | 19.28 | Machined mass (g) | 298 |
40 | 93.94 | 16.48 | Chip mass (g) | 1734.83 | |
100 | 159.04 | 9.71 | Support material mass (g) | 0.17 | |
No support materials | 25 | 64.96 | N/A | Mass % of support material | 0.06 |
40 | 78.46 | N/A | |||
100 | 143.59 | N/A | Stock volume (cm3) | 754 | |
Side orientation | Machined volume (cm3) | 110 | |||
Infill (%) | Total mass (g) | Mass % of support materials | Chip volume (cm3) | 642.5 | |
Support materials | 25 | 73.33 | 12.81 | ||
40 | 85.03 | 11.07 | |||
100 | 151.98 | 5.53 | |||
No support materials | 25 | 63.94 | N/A | ||
40 | 75.62 | N/A | |||
100 | 142.57 | N/A |
Printed assembly | Machined assembly | ||||
---|---|---|---|---|---|
Vertical orientation | Z-axis alignment | ||||
Infill % | Total mass (g) | Mass % of support materials | Stock mass (g) | 2033 | |
Support materials | 25 | 80.48 | 19.28 | Machined mass (g) | 298 |
40 | 93.94 | 16.48 | Chip mass (g) | 1734.83 | |
100 | 159.04 | 9.71 | Support material mass (g) | 0.17 | |
No support materials | 25 | 64.96 | N/A | Mass % of support material | 0.06 |
40 | 78.46 | N/A | |||
100 | 143.59 | N/A | Stock volume (cm3) | 754 | |
Side orientation | Machined volume (cm3) | 110 | |||
Infill (%) | Total mass (g) | Mass % of support materials | Chip volume (cm3) | 642.5 | |
Support materials | 25 | 73.33 | 12.81 | ||
40 | 85.03 | 11.07 | |||
100 | 151.98 | 5.53 | |||
No support materials | 25 | 63.94 | N/A | ||
40 | 75.62 | N/A | |||
100 | 142.57 | N/A |
Subtractively Manufactured Ball-in-Socket Assembly With 4.762 mm Gap.
The part design presented earlier was machined on a 4 + 1 axis millturn machine, where three translational axes were assigned to the cutting tool and could move simultaneously with one rotational axis of the workpiece. One additional rotational axis controlled the angle of the tool and was indexable but could not move simultaneously with the other axes. The toolpaths used to machine the part were created with SculptPrint. The part was first turned so that the majority of the stock could be removed; next, a turn-milling operation was performed to rough out each of the four pockets; next, a 4.762 mm ball endmill was used to finish each pocket, the front of the part, and the areas between the ball and the cage. Figure 16 shows the progression of the assembly through the machining process. The turn-milling operation used to rough the part is shown in the first image. The tailstock used to support the part during machining is shown in the second image. The third image shows machining of the gap between the ball and the cage. The resulting part from the operation, in addition to the voxel model that depicts a simulation of the fully machined part, is shown in Fig. 17. The part with dislodged support structures is shown in Fig. 18.
Subtractively Manufactured Ball-in-Socket Assembly With 3.175 mm Gap.
A similar procedure to the one mentioned earlier was followed to machine another ball-in-socket assembly with a smaller gap between the ball and the cage. The smaller gap is a more realistic approach to manufacturing such a mechanism, as the gap between the ball and cage should be as small as possible to ensure proper operation of the ball-in-socket assembly. Selected operations during the machining process of the assembly are shown in Fig. 19. The 3.175 mm endmill that was used to machine out the gap between the ball and the cage is visible in the two rightmost images. The completed assembly is shown in Fig. 20.
Tool Accessibility and Part Design Observations During Manufacture.
Tool accessibility is one of the major challenges when machining nonassembly mechanisms, as the gaps between parts that undergo relative motion after the assembly is complete present tight areas in which the tool must machine. The analysis and creation of suitable tool orientations was performed automatically using the accessibility map algorithm described previously. This algorithm ensures that the toolpath is free of collisions with either the workpiece or the machine tool structure. If changes in orientation above some threshold value are required to avoid a collision, the tool is retracted away from the part before changing orientation. Figures 21(a) and 21(b) show the accessibility analysis for a 1/2 in ball end cutter accessing a tight area between the ball and the cage. The simulated result, along with the corresponding accessibility map, is shown in Fig. 21(a); when the toolpath was run on the machine, the identical physical result shown in Fig. 21(b) was observed.

Accessibility simulation and physical result: (a) accessibility simulation and (b) physical result at machine tool
Additionally, the total length of the part was designed such that it did not interfere with automated tool measurement equipment on the machine. The tool measurement device, known as a touch setter, is a motorized arm that sweeps across the machine Z-axis as it is deployed. This sweep radius limits the maximum axial length of a workpiece is the tool setter is to be used during the process. Due to the high-aspect ratio of the cutting tools, it was expected they would be broken occasionally. In this scenario, the touch setter was used to measure the offset of a new tool. The ball-in-socket assembly with the 4.762 mm gap was too long to allow the touch setter to be deployed; however, the redesigned assembly with the 3.175 mm gap was shortened as it required the use of smaller tools.
Discussion
The realization of gaps between parts that experience relative motion is of utmost concern when creating nonassembly mechanisms with any manufacturing process. In a subtractive process, the size of these gaps is limited to be no smaller than the diameter of the smallest tool used in the process. In an additive process, however, the gap size is limited by size limitations are due to different reasons. Minimum gap sizes vary by process type, e.g., smaller gaps are possible with powder bed fusion compared to fused deposition modeling. Process parameters, such as direction of adding the layers (which is often fixed), in relation to design parameters, such as feature orientation or feature size, also determine achievable minimum gap sizes. These two distinct constraints necessitate different DFM approaches when creating nonassembly mechanisms in either AM or SM. For example, in this case study, the gap between the ball and the cage was designed to be either 4.762 mm or 3.175 mm at the narrowest point; correspondingly, either 4.762 mm or 3.175 mm cutting tools were used to finish the parts. The realization of smaller gaps clearly requires smaller milling tools; while these tools are readily available, the aspect ratio of the tools may not be sufficient to machine the entire depth of a certain gap. A more exotic approach, such as laser beam machining or electrical discharge machining, can be employed in this scenario to create the required gap size.
The design of support structures is completely different for the creation of nonassembly mechanisms in AM and SM processes. For instance, supports are required to counteract the gravitational force acting on overhanging material in an FDM process; in the millturn operation, however, the supports were used to withstand the thrust of the tailstock used to support the part during machining. The design of these supports depends on the build orientation in an AM process and the fixture orientation in an SM process. The smaller percentage of part weight occupied by the supports for the SM process suggests that clearing away the supports after the operation requires significantly less effort for the machined assembly than it does for the additively manufactured assembly. In actuality, the supports used for the SM process could be completely eliminated given a highly sophisticated machine tool. If a secondary C-axis (subspindle) was used instead of the tailstock to counteract tool chatter, the supports would not be needed to withstand tailstock thrust. Additionally, the use of a subspindle would allow for automated destruction and cleaning of the supports, as the subspindle could use a sudden torque to break the supports and a turning tool could be used to clean the face of the ball.
One of the major challenges in implementing a toolpath to machine a nonassembly mechanism is the translation of the toolpath into G-Code that is readable by the machine tool. Due to the tight spaces that the tool must be maneuvered through, the G-Code programs generated to create such an assembly are typically quite large and made up of many thousands of small movements. This presents a problem to some machine tools, particularly those that are not designed for complex multi-axis contouring operations, as the controller is not capable of processing the small movements quickly enough to maintain the tool speed at an acceptable level. As a result, the programs can take hours to run. Additionally, the combined motion of translational and rotary axes must be very carefully coordinated to ensure that a high-aspect ratio cutting tool is not subjected to excessive force arising from a high material removal rate. For the most control over all of the axes, inverse time feed mode was used in this work; this feed mode is a way to specify to the machine tool controller the time it has to complete a movement rather than the Cartesian velocity at which the tool should travel. The Cartesian velocity approach is acceptable when rotary axes are stationary, but if they must move simultaneously with the translational axes of the machine, the effective federate across the part surface (and hence the chip load on the tool) varies as a function of the tool distance to part center of rotation. Inverse time feed mode solves this problem by allowing the CAM system to compensate for distance from part center when creating the toolpath by assigning completion time commands after every axis movement.
Conclusions
This research explored the area of direct digital subtractive manufacturing for nonassembly functional mechanisms. A voxel-based approach to CAM using SculptPrint was described in detail. The surface offsetting strategy and tool accessibility determination algorithms were explained, as was the data structure used to represent the voxel model in SculptPrint. The developed algorithms were used to generate toolpaths to machine two different nonassembly mechanisms: specifically, assemblies with either a 4.762 mm gap or a 3.175 mm gap between the ball and the cage were machined on a 4 + 1-axis millturn machine. The accessibility analysis approach used in SculptPrint allowed for the automated selection of tool orientations along the toolpaths used to machine the assemblies. In-process simulation of tool accessibility demonstrated accurate analysis of tool orientation at various points along the toolpaths with regions of low accessibility. The support structures that must be used when machining nonassembly mechanisms present different design considerations than those that are used for AM, and they also require less wasted material than would be needed with an FDM process. However, they introduce additional challenges for tool orientation planning, as the cutting tool must be maneuvered around the supports. Future work will explore the design for subtractive manufacturing of other nonassembly mechanisms and additional tooling choices that can be utilized to manufacture these mechanisms. Additionally, constraints presented by the machine tool controller, such as processing speed and positional derivative control, will be addressed in later studies.
Funding Data
National Science Foundation (Grant Nos. CMMI-1329742, CMMI-1547093, CMMI-1646013, DGE-1650044, and IIP-1631803).