Friday, June 19, 2009
Today I built a really simple holder for my shopbot bits and collets. And here are the source files I used to build it: bit-holder.zip. It includes the sketchup model, .dxf, PartWorks V2 .crv file that generated the toolpath, and the .sbp shopbot partfile itself.
It's astounding how bad this workflow is. There are plenty of opportunities to make mistakes with each of the 4 different file formats, and every time I make a change to the sketchup file, I have to manually regenerate each of the following steps and try to remember what settings I used. Plus, each of the 3 programs has bugs that create headaches at best and dangerous situations and ruined parts during manufacturing at worst.
So the bugs need to get fixed regardless. Then there are two ways to make the process better: make the workflow shorter, so that at least there's a single UI for each of the steps, or make the tools more modular and configurable so that you can automate the process of stringing them together.
The former approach reminds me of "integrated development environments" for writing software, such as Microsoft's Visual Studio. Everything comes with a slick user interface, and debugging, compiling and project management are all built in. The downside is that you're stuck with that package of tools, and automating big tasks like rebuilding a huge software product don't usually work very well.
The latter approach reminds me of using Makefiles to build software. You have to do some work up front to define how the parts of your project get built. But once you've done that correctly, typing "make" is sufficient to automatically rebuild any parts of the project that have changed. Big software projects almost always use this approach, in my experience.
The latter approach is the one I'd prefer in this case. There are three distinct parts to manufacturing a part on a CNC machine like this: making the 3d model, defining the toolpaths (what type of cutting bit to use, what what type of cut to make, feed rates, etc.), and executing that toolpath on your particular machine. Each of those can be relatively independent and should be interchangeable. And ideally, they'd all be available as Free software.
So someday, I'd like to be able to build my part in Free Sketchup, look at the Free toolpath generator's idea of how to cut it, tweak a settings file to fix anything I don't like, and then do a quick check on my Shopbot Simulator to make sure it'll cut the way I expect. And then when I have to tweak some part of the model, I can just run "make" and get all the derivative files generated automatically.
Posted by Lunkwill at 6:07 PM