Lightburn Gcode output is incorrect. Steps for curves in some places

Hi

I imported a DXF file which displayed correctly. I did a preview which also looked correct. I then sent it to the laser cutter which while most of the cuts were correct would often replace smooth curves with staircase interpolations. I assumed that it was my laser-cutter and carried out several tests which all completed correctly.
I then exported the gcode from Lightburn and brought it into UGS to verify the code and found that the gcode itself was incorrect and did actually have the staircase paths.
I had hoped to send the files but there doesn’t appear to be the ability to attach files in the forum. I have included the support data below, and here is a link to the item that I was printing.

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

There is the ability to attach files in the forum, but you’ve just joined - it’s restricted for new users to prevent spam.

What gets shown in the preview is almost identical to what is sent to the laser, though the GCode is rounded to the nearest 100th of a mm.

In general, no need to include the support data unless we request it. I’ve bumped your level in the forum so you can attach the GCode and the LBRN file you made it with.

Understood, we all hate Spam, including the tinned variety.

OK so I just ran the same batch of tests on my mac as well with the same result.
I was trying to upload the DXF file but it gets rejected but I put a link to it in my original post.

I have included screen caps of the display in LB, the viewer, and what UGS thinks the gcode is describing. The actual burn is exactly like the display in UGS.

I hope this will be of assistance but if you need anything else please let me nkow.

message.

!
2020-10-16_20-38-35|641x499

dragon_gcode.txt (838.5 KB)

I went to try to upload the Lightburn file but it is 105Mb and too large.

Here is a link to the LB file in DropBox -

Let me know if there is aproblem downloading it.

Chris

There is no universe in which that file should be 105mb. That’s crazy. Downloading to have a look at it…

Ok, so this is half a bug on our side (that has already been fixed for the next release) and half the fault of the file, triggering the bug.

This file is likely exported in microns or something, as it’s importing huge, and there are tons of nodes. If you simply shrank it, the node count would still be massive, and that’s what will be sent to the machine. 268,000 nodes in this design because you used the DXF, not the SVG, and DXFs are kind of crap for artistic stuff. If you import the SVG instead, it’ll behave better and be the correct size.

LightBurn will automatically do arc recovery from DXFs, but since this file imports so huge, all the error tolerances are set for normal scale art, so it doesn’t optimize nearly as much as it should. If you imported the DXF and sized it, select it, go to Edit > Optimize Selected Shapes, then then drag the Arc and Line Fit tolerances up a touch.

Doing that took it from 268,000 down to about 2500 nodes, and this will, in turn, not trigger the rounding error bug in the GCode generator.

Makes sense. Would you recommend always using SVG as input for LB? From a simplicity point of view? Is there any software that you are aware of that can do a ‘Sanity Check’ on DXF files?

Oh, and thanks for jumping on this so quickly. Pretty outstanding support.

Chris

SVG, AI, and PDF are better as “artistic formats”, and the way they represent curves is identical to how LightBurn stores them internally. We use cubic Bezier splines, which is pretty much standard for art.

DXF files, because they’re made to be for CAD, store curves in a form called NURBS (non-uniform rational b-spline). They’re very flexible, but the math is crazy, and there’s no way to directly convert from NURBS to Bezier splines, so most non-CAD software (us included) converts them to lots of points, and will occasionally then re-fit the result back to Beziers. You lose a little in the translation, but not much.

In this case the real problem is that DXFs are also stupid about storing what unit of measure they were made in, so if you save a file in mm, but someone else imports that as inches, you’ll end up with it 25x bigger than it should be. Our re-fit code works in “real” units, making sure that no part of the point-converted spline is farther than 0.05mm from the original, so when you import it 25x bigger than normal, you get about 25x more points than you expect. :slight_smile:

SVG / AI / PDF don’t have these problems, because they work in a single unit (always in “points”, which is 72 units per inch), and they store splines in the way we do internally, so there’s no translation required.

2 Likes

Just imported the file in SVG format and it cut it like a charm! Top notch support indeed. I shall be buying LB when my trial runs out (I’m a skinflint aren’t I :slight_smile: ) as it seems to be everything I need in a laser burning software. I am using the VigoTec VK-7x which is not compatible with any third party software so I have ditched the controller and replaced it with a home built Arduino UNO/3D shield and it now runs a treat.
Thanks for the info.
Chris

Excellent explanation, Oz.