# Parallel lines in square pattern sorting

I’m trying to make some brick textured panels.
Drawn out simple brick pattern in lines, not rectangles, all brick lines grouped.
Have cut out border after that.

But sorting, no matter which i choose, jumps all over the place.
It would do its job, but for reasons i want to make laser draw horizontal lines first and then all small vertical lines all the way down to the bottom even if they’re broken, laser on-off-on-off, all the way down, move to next column, repeat until done.
Is there any way to sort like this ?

Not sure i’m explaining well.

I’m not one hundred percent certain of your objective, but I’ll give it a try anyway.

If you create a horizontal line and then use the array feature to multiply as many times as desired, you’ll have the first part of your requirements.
Creating a second layer for the short vertical segments, you can create one set between a pair of horizontal lines, then array the created set for each alternating line of bricks.
With that completed, select one of the sets of vertical lines, duplicate/copy/paste in place and shift them the necessary amount. Array that set. Alternatively, select all the previously created vertical lines (shift click on the layer), copy/paste and re-align as needed.

By having the verticals on one layer and horizontals on another, you should be able to establish priority in the running of the job.

The only way i think the software will let you control order of operations in this situation. Is to set the vertical lines to one cut color and horizontal lines to another color, You can control their order that way.

But thats the thing - vertical, short line draw is going to be chaotic, not all the way down.
“Chaotic” is not the right word, for i dont math, and no idea how it is calculated.
I just want all the co-linear objects drawn together ?

Why? What do you achieve by having them drawn in the order you want?

I’m sure it would bother me, if I had ocd, but I don’t, so meh.

Sadly not OCD related. Crap machine mechanics is what it is.
I have a terrible wobble and cant seem to work it out (different topic).
What would help is preventing machine to move in diagonals as much as possible.

I always had problems cutting small details. Brick pattern would be a doddle if i could do what i described here. Now i get this:

But if i could just cut straight down through small lines it would be nice and straight.

I know i need to fix underlying condition, but at least sorting by “co-linear” would make cutting square things easier.

Fix the problem

Masking the condition is a fools errand

That is true. Fix will come, but it is not the main point of this post. Its a sorting question.

I just remembered this video:

Dont mind it being super-expensive industrial machine. Take note on how it processes repeating patterns - it cuts one side at a time - be it square, triangle, plus shape - it always continues on the same line for repeated elements before switching travel direction.

There’s, of course, a chance it was hand programmed to do that, but there’s hoping it was automated for big patterns and could be used in LB ?

If you enable ‘Reduce direction changes’ in the optimization settings, that should help.

You could also group all lines in a single vertical row, and then set the optimizer to cut by groups, which would treat each vertical row as a whole entity before moving onto the next.

Just ran some tests. Made a 10x10 array of 10x10mm squares spaced 5mm apart. Broke them to individual lines. Tried running as is - full spaz mode. Tried different ways of optimisation - spaz.
So, went by “order by group” suggestion. Whole layout consists of 40 groups, individual sides grouped as a “dashed line”. Optim set to only "reduce direction changes - full spaz by group. Optim set by “reduce direction changes + choose best direction” - full spaz. Only by turning on all usual optimisation i could achieve semblance of what i imagine, and what the video shows off… but when it reaches middle of the array it switches direction anyway, and half-spazzes out…

And to achieve this there is way much manual intervention needed. Making 40 separate groups on a 10x10 objects is a bit much. What if i need a huge array of things to do, like brick texturing for railway modeling, it would be a nightmare grouping stuff.

To be clear, i’m in no way knocking LB. It may be this particular use case that invokes the need for something like this sort of optimisation. I’m just exploring whats possible here. At this point its my academic interest is at play, but if this were possible to do in LB it’d be neat.

Attaching file with sides grouped individually, if anyone wants to play with that/comment.
squares.lbrn (148.4 KB)

When ‘Reduce Travel Moves’ is set, you’ll pretty much always get a connected line preferred over a disconnected line, even if the disconnected line doesn’t make you change direction. The scoring that causes this could be adjusted some, but what’s in there now works well in the general case, and yours is relatively esoteric.

Having said that, I checked the code, and I’m weighting direction changes by area, and the area of a line is zero, so that’s likely causing this not to work well for your case.

It’s also worth noting that with a speed of 12mm/sec, direction changes are not costly and the travel moves are a small fraction of the time spent in this file. Rearranging this file by hand to force it to take the “perfect” order you’re looking for makes the file take longer.

This is the perfect, top to bottom, left to right, line only version, with about 2090mm of rapid moves, taking a simulated 7 mins, 27 seconds to complete:

And this is the first order that LightBurn comes up with, doing one square at a time, zig-zagging from top to bottom, with only 1400mm of rapid moves, and taking a simulated 7 minutes and 9 seconds to complete:

My point being, I’ve put a fair bit of time and effort into making the cut planner choose the things it does because they tend to be faster in the general case, even though some of those choices might seem counter-intuitive.

Run time is not a consideration here. I’m after ordering. And, no, i’m not OCD
Besides math/time thing, there is something beautiful and mesmerising watching the cut done that way. Also it would help mechanically rubbish machines like mine when square/ordered cuts are needed
And that 12mmps speed was just something left over from my previous use of the layer.

Speaking of the video, i need to research more on industrial software applications to see what kind of optimisation/ordering they use.

LightBurn actually uses the speed setting in some cases to decide if it makes more sense to keep going in the same direction or make a turn for something closer. The slower you’re moving, the less expensive that turn is. It doesn’t do this for everything, but it’s something I want to add more of, since it does make a difference.

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