LightBurn offers two file formats for saving projects. The current default format is ".lbrn2", but also available is the ".lbrn" (LightBurn legacy project) format. Why should you choose one or the other, and what's the difference?
Functionally they are the same
You can freely select either format, as there are no feature differences and no data loss going between them. The only meaningful difference is that the newer ".lbrn2" format uses a less complex syntax, making it smaller and faster to load - especially with large files.
XML is bulky
The reason for the file difference is that XML, the format used by LightBurn, has a lot of overhead. It doesn't make much difference for things like user options and layers, as there just are not very many of them. But shapes are a different story, and a complex LightBurn file with a many shapes can turn into a very large file.
For example, here is a single shape in XML from the ".lbrn" legacy format:
This happens to be a simple rectangle with some custom curved corners. Because it's a path, it's stored a bunch of points (vertex, or "V") and primitives ("P"). Imagine how large this could be if you had hundreds or thousands of these in your drawing.
Shrinking XML
To make it smaller, LightBurn introduced the ".xbrn2" file format that shrinks that <Shape> XML tag. It doesn't change anything else (except the header, where it indicates the file format). The above gets condensed into tight strings with just a few lines of XML, making the file size smaller and the loading time faster (because the syntax is much easier to read):
The size is much smaller! But it's also not nearly as readable ... for those of you who want to read vertices with quadratic Bezier control point and primitive connection information!
Precise position control
There is one other reason we've found to use ".lbrn". That's when you want precise control over the position of a point. For example, you can't specify the exact X/Y position of points in a path. If you save the file as ".lbrn", then it's straightforward (but not fun) to go in, change the points, and load it back into LightBurn. And you can freely switch formats without risking losing any information.
So which should I use and when?
If you are a regular user of LightBurn who doesn't need to look at the contents of the project files, then ".lbrn2" is the best format to use. Smaller and faster easily win.
But ... do you want to automate some aspects of the LightBurn files? Do you want to read and modify the files? That's when the ".lbrn" format wins. It's easier to understand and easier to write scripts to create or change it.
Now released... LaserPost
We've been working on an Autodesk CAM post-processor (for Fusion 360, HSMWorks, and Inventor) called LaserPost that automatically creates complete LightBurn projects directly from your solid models. It's now released - and free (source on GitHub using the permissive MIT license). You are able to define LightBurn settings directly on your solid models, and with just one click generate perfect LightBurn projects. No more fussing with DXF files, setting up layers and options, removing unwanted lines, fixing text engravings, handling kerf settings by hand, etc. Check it out!