I stumbled across this trend by chance. I was looking for an interesting project to do that would involve some mechanics, some electronics and some software, and I decided I wanted to build a 3-axis milling machine. So I did. In doing so I discovered that for the past couple of years a lot of other people seem to have had the same idea. There is a growing number of people, some of whom only have the most cursory knowledge about any of the disciplines involved, who all of a sudden decided they want to make machines that makes stuff.
Since my machine is almost complete (I need a beefier PSU and a PWM-driver for the spindle) I have started looking at the software side of things. To control the machine there is a good free solution available in EMC2, but you need to feed it something. That something is G-code.
Without boring you with too much technical detail, G-code is a programming language that tells the machine what movements to execute. It says things like "move to position X,Y,Z at speed S". It is fairly simple to write a program that can interpret G-code and turn it into electronic pulses that controls a bunch of stepper motors or servos.
Now, the missing piece of the puzzle for me right now is the software that transforms 3D models into G-code. The CAM Software.
There is a lot of "industrial strength" CAM software available. "Industrial Strength" being code for expensive, clumsy and only available if you can bear to relate to tedious salespeople who want you to pay them lots and lots of money. Which is entirely predictable. This is a niche market and up until recently you would not find a lot of "civilians" who had any interest in hacking G-code in their spare time or even implement gadgets capable of executing G-code. Most of the web sites basically tell you to get lost. They have "case studies" and the sort of feelgood bullshit you aim at clueless procurement-types who can't tell the difference between PostScript, HPGL or G-code.
On the consumer end there's Mach3 and some of the CAM tools that are used with it, which looks like decent software. But the problem is that you would be tied to Windows. Anyone who has been keeping half an eye on recent trends would be able to tell you that Windows isn't exactly the first pick of the majority of the new CNC hobbyists. Or even the second.
However, there is a lot of activity in the open source world. Most of it still very rudimentary, but there are projects that are coming along nicely.
Anyway, my prediction is that the incumbents are going to do exactly the same thing that Adobe did when Photoshop became a mainstream application: nothing. This can lead to two outcomes. Either there will be rampant piracy with an ever-escalating arms race in which nothing is gained by either pirates or software vendors -- or someone is going to catch on and there will be new players in the CAM market that offer user-friendly tools at reasonable prices.
If I lived in the Bay Area right now and had $10M I would invest them in developing a CAM package aimed at the hobbyist market with the following features:
- Cross platform: Linux, OSX and Windows -- in that order of importance.
- Designed to be easily adapted to new machines (automatic configuration, machine specific vizualization etc)
- Very easily extensible with third party plugins.
- Gorgous UI design. (most cam packages are...not pretty)
- Open source
- Build on and integrate with EMC2
- Aggressively priced premium version with some extras ($80-$120 range)
- Online repository of designs a'la Sketchup with features for collaboration between users and groups of users.
- Online manufacturer integration ("click here to have 50.000 copies manufactured!" :-)
- Open APIs to online services.
Also, I think a good online service for storing, exchanging, licensing, selling, sourcing designs might be of even greater importance than an integrated CAM environment in itself.
No, I do not think that this will become entirely mainstream in the next 3 years, but if the right products hit the market I suspect that in ~5 years it is going to be huge. Remember, the hardware is not really complicated. It is in many ways no harder than designing a printer. The main problem now is that the software and the service ecosystem just isn't where it needs to be.
In 5 years I expect to be able to design 3D kits for my nephew, share the designs with him and then have him print it out on a 3D printer or mill it.