Thoughts on hobby-oriented CNC file formats?

Ages ago there was a lengthy discussion on this on the Shapeoko forums, and I was curious what ideas everyone had.

Going from memory, the major suggestion was that there be a “bundle” format like to the app and file bundles of Mac OS X (which it inherited from NeXTstep, where I believe the idea originated). Basically a bundle is a directory w/ an extension which the system (and apps) treats as a file rather than a directory. The idea was that the bundle would include:

  • metadata file — this would include data on stock size, material, endmill, &c.
  • source files — with associated meta data for app, license, &c.
  • rendered preview — this would be linked into the metadata file and used in the file system for an icon
  • G-code files tagged with metadata for specific machine — it would be possible to have multiple G-code files in a bundle, so that one could have a file w/ say G-code for both a Nomad and Shapeoko

The app was envisioned to have step and repeat features to accept such bundles and lay them out on a table.

Anyway, think it’d be interesting to kick such ideas around and see what people think.

I also think we need to work up a standard test suite of files which comm / control apps and Grbl are tested against.