From the assembly line chaos of the 1936 Charlie Chaplin classic Modern Times and the robot-driven science fiction movies of the 1950s and beyond, automation (and its inherent robot-driven workforce) has always struck fear in the hearts and minds of organized labor. Since Ford Motor Vice President D.S. Harder first coined the phrase in 1946, the word automation has gotten a bum rap. Fast forward to 2021 and humans and robots work hand in pneumatic claw, yielding faster production and lower prices to customers.

Automation can and should be applied to another phase of the manufacturing cycle—CAD/CAM. Automation within a CAD/CAM environment takes a different approach. Instead of replacing programmers with soulless automatons, CAD/CAM automation gives those same engineers the tools to reduce or eliminate redundant tasks common to every programming example so they can focus on more skilled programming.

Automation should be flexible enough to adapt to differences in geometry. The programmer should always define the appropriate automation using their best practices instead of relying on what a CAD/CAM software engineer thinks stepovers and stepdowns should be. Common tasks such as roughing, pocket milling and hole processing should be capable of being fully automated. However, depending on the depth of the automation, complete project programming is possible using one of three automation styles: feature-based, attribute-based or script-based.

CAD/CAM automation gives those same engineers the tools to reduce or eliminate redundant tasks common to every programming example so they can focus on more skilled programming.

1) Feature-based automation is programming individual features of a model. Traditionally, these features consisted of various hole and pocket styles. Once you manually defined those features (or as is the case with more advanced CAD/CAM systems, automatically recognize those features), you can apply user-defined macros or sequences of programming cycles to the features. The toolpath cycles should be intelligent enough to adjust parameters for the features automatically, for example, counterbore depth, depth of holes and whether a pocket is closed (requiring ramping stepdown of tools) or open (allowing tools to plunge outside of pocket).

Many CAM systems import data from different CAD systems. During the import process, you can lose feature manufacturing data during the import process, such as hole thread designations or fit tolerances. Good CAM software uses the application of additional attributes to features that activate the missing manufacturing data. For example, a hole with a diameter of 0.201 inch is just a hole with a diameter of 0.201 inch.  Make that hole a pre-defined color representing ANSI coarse threads, and suddenly that 0.201-inch-diameter hole has a 1/4-20 thread, and the system then knows to pull a tap out of the tool database to finish the processing of that hole.

Of course, feature technology should not just be limited to holes and pockets. Modern CAM system’s feature-based programming should only be limited by the programmer’s imagination. For example, you can organize surfaces, curves, boundaries and even machining vectors into a customized feature that can then populate multiple toolpath cycles, using one group of surfaces as machining geometry and a different set of surfaces as stop, or check surfaces. One or two toolpaths down the job list, the usage of those surface groups might flip-flop. In theory, it should be possible to turn the entire detail being machined into a customized feature. Also, the toolpath cycles should be fully populated by the geometry via their attributes, whether a simple roughing operation or dozens of toolpaths to rough, semi and even finish the detail.

Modern CAM system’s feature-based programming should only be limited by the programmer’s imagination.

2) Attribute-based automation allows the selection and programming of geometry based on specific attributes applied to said geometry. For example, make the male fillets on a model a particular color of blue (or any pre-determined color) and they are automatically machined; put a closed contour on a level named “Boundary” and it is automatically selected in a semi-finishing 3D Profile toolpath, or select the surfaces that comprise the jaws of your vise and tag them with a user-definable name. Toolpaths will automatically avoid those vise surfaces, ensuring safe, collision-free machining. Adding or changing geometric attributes allows the sorting and selection of geometry and the population of toolpath cycles.

Of course, this adds a new level of data manipulation required by the programmer. A specific cycle looks for all of the surfaces of a pre-defined color to automatically populate a toolpath cycle. The programmer must make all of those surfaces the pre-defined color first, which is where great CAD systems come into play.

Dynamic selection capabilities should reside within the CAD environment, allowing quick and accurate geometry selection. Smart selection filters should allow programmers to select fillets, chamfers, tangent surfaces and other geometric entities with a simple mouse click. Analysis functionality should identify all radii, even if they are non-uniform rational basis spline (NURBS) surfaces, and color them appropriately. Finally, chaining capabilities should allow multi-surface boundary creation at the click of a button.

These tools should be readily available and intuitive to use for easy manipulation of the geometry’s attributes. Once colored, layered or tag-named, toolpaths in a dedicated database are applied, populated and correctly calculated. Theoretically, it should be possible to import the next part, change attributes, use macros from the database and calculate.

CAD/CAM automation can feed less experienced programmers a healthy diet of pre-defined, best-practice programming standards developed by more seasoned engineers.

3)Script-based automation is the best of feature- and attribute-based automation but on steroids. Using the full capabilities of a high-end, dedicated CAD system, script-based automation recognizes features, changes the attributes of surfaces, preps the model for manufacturing and so much more.

A good script-based automation system uses a CAD/CAM system’s CAD capability much more than feature- or attribute-based automation. It should be capable of patching over holes, coloring planes and radii, creating curves and boundaries and creating layers to populate the created geometry. Script-based automation can import vises and fixtures, find best-fit coordinate systems and create multi-axis machining vectors. Programmers can apply macros consisting of the full manufacturing process and populate all toolpaths by the geometry the script-based automation generated or manipulated.

Automation can include creating a current stock chain, calculating the toolpaths and generating the posted G-code. Finally, full documentation of both the job list and the included tools is generated and saved in the project folder. True script-based automation can accomplish the above list with a minimum of user intervention and no more than a handful of mouse clicks.

CAD/CAM automation is a technological boon for skilled programmers, taking care of the rote tasks that can bottleneck productivity and prevent those same programmers from concentrating on high-value processing. It is also advantageous in assisting management with the difficult task of hiring high-level CAD/CAM programmers. In a manufacturing world hungry for a technologically advanced workforce, CAD/CAM automation can feed less-experienced programmers a healthy diet of pre-defined, best-practice programming standards developed by more seasoned engineers. This benefit vastly increases the size and scope of available CAD/CAM engineers, dramatically reduces the return on the investment of hiring someone with an unknown skill level and rapidly allows in-house programmers to become productive by immediately following corporate programming standards.