I'm now pretty familiar with SolidCAM (a SolidWorks CAM plug in), and I've had a look at the screen shots and sales blurb for a bunch of others. I am not impressed.
The state of the art CAM seems to be stuck on an unnecessary plateau: Slick but dumb. The user is presented with a fixed toolbox of slightly adaptive machining strategies and expected to choose an appropriate sequence of them to apply to various parts of the stock in order to produce an acceptable result. The process is both slow and demanding of human skill and attention, and the results are far short of optimal.
The better tools do have some optimisations that help a bit: Adaptive step over when milling with a ball nose, to limit the scallop to some maximum height; Feed rate adaption to varying cutting load; Solid modelling so that later machining steps only cut the material left by previous steps; etc.
However, this falls far short of what is possible: fully automatic generation of a far more optimal set of machining instructions. It seems to me that the local definitions of a good cut are fairly simple. A cut that is within the capabilities of the machine, at optimal feed rate and chip load, leaving only an acceptable scallop, and not gouging the part, is a good start, and would be better than the current approach can uniformly produce.
Ratings for all of these cut properties can be calculated, and a single merit function could be a weighted product of those ratings. This allows us to use any local search strategy to generate a complete tool path, by creating a sequence of locally (near) optimal cuts.
Global merit would include completing the task in minimum time, with minimum machine and cutting tool wear, with maximum quality. A simple hill climb optimisation would produce an improved but still substantially sub-optimal path. Simulated annealing, a genetic algorithm, or similar, would further improve the result.
In future posts I'll propose an algorithm in detail and get in to the implementation details, with the intention of cutting alpha release code in python and starting an open source project to get this in practical use.
Tuesday, 28 October 2008
In praise of a good workshop
Having a good space to work in makes it massively easier to do good work.
At first my workshop was the spare bedroom: a tiny child's room. Then I got my CNC router, took over the dining room too. This meant that most of my tools and materials were stored in one place, and I was working in another, which resulted in a huge waste of time and a perpetual battle against clutter. It was also impossible to keep the metal swarf out of the rest of the house.
Now I've moved, and I have a single garage as a workshop. It's still a bit cramped, but it's a massive improvement.
Here are some of the highlights of what I've set up.
Around the spindle you can see the flood coolant delivery to the four orange nozzles, and the compressed air with optional mist to the grey locline with the red tip. I'll post later on building and using the coolant systems.
Between the flood nozzles is a ring brush that surrounds the bit. The open middle of the ring goes to a shop vacuum cleaner via the the big black hose.
Thursday, 23 October 2008
Is this thing on?
Hello.
This is a blog about making things.
I find the transformation of idea into object uniquely satisfying, and oven the coming months I'll be sharing my projects with you as they bubble up in my fevered brain as ill-formed ideas, struggle and compete for the sunlight of my attention, and flower or wither by turns as may may be.
I expect to write about CAD (especially SolidWorks), CAM, CNC (especially Linux and EMC2), milling and machining, casting, composites, resins, elastomers, programming and electronics. It's my intention to share useful insights, techniques, and lessons in these areas as I learn them, and my hope to receive similar in return.
Some projects will be entirely for my personal amusement, while others may result in commercially exploitable products. I may be a little cagey about some of the latter.
I'm currently working on, amongst other things, a light weight high performance geodesic dome made from advanced fibre composites and metalised polymer film, a totally silent high performance PC, and a costume for next years Burning Man that includes a 3000 channel 1kHz LED PWM dimmer and 1000 lightguides cast in clear elastomer in the shape of feathers.
I hope that you get some part of the joy from reading about my projects that I get from working on them.
This is a blog about making things.
I find the transformation of idea into object uniquely satisfying, and oven the coming months I'll be sharing my projects with you as they bubble up in my fevered brain as ill-formed ideas, struggle and compete for the sunlight of my attention, and flower or wither by turns as may may be.
I expect to write about CAD (especially SolidWorks), CAM, CNC (especially Linux and EMC2), milling and machining, casting, composites, resins, elastomers, programming and electronics. It's my intention to share useful insights, techniques, and lessons in these areas as I learn them, and my hope to receive similar in return.
Some projects will be entirely for my personal amusement, while others may result in commercially exploitable products. I may be a little cagey about some of the latter.
I'm currently working on, amongst other things, a light weight high performance geodesic dome made from advanced fibre composites and metalised polymer film, a totally silent high performance PC, and a costume for next years Burning Man that includes a 3000 channel 1kHz LED PWM dimmer and 1000 lightguides cast in clear elastomer in the shape of feathers.
I hope that you get some part of the joy from reading about my projects that I get from working on them.
Subscribe to:
Posts (Atom)