Just remembered a potentially tragic event as we were getting our CNC machine shop installed and running. The CAM software vendor sends me the pre-processor for the Haas VF3-SS. I loaded it and programmed a simple square pocket for a test.
First thing the damn pre-processor does is a rapid traverse in x and y to the center of the pocket, WITHOUT raising the tool to safe "flight altitude". I was lucky in that I was using a vacuum chuck and a block of machinable wax for these tests, otherwise it could have been really ugly (broken tool and potential collision of the spindle with clamps leading to torquing the column out of vertical).
Fun stuff.
As a programmer who's used nearly every computer programming language from machine code, Forth, APL, C++, ObjectiveC and everything in-between I have always felt that G-Code is stuck somewhere in the Mesozoic era. Sure, it works, but one could certainly talk to these machines in far better ways.
This speaks to some of the low(-ish) hanging fruit in manufacturing that software can help with. I think we're closer to having the LaserWriter of 3D printing than the Pagemaker.
It's a huge understatement to say that CAD/CAM software sucks. Start by chipping away at small, solvable but labor-intensive parts, in the vein of Stripe.
Make tools that provide constraints that reflect the real world, in the hands of the designer. How often do you see beautiful design concepts that have zero draft or unmoldable overhangs? If those are things that are irrelevant with additive printing, then render the preview in no greater resolution than what the printer can produce, and identify the grain along which your part will break.
This will lead us to what my partner calls augmented fabrication. He prototyped Part Preview, a "Print Preview" for milling machines, projecting toolpaths onto your material or using a Kinect to intersect the blank with the model (unfortunately, no documentation except for http://www.metropolismag.com/pov/20111010/lab-report-2 and a thesis paper).
We need tighter integration between the software used to design objects and the hardware that manufactures them. Protomold is a step in the right direction. Because they control much of the process, they can tell you how your uploaded design needs to change to be manufacturable. That's an API for manufacturing - it digitizes something about the physical process. And it's a great educational tool. It's all about reducing the length of the feedback loop so that we can make mistakes and learn faster.
First thing the damn pre-processor does is a rapid traverse in x and y to the center of the pocket, WITHOUT raising the tool to safe "flight altitude". I was lucky in that I was using a vacuum chuck and a block of machinable wax for these tests, otherwise it could have been really ugly (broken tool and potential collision of the spindle with clamps leading to torquing the column out of vertical).
Fun stuff.
As a programmer who's used nearly every computer programming language from machine code, Forth, APL, C++, ObjectiveC and everything in-between I have always felt that G-Code is stuck somewhere in the Mesozoic era. Sure, it works, but one could certainly talk to these machines in far better ways.