Virtual arrays and CSV variable text does not work (actually variable text grouped with another object causes the bug)

===INTERESTING UPDATE; SEE BOTTOM OF THIS POST===

LightBurn 1.2.01, built Thu 2022-07-21 @ 13:05

I have a simple array of variable text objects that read from a CSV. The CSV is simple and contains one text field per row (line). The first line is A0, the second line is A1, and so on to A9. Then it starts with B0, B1, and so on to B9. This continues to Z9 on the last row of the file.

image

Here’s the input file:
dndtiles.csv (1.0 KB)

When I create a virtual array using the variable text field, it is only ever filled with the first row of the CSV (“A0”).

My virtual array looks like this:

And is configured like this:
image
Note that auto-increment is on.

When I press the TEST button in the variable text dialog I get the following:

I understand from this thread that this is the expected behavior.

However, when I view the preview I get essentially the same thing. Just the first value is shown.

Likewise, when I actually send this to the laser, I also just get a bunch of A0’s and nothing else.

If I instead convert to a real array, everything else being the same, it behaves properly.

Quick testing just to the “preview” stage suggests that “serial number” variable text (set to “dd”) also doesn’t work with virtual arrays although I didn’t actually send that one to the laser.

If I’m doing something wrong, please advise me on how to use a CSV input file with a virtual array and have it work correctly.

Edited to add: If the preview doesn’t show the true final rendered output, that’s a major issue. It’s the only way to check that things are ok (for example, a text field that’s too large for a box, e.g. in the case of name tags) before you waste material and time in the laser. VITAL that it actually renders the true output in “preview” mode.

===========
UPDATE

So apparently this is only an issue if you have the text field GROUPED with another object. If I ungroup my “serial number” example (“dd” in the text field) using a virtual array I get the correct preview output:

Likewise, the UNGROUPED import from CSV also displays correctly in the preview.

I STILL consider this a bug since the behavior of a virtual array and a physical array are different. It should work correctly whether it is grouped or not in a virtual array just as it does in a real array.

1 Like

Can you save the .lbrn file and upload here? I can’t duplicate your results.

See my update to my original post. Group the text filed with another shape (in my case a surrounding cut box). That seems to be what causes the bug to appear.

Here’s the file as well, for your reference.

DnD tiles.lbrn2 (39.8 KB)

Here’s a simple version using just the serial number variable text type that demonstrates the problem.

variabletextbug.lbrn2 (52.8 KB)

In this file the first virtual array has the text field grouped with the surrounding cut box. In the second virtual array the text field and the cut box are ungrouped. That’s the only difference. But the preview output clearly shows different behavior.

I can reproduce this. Variable text grouped with an object and then created in a virtual array does not show incremented text in Preview.

1 Like

Actually you can group it, create a virtual array, then ungroup it and it still works. It’s the state (grouped or ungrouped) at the moment you render the preview that determines whether it works or not.

I noticed this too. It’s an interesting scenario.

Suspect we’ll need @LightBurn to comment on the behavior. I tend to agree with you that grouping shouldn’t affect render behavior but perhaps there’s more to it.

1 Like

@adammhaile - This one will be yours.

Since this is a virtual array, the behavior could be considered to be undefined, because the copies are virtual, and therefore supposed to be all identical to the source entry. If you select / right click / Flatten Array, then both versions work exactly the same.

Once we add support for hardware-based virtual arrays (supported by many DSPs), then you’d get identical copies of the source in the hardware, unless we “flatten” the array before sending it (which is what we do now). The grouped / not-grouped behavior should be the same though, so we’ll have a look.

1 Like

Just my $0.02 but I, as a user, would expect virtual and actual arrays to behave in the same manner whether they are handled by LB or the hardware. Therefore, the “right” thing to do, IMHO, would be to silently flatten virtual arrays with variable text before sending and pass them through if they contain ‘normal’ text.

Wow. I didn’t realize this was a thing. I’ll just choose to think of these as sprites for lasers.

@jbrown123 - This is fixed for the next patch release. Thank you for pointing this out!

2 Likes

Thanks for fixing it so quickly. When will the next patch release be available?

Very soon. It’s in beta testing right now.

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