Swapping X/Y output in v1.6.00 causes laser not going back to start position

Swapping X/Y output to laser in v1.6.00 causes laser not going back anymore to start position after burning, when starting from current position :

  • My Laser offset is enabled : X= -16mm, Y=0mm becomes X= 0mm, Y=-16mm when enabling “Swap X/Y” (this is correct)
  • Starting from current position, after burning the final position is now offset from starting position X+16, Y-16.
  • Disabling “Swap X/Y output to laser” solves the problem… but I would appreciate to activate this option
    Regards
1 Like

Hi Gaetan

Thank you for reporting this.
Will try to replicate my end and report back!

2 Likes

EDIT: I think i got it replicated.
Will update asap :slight_smile:

I seem unable to replicate it my side

Could i ask

  • Starting from current position, after burning the final position is now offset from starting position X+16, Y-16.
    Please click Save Gcode → Save as XY.gcode

  • Disabling “Swap X/Y output to laser” solves the problem… but I would appreciate to activate this option
    Please click Save Gcode → Save as NoXY.gcode

And upload both here please?

@Gaetan
Please check your Private Message.

The Dev team was able to find the issue and built a Patch Fix version.
Please give it a try and report back?

Thanks!

@gilaraujo Thank you for your very fast response !
There is progress… but sadly it is not totaly fixed.

This is quite interesting : the fix works for circles but not for squares or rectangles ; it works for some triangles but not all (!) : it looks like it depends upon the rotation angle of the triangle.
Let’s simplify :slight_smile:

  • Laser offset is enabled : X = 0, Y = -16mm
  • Burning from Current position, Job position = Top Left, Cut selected graphic = On, Use Selection Origin = On, Optimize Cut Path = On
  • In Lightburn create a triangle : “Create regular polygon” , shape properties = 3 sides. This is our initial triangle.
  • Burning this initial triangle, finish position is now offset from start position : X+22mm
  • Now, rotating this triangle with different values, we have this results :
    ** Rotation of initial triangle to 60° : finish position is now equal to start position :ok_hand:
    ** Rotation of initial triangle to 30° : finish position is offset from start position : X+22mm :point_right:
    ** AND Rotation of initial triangle to 15° : finish position is offset from start position : X-22mm :point_left: (yes, the opposite side)

Please note however that the framing is always correct and finishes in start position.

Regards,

1 Like

Good Morning Gaétan

I missed something there, Will replicate and report back to the team!

Thanks for the detailed write up!

Hi Gaétan

I tried to follow your steps exact, but I can’t really replicate the rotation error.

Would it be possible for you to send me a couple LRBN or better yet . Gcode files of the output of each of your tests?

Maybe we have some variable that is not the same for you and me
On all rotations my End position is correct.

EDIT : this forum don’t authorize me to send more than two files at once.

Good evening @gilaraujo
I try to figure out what’s going wrong and this is not easy…
I have found that there are problems with two parameters :

  • When Optimize Cut Pass is ON, AND Optimization Settings > Choose Best Starting Point is ON, sometimes the finish point is not the starting point
  • There is another problem with Job Origin : starting with Current position, changing Job origin from Top Left to Bottom Right give different finish points

I join two Lightburn files and some Gcode files :

Triangles - Choose best starting point.lbrn2 (546,0 Ko)
Triangles - Job Origin.lbrn2 (473,2 Ko)

Triangles - Choose best starting point OFF - Rot 0°.gcode (333 Octets)
Triangles - Choose best starting point ON - Rot 0°.gcode (322 Octets)

Triangles - Job Origin Bottom Right.gcode (329 Octets)
Triangles - Job Origin Top Left.gcode (340 Octets)

Maybe I have a clue.

I’m not familiar with Gcode, but typing this code in the Console should move the pointer and revert it to it’s start position, isn’t it ?
G91 G0 Y0X-16 G0 Y0X16

But for me it is not the case, finish position is offset from start position to Y+22mm

For my pointer to go back to start position, I have to type this code :
G91 G0 Y0X-16 G0 Y0X+16

And this is not dependent of the Swap XY option.

Type for me please in console
$#
Press enter
Copy/paste output

I am really trying to replicate what you are seeing, struggling a bit but i will get it :slight_smile:

Of course :
$#
$#
ok

I guess this is not the expected result?

You need to be connected to the machine and then you should get something like this:

[G54:-400.000,0.000,0.000]
[G55:0.000,0.000,0.000]
[G56:0.000,0.000,0.000]
[G57:0.000,0.000,0.000]
[G58:0.000,0.000,0.000]
[G59:0.000,0.000,0.000]
[G28:0.000,0.000,0.000]
[G30:0.000,0.000,0.000]
[G92:0.000,0.000,0.000]
[TLO:0.000]
[PRB:0.000,0.000,0.000:0]