Software for Pre-CAD systems design

Feeding the Machines

One of the consistent themes of this new century is the pining for the yester-years, when problems were many, tools were accessible, and manufacturing and labor were cheap, resulting in manifold companies, patents, innovations, and rising standards of living. There are many reasons that we should not expect that to return; as Robert Gordon says: "The 1870-1970 century was unique: many of these inventions could only happen once, and others reached natural limits."

This pining can be useful when ruminating on the ingredients of tomorrow, as it suggests that futures that resemble today but just demand more of people -- spend more years in school, work harder and smarter, offshore production -- are largely incorrect, not because they can't be made to work but because they try to solve a new problem with old techniques and mindsets, with brute-force. Instead, we should want to build new technologies that allow us to express, reason over, and manage tomorrow's complexity.

Why will tomorrow be more complex than today? Simply because it can be; each day brings increasing mastery over or knowledge of all that surrounds us, leading, for lack of a better word, to boredom with the present and the hope of fixing small inconveniences and notable failures all around us. As an engineer I will never say that things are as good as they can get.

One vision in manufacturing is mass-markets of one, the idea that consumers would like to be able to buy individualized products at commoditized prices. Within this vision are the ideas of just-in-time, lean, local, and bespoke production, and this is very much not the reality of today. Some areas of the manufacturing stack -- the companies, people, processes, and technologies that manufacture a good -- are ready for this future. Machining centers don't really care if they make 10,000 identical parts or 10,000 unique ones, provided they are supplied with the required stock, fixturing, and toolpaths.

Now, there is clearly a difference between producing a simple part on a manual machine and doing the same on a CNC; the CNC machine is more complex itself and requires supporting technologies to allow it to produce even the simplest of parts. It may be a little more precise to say that while the overall complexity of machining a simple part is the same, where that complexity resides has shifted from the operator to the machine controller and supporting ecosystem. This shifted complexity enables the machine operator to be more distant from the process, no longer turning handwheels and listening to the tool but instead programming this and many other jobs in advance of the work and then setting up and monitoring the production. The resulting increased productivity significantly depends on the computer-aided-manufacturing (CAM) software that allows the machining operations to be described and executed by the machine. Working towards mass-markets of one, then, requires shifting more complexity from a formerly static process -- produce 10,000 identical parts -- to something that is more dynamic and able to internalize the differences between 10,000 individualized parts. Doing this will require a different relationship between CAD and CAM software.

In many ways CAM software is a mirror image of CAD software, with both producing a 3D part though through differing operations. CAD starts with nothing and iteratively adds features, while CAM starts with a block of stock and iteratively removes material through simulated machining operations. CAD gives the designer freedom to focus on a feature's design, while CAM assumes the feature and offers multiple methods for machining it. But when a CAD designer makes a change to a feature, it is not immediately obvious how significantly the CAM will need to change to realize it, as it is only on the CAM side that the machine, stock, and tool limits are represented.

Making individualized parts, then, will require much greater coordination between the CAD designer and CAM programmer. The designer communicates the feature change and performance added to the programmer who replies with the cost, schedule, and other production implications of that feature change. In contrast to the immediate, visual feedback both designer and programmer receive from their software, this communication is slow and error-prone. Indeed, Autodesk Fusion360 mostly side-steps this challenge by simply merging the roles of the designer and programmer, leaving the performance/production trade inside the user's brain. The problem is that this does not scale; rather than forcing complexity onto users, software tools need to give them the ability to communicate more and more accurately.

Now, I'm using the mass-markets of one vision to illustrate this scale limitation, but it's present in differing degrees in every manufacturing system. And many areas are worse-off; CAD+CAM-driven CNC machining is in many ways a leading domain, as there are many manufacturing and assembly processes that are not computer-controlled, modeled, or simulated but rather operated significantly on experience. So it is from the perspective of how much work needs to be done that I am writing this, as it pains me to see how much effort is invested in working through and around poor processes, while at the same time seeing how un-ambitious and under-responsive most new CAD/CAM/PLM software features are.

Of course, I'm also writing in anticipation of the design tools that Mechanomy is building, tools capable of designing 10,000 individualized parts that I fear will not be able to be manufactured. If you are also looking forward to the challenges and technologies of tomorrow, say hi, and, as always, comment on Twitter/LinkedIn.

— Ben Conrad