Having participated in a few different DIY CNC/3D printer projects with various groups of people, I've concluded that the limiting factor at the moment is software. The machines are out there, but the tools for designing objects and generating g-code are all hacked together, poorly maintained, and don't exploit the full potential of the machine.
I think it's a cultural thing. Hardware people are not conscious about UX the way software people are and at the intersection, the hardware approach presently dominates. Legacy baggage is also a problem. CNC still uses data formats that pre-date computers.
Of course, maybe the best way to encourage more software is to get more machines out there, but my personal efforts are already going entirely into code.
I think it's a cultural thing. Hardware people are not conscious about UX the way software people are and at the intersection, the hardware approach presently dominates. Legacy baggage is also a problem. CNC still uses data formats that pre-date computers.
Of course, maybe the best way to encourage more software is to get more machines out there, but my personal efforts are already going entirely into code.