Exported GCode not working in Laserweb when filling object

Hi,
i use Lightburn for designing and Laserweb4 für cutting by Network (Raspy and Elekslaser A3 grbl1.1h).
I export gcode and load into Laserweb.
Line objects are working perfekt but if I use fill mode then Laserweb does not show my correct object.
GCode seems ok when i check it with an online checker.
If i print directly from Lightburn also everything runs fine.

I know this is not directly a lightburn problem but probably someone knows this issue and has a solution

Here is a small filled rectangle which Laserweb does not load correctly and was produced by lightburn :

; LightBurn 0.9.18
; GRBL device profile, absolute coords
; Bounds: X0 Y0.05 to X10 Y9.95
G00 G17 G40 G21 G54
G90
M4
; Scan @ 1250 mm/min, 100% power
M8
G0X0Y0.05
; Layer C00
G91
G1X10F1250S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G1Y0.1S0
G1X10S255
G1Y0.1S0
G1X-10S255
G90
M9
G1S0
M5
G90
; return to user-defined finish pos
G0 X0 Y0
M2

I can confirm the problem with fill, Snapmaker here. It took me a while to understand why everything was off and my machine claimed weird sizes of artwork. Turns out that whenever there is fill, the generated gcode is completely off and doesn’t make sense (to me, at least). Here is a small rectangle (10x1 mm starting at [0,0]), fill only:

; LightBurn 0.9.18
; SnapMaker device profile, absolute coords
; Bounds: X0 Y0.05 to X10 Y0.95
G21
G90
; Scan @ 100 mm/sec, 60% power
M106 P0 S255
M05
G0 X0 Y0.05 F0
; Layer C01
G91
M03 P60 S153
G1 X10 F6000
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X-10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X-10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X-10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X-10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X10
M03 P0 S0
G1 Y0.1
M03 P60 S153
G1 X-10
G90
M107
M05
G90
; return to user-defined finish pos
G0 X0 Y0 F0
M2
M03 P60 S153     ; Laser on at 60%
G1 X10 F6000     ; Move 10mm in X, at 100mm/sec
M03 P0 S0        ; Laser on at 0%
G1 Y0.1          ; Move down 0.1mm in Y
M03 P60 S153     ; Laser on at 60%
G1 X-10          ; Move -10mm in X

… and so on.

The original poster says that LaserWeb does not show the GCode correctly, but never said that it failed when run on the machine. I’m not going to make the GCode output of LightBurn less efficient just to make the display look correct in a project that’s not even being developed any more. :slight_smile:

You said “everything is off” - how so? LightBurn also uses all relative moves for engraving, instead of absolute moves, because they tend to be smaller. If you use the default 0.1mm interval, for example, most moves will look like:

G1 X0.1 S0
G1 X0.1 S100
G1 X0.1 S0
G1 X0.1 S100

Instead of:

M5
G1 X120.1
M3 S100
G1 X120.2
M5
G1 X120.3
M3 S100
G1 X120.4 S100

The extra data adds up.

Thanks @LightBurn, relative coordinates do explain it!

(Sorry, misunderstood the OP and my brain interpreted it the way it wanted, as I didn’t want to open a new thread for something that has possibly been answered before)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.