Well, I own my own laser now, which came with a license for LightBurn. Hooray!
However, I am still frustrated by the fact that LightBurn still throws away layer information contained in DXF files. No, I don’t want to assign colours in my CAD software, I want to assign parts of the drawing to layers in CAD and assign laser operations to layers in LightBurn. I’m doubly frustrated after discovering that LightBurn layer names are editable, therefore LightBurn can create layers based on the layer names in the DXF.
I’ve also noticed several questions on this forum lamenting the same issue. Yes, there are workarounds, but that’s not really the solution. I’m guessing, but I haven’t confirmed, that LightBurn throws away layer information in SVG and other CAD formats. I use CAD to design parts that work together. Some parts are laser cut, some are CNC cut, and some are 3D-printed, but they all share the same CAD file so that I can see that they all align, and work together. I’d like to be able to import the file into LightBurn and ignore the layers that are not relevant, which I can’t if they’re all on C00.
Based on how I use CAD and LightBurn, and in an attempt to accommodate how other people use it I suggest the following algorithm. There are basically four combinations of layers and colours to handle: 1 layer, more than one layer, and 1 colour, more than one colour.
- If a DXF has only one layer and only one colour, import the layer into a layer named after the source layer, and set its colour (laser operation) to that colour.
- If a DXF has several layers and only one colour (i.e. all objects are the same colour), import each layer into a named layer, and set each layer’s colour (laser operation) to that (same) colour.
After examining the file and determining that there are several colors the user could be asked in a dialog whether to “Ignore layers” or “Ignore colours” (with one exception, see below). We basically have to handle one layer, many colours, and many layers, many colours.
Ignore layers (I think this is basically how LightBurn behaves currently):
- If a DXF has only one layer and many colours, ignore the layer name and import each coloured object into a layer named after the colour (C00, C01, C02, etc.)
- If a DXF has several layers and many colours, ignore the layer names and import each coloured object into a layer named after the colour (C00, C01, C02, etc.)
Ignore colours:
- If a DXF has only one layer and many colours, import the layer into a layer named after the single layer, and set its colour to a default (e.g. 00).
- If a DXF has several layers and several colours, import each layer into a layer named after the source layer, and set its colour to a default (e.g. 00).
Possible exception:
- If a DXF has several layers and several colours, but objects in each layer are the same colour, import each layer into a layer named after the source layer, and set its colour (laser operation) to the colour found on that layer. This could be detected and handled without popping up the “Ignore layers”/'Ignore colours" dialog. To be honest I can see this being the most useful: it retains layer names, but the designer can assign colours in CAD which are preserved into LightBurn, removing the need to assign colours/operations in LightBurn after importing.
The behaviour described in point 2 or point 7 would be ideal for me. I’d like to discuss any errors, omissions, or nuances in my suggestion, but fundamentally I’d really like if it LightBurn did not discard layer information.
Thank you.