I'm currently writing a CAM package in Perl. It is primarily designed for my own use for engraving jobs, mold making, and occasional milling of parts.

It will have the ability to generate G-Code for various kinds of 2D and 3D engraving, store art in a database, and manage orders/jobs. It will also have the ability to generate G-code for lengthy operations like pocket cutting.

So far, I have a few modules written, and it is able to turn paths in SVG into G-code for 2D engraving. I plan to add support for SVG Text elements too. 3D depth maps and engraving multiple items in one job are also on the to-do list. The frontend is as of yet undecided, but will probably be either console or CGI based. The program will run on *nix.

Eventually, I may add support for machining 3D meshes, 3D part previews, and time estimates.

Since there seems to be a huge shortage of open source CAM software and the prices for commercial software are insane, I am planning to release it under the GPL for other people to use, so I want to get some other ideas for features to add. Currently, I am only including support for features I actually use. I only use paths and text in SVG, so other shapes would not be supported. DXF is also not supported, since I use the Sodipodi SVG editor for tracing.

However, I may add other features if it would be useful to other people and isn't too difficult to do.

So, what features would you like to see in an open source CAM program?