Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buffering issue? #216

Open
sunjaxx opened this issue Nov 5, 2022 · 33 comments
Open

Buffering issue? #216

sunjaxx opened this issue Nov 5, 2022 · 33 comments

Comments

@sunjaxx
Copy link

sunjaxx commented Nov 5, 2022

I am testing this extension (on win 10). I tried to sketch (with a pen) a simple, small shape (a spiral), but while sketching, the machine (cameo 4 pro) pauses for a second few times (and the buttons light up when that happens) - like it's waiting for the data / buffering.
(That is not ideal when sketching because the pen will stop and leave a larger ink dot when that happens.)
Any ideas? (I can provide a video if unclear) Thanks!

@t0b3
Copy link
Collaborator

t0b3 commented Nov 5, 2022

may different settings for cutting strategy

<param name="strategy" type="enum" _gui-text="Cutting Strategy:">
can help?

@sunjaxx
Copy link
Author

sunjaxx commented Nov 5, 2022

The same happens with other strategies.

I can see in the command log that it happens when you see the many "������....":

��FG���FG�TB71�FA�TG0�FN0�TB50,0�\0,0�Z60000,12000���J1�FX30,1�TJ0�!4,1�FC0,1,1�FE0,1�FF0,0,1�FF0,0,1�FX30,1�TJ3�FC0,1,1�M3322,3574�D3338,3588�D3353,3597�D3368,3601�D3382,3601�D3396,3597�D3409,3589�D3422,3579�D3433,3566�D3443,3552�D3452,3536�D3466,3502�D3471,3484�D3474,3468�D3475,3452�D3473,3438�D3465,3404�D3452,3373�D3435,3346�D3415,3322�D3391,3301�D3365,3283�D3336,3269�D3306,3258�D3274,3249�D3241,3244�D3208,3242�D3175,3242�D3142,3246�D3110,3252�D3079,3261�D3050,3272�D3025,3284�D3002,3298�D2980,3312�D2959,3328�D2939,3345�D2921,3363�D2888,3401�D2861,3443�D2838,3488�D2820,3535�D2807,3584�D2798,3635�D2795,3686�D2796,3737�D2801,3789�D2812,3840�D2826,3889�D2846,3937�D2869,3983�D2889,4015�D2910,4045�D2933,4074�D2957,4100�D2982,4125�D3009,4149�D3037,4170�D3065,4190�D3095,4209�D3126,4225�D3157,4240�D3189,4253�D3222,4265�D3255,4275�D3289,4283�D3323,4290�D3358,4295�D3393,4299�D3428,4300�D3463,4301�D3499,4299�D3534,4296�D3569,4291�D3604,4285�D3639,4277�D3673,4268�D3707,4257�D3741,4244�D3773,4230�D3806,4214�D3837,4197�D3868,4178�D3907,4151�D3944,4122�D3979,4092�D4012,4059�D4042,4026�D4071,3991�D4097,3954�D4121,3916�D4144,3878�D4164,3838���������������������������������������������D4181,3797�D4197,3756�D4211,3713�D4223,3670�D4232,3627�D4240,3583�D4245,3538�D4248,3494�D4249,3449�D4248,3404�D4245,3359�D4240,3314�D4233,3270�D4224,3225�D4213,3181�D4200,3138�D4184,3095�D4167,3053�D4148,3011�D4126,2971�D4103,2931�D4077,2892�D4043,2846�D4007,2802�D3968,2760�D3928,2722�D3886,2685�D3842,2652�D3797,2620�D3751,2592�D3703,2566�D3654,2542�D3604,2521�D3553,2503�D3501,2487�D3448,2474�D3395,2463�D3341,2455�D3287,2450�D3233,2447�D3178,2446�D3123,2448�D3069,2453�D3014,2460�D2960,2469�D2907,2481�D2853,2496�D2801,2513�D2749,2532�D2698,2555�D2648,2579�D2599,2606�D2551,2636�D2504,2668�D2450,2710�D2399,2754�D2351,2800�D2306,2848�D2265,2898�D2226,2951�D2190,3004�D2157,3060�D2127,3117�D2100,3175�D2076,3235�D2055,3295�D2037,3357�D2023,3419�D2011,3482�D2002,3545�D1996,3609�D1993,3673�D1993,3738�D1996,3802�D2002,3866�D2011,3930�D2023,3994�D2038,4057�D2056,4119�D2077,4181�D2101,4242�D2128,4302�D2158,4361�D2191,4418�D2227,4474�D2265,4528�D2314,4590�D2366,4648�D2420,4702�D2476,4753�D2534,4801�D2595,4845�D2658,4886���������������������������������������������������������������D2722,4923�D2788,4957�D2856,4987�D2924,5014�D2994,5037�D3065,5057�D3137,5074�D3210,5087�D3283,5097�D3357,5103�D3431,5105�D3505,5105�D3579,5101�D3653,5093�D3727,5082�D3800,5067�D3872,5049�D3944,5028�D4015,5003�D4085,4975�D4154,4943�D4221,4908�D4287,4870�D4351,4828�D4413,4782�D4482,4726�D4547,4667�D4608,4606�D4665,4541�D4719,4474�D4768,4405�D4813,4334�D4855,4260�D4893,4185�D4926,4109�D4956,4030�D4982,3951�D5004,3870�D5022,3789�D5037,3706�D5047,3623�D5053,3540�D5056,3456�D5055,3372�D5049,3288�D5040,3205�D5027,3122�D5010,3039�D4989,2957�D4964,2876�D4936,2796�D4903,2717�D4867,2640�D4826,2564�D4782,2490�D4734,2417�D4682,2347�D4618,2271�D4552,2199�D4482,2131�D4410,2068�D4335,2009�D4257,1954�D4177,1904�D4095,1858�D4011,1816�D3925,1779�D3837,1746�D3748,1718�D3658,1694�D3567,1674�D3475,1658�D3382,1647�D3289,1641�D3195,1638�D3102,1640�D3008,1647�D2915,1657�D2822,1673�D2730,1692�D2638,1716�D2548,1744�D2459,1777�D2371,1814�D2285,1855�D2200,1901�D2118,1951�D2037,2005�D1959,2064�D1875,2134�D1796,2208�D1722,2285�D1652,2366�������������������������������������������������������������������������������������������������������D1588,2449�D1528,2535�D1473,2624�D1423,2715�D1377,2808�D1336,2904�D1301,3001�D1270,3099�D1243,3199�D1222,3300�D1205,3402�D1193,3504�D1186,3607�D1184,3711�D1187,3814�D1194,3917�D1207,4020�D1224,4123�D1246,4225�D1273,4325�D1304,4425�D1341,4523�D1382,4620�D1428,4715�D1479,4808�D1535,4899�D1596,4988�D1661,5074�D1699,5120�D1739,5165�D1779,5209�D1820,5251�D1905,5332�D1993,5408�D2085,5478�D2180,5543�D2277,5603�D2377,5658�D2480,5707�D2584,5751�D2690,5790�D2798,5823�D2908,5852�D3018,5875�D3130,5893�D3242,5905�D3355,5912�D3468,5914�D3581,5911�D3694,5902�D3807,5889�D3919,5869�D4031,5845�D4141,5815�D4250,5780�D4357,5740�D4463,5694�D4567,5643�D4669,5587�D4768,5525�D4865,5458�D4958,5386���������������������������������������������������������������������������������������L0�\0,0�M0,0�J0�FN0�TB50,0���

If I send the same file but using the "dry run option" (so without actually sending the commands to the machine), that issue does NOT happen:

��FG���FG�TB71�FA�TG0�FN0�TB50,0�\0,0�Z60000,12000���J1�FX30,1�TJ0�!4,1�FC0,1,1�FE0,1�FF0,0,1�FF0,0,1�FX30,1�TJ3�FC0,1,1�M3322,3574�D3338,3588�D3353,3597�D3368,3601�D3382,3601�D3396,3597�D3409,3589�D3422,3579�D3433,3566�D3443,3552�D3452,3536�D3466,3502�D3471,3484�D3474,3468�D3475,3452�D3473,3438�D3465,3404�D3452,3373�D3435,3346�D3415,3322�D3391,3301�D3365,3283�D3336,3269�D3306,3258�D3274,3249�D3241,3244�D3208,3242�D3175,3242�D3142,3246�D3110,3252�D3079,3261�D3050,3272�D3025,3284�D3002,3298�D2980,3312�D2959,3328�D2939,3345�D2921,3363�D2888,3401�D2861,3443�D2838,3488�D2820,3535�D2807,3584�D2798,3635�D2795,3686�D2796,3737�D2801,3789�D2812,3840�D2826,3889�D2846,3937�D2869,3983�D2889,4015�D2910,4045�D2933,4074�D2957,4100�D2982,4125�D3009,4149�D3037,4170�D3065,4190�D3095,4209�D3126,4225�D3157,4240�D3189,4253�D3222,4265�D3255,4275�D3289,4283�D3323,4290�D3358,4295�D3393,4299�D3428,4300�D3463,4301�D3499,4299�D3534,4296�D3569,4291�D3604,4285�D3639,4277�D3673,4268�D3707,4257�D3741,4244�D3773,4230�D3806,4214�D3837,4197�D3868,4178�D3907,4151�D3944,4122�D3979,4092�D4012,4059�D4042,4026�D4071,3991�D4097,3954�D4121,3916�D4144,3878�D4164,3838���D4181,3797�D4197,3756�D4211,3713�D4223,3670�D4232,3627�D4240,3583�D4245,3538�D4248,3494�D4249,3449�D4248,3404�D4245,3359�D4240,3314�D4233,3270�D4224,3225�D4213,3181�D4200,3138�D4184,3095�D4167,3053�D4148,3011�D4126,2971�D4103,2931�D4077,2892�D4043,2846�D4007,2802�D3968,2760�D3928,2722�D3886,2685�D3842,2652�D3797,2620�D3751,2592�D3703,2566�D3654,2542�D3604,2521�D3553,2503�D3501,2487�D3448,2474�D3395,2463�D3341,2455�D3287,2450�D3233,2447�D3178,2446�D3123,2448�D3069,2453�D3014,2460�D2960,2469�D2907,2481�D2853,2496�D2801,2513�D2749,2532�D2698,2555�D2648,2579�D2599,2606�D2551,2636�D2504,2668�D2450,2710�D2399,2754�D2351,2800�D2306,2848�D2265,2898�D2226,2951�D2190,3004�D2157,3060�D2127,3117�D2100,3175�D2076,3235�D2055,3295�D2037,3357�D2023,3419�D2011,3482�D2002,3545�D1996,3609�D1993,3673�D1993,3738�D1996,3802�D2002,3866�D2011,3930�D2023,3994�D2038,4057�D2056,4119�D2077,4181�D2101,4242�D2128,4302�D2158,4361�D2191,4418�D2227,4474�D2265,4528�D2314,4590�D2366,4648�D2420,4702�D2476,4753�D2534,4801�D2595,4845�D2658,4886���D2722,4923�D2788,4957�D2856,4987�D2924,5014�D2994,5037�D3065,5057�D3137,5074�D3210,5087�D3283,5097�D3357,5103�D3431,5105�D3505,5105�D3579,5101�D3653,5093�D3727,5082�D3800,5067�D3872,5049�D3944,5028�D4015,5003�D4085,4975�D4154,4943�D4221,4908�D4287,4870�D4351,4828�D4413,4782�D4482,4726�D4547,4667�D4608,4606�D4665,4541�D4719,4474�D4768,4405�D4813,4334�D4855,4260�D4893,4185�D4926,4109�D4956,4030�D4982,3951�D5004,3870�D5022,3789�D5037,3706�D5047,3623�D5053,3540�D5056,3456�D5055,3372�D5049,3288�D5040,3205�D5027,3122�D5010,3039�D4989,2957�D4964,2876�D4936,2796�D4903,2717�D4867,2640�D4826,2564�D4782,2490�D4734,2417�D4682,2347�D4618,2271�D4552,2199�D4482,2131�D4410,2068�D4335,2009�D4257,1954�D4177,1904�D4095,1858�D4011,1816�D3925,1779�D3837,1746�D3748,1718�D3658,1694�D3567,1674�D3475,1658�D3382,1647�D3289,1641�D3195,1638�D3102,1640�D3008,1647�D2915,1657�D2822,1673�D2730,1692�D2638,1716�D2548,1744�D2459,1777�D2371,1814�D2285,1855�D2200,1901�D2118,1951�D2037,2005�D1959,2064�D1875,2134�D1796,2208�D1722,2285�D1652,2366���D1588,2449�D1528,2535�D1473,2624�D1423,2715�D1377,2808�D1336,2904�D1301,3001�D1270,3099�D1243,3199�D1222,3300�D1205,3402�D1193,3504�D1186,3607�D1184,3711�D1187,3814�D1194,3917�D1207,4020�D1224,4123�D1246,4225�D1273,4325�D1304,4425�D1341,4523�D1382,4620�D1428,4715�D1479,4808�D1535,4899�D1596,4988�D1661,5074�D1699,5120�D1739,5165�D1779,5209�D1820,5251�D1905,5332�D1993,5408�D2085,5478�D2180,5543�D2277,5603�D2377,5658�D2480,5707�D2584,5751�D2690,5790�D2798,5823�D2908,5852�D3018,5875�D3130,5893�D3242,5905�D3355,5912�D3468,5914�D3581,5911�D3694,5902�D3807,5889�D3919,5869�D4031,5845�D4141,5815�D4250,5780�D4357,5740�D4463,5694�D4567,5643�D4669,5587�D4768,5525�D4865,5458�D4958,5386���L0�\0,0�M0,0�J0�FN0�TB50,0���

Any ideas? Thanks!

@t0b3
Copy link
Collaborator

t0b3 commented Nov 5, 2022

in order to get things reproducible could you please

  • describe the steps to reproduce (ideally incl. command line instructions)
  • provide all the relevant input and debug files as attachments (drag and drop here in this in github issue) and
  • describe all the information on your setup (os version, inkscape version, plotter type, full settings, etc.)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 5, 2022

Sure, here you are:

  • I open drawing.svg in Inkscape 1.2.1 (9c6d41e410, 2022-07-14), on a Windows 10 PC
  • I turn on Silhouette Cameo 4 PRO and load paper and pen
  • extensions -> export -> send to silhouette

I attach the SVG file and the logs.
(Let me know if anything else is missing, thanks again!)

drawing
cuttercommands.txt
log.txt

@EtherGraf
Copy link
Collaborator

Does the pause occur alwyas on the exactly same point?
If not, it looks really like a buffer or transmission problem.

Is the plotter connected by usb or bluetooth?

The unknown chars in the cuttercommands are normaly 0x03, but at the long pause a sequence of 0x1b,0x05.
I am not sure of the exact meaning of it, but could be some status bits meaning 'busy'

@sunjaxx
Copy link
Author

sunjaxx commented Nov 5, 2022

I am connected via USB.
The pauses seem to happen exactly at the same point(s), see the appended log:
cuttercommands.txt

(By the way, I did not know this extension works also with Bluetooth? I can pair the PC to the cameo, and it briefly says connected but then goes to "paired" again.... but this is another issue, I guess?)

@t0b3
Copy link
Collaborator

t0b3 commented Nov 5, 2022

The unknown chars in the cuttercommands are normaly 0x03, but at the long pause a sequence of 0x1b,0x05. I am not sure of the exact meaning of it, but could be some status bits meaning 'busy'

seems like status query (ESC, ENQ) is occurring every then and when (which is skipped on dry_run)

self.send_escape(CMD_ENQ, is_query=True)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 5, 2022

So does that mean it's something related to the USB connection? Or what else? Any idea on how to resolve that? :-)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 6, 2022

PS: if it helps, I have tried the same cameo 4 pro on a (different) Debian machine, and I get the same behaviour.

@EtherGraf
Copy link
Collaborator

Have you ever tried another svg file?
Just to rule out, that it has something to do with this very source file.

For me it looks like the plotter has some problem and stops cutting, therfore in the protocol are the status requests. (1b,05)
After some time the status is ok and the cut continues.
But i have no idea for the root cause.

The log file doesn't contain the status answer from the device.
I have no idea, if there is an easy way to include this information into the log file.

@EtherGraf
Copy link
Collaborator

I had just a look at the sourcecode. This seems to be by design.
The buffer sends data in chunks of 1k size and waits for the status 'ready'. While the device tells another status, e.g. is 'moving', no data is sent until 'ready'. In the logfile I can see such 1k blocks and then a pause.

# Silhouette Studio uses packet size of maximal 3k, 1k is default

I never observed such pauses at my device (Silhouette Portrait), but maybe because I do only cuts at lower speeds.

@t0b3
Copy link
Collaborator

t0b3 commented Nov 6, 2022

@sunjaxx as a quick and dirty workaround you may try to replace safe_write with write

self.safe_write(data)

although beware this has not been tested yet and could cause unexpected failures...

@sunjaxx
Copy link
Author

sunjaxx commented Nov 7, 2022

Have you ever tried another svg file?
Just to rule out, that it has something to do with this very source file.

Yes I've tried another simple shape (a square and a circle) and the same happens.

@sunjaxx as a quick and dirty workaround you may try to replace safe_write with write

I tried that, and the cameo stops plotting midway (I have the impression at the time the first pause would have occurred before the code change...)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 8, 2022

Any other ideas? This extension is promising, and I'd be happy to help (as much as I can)!

@t0b3
Copy link
Collaborator

t0b3 commented Nov 9, 2022

can you construct a reprocase for the command line, so others can easily test on their own plotter models?
i.e.

python [/path/to/extensions/]sendto_silhouette.py   --mention=all --your=applied --options=here --so=others --can=reproduce failing_svg_1.svg

you may check the available options using --help

nb: ensure you use the latest version of inkscape-silhouette

@EtherGraf
Copy link
Collaborator

I am on LInux here and have no acces to the windows software.

Does the pause also occur in the original windows software too, or is the movement there smoothly?
Can anyone confirm this?

@sunjaxx
Copy link
Author

sunjaxx commented Nov 10, 2022

The pauses do not occur when using Silhouette Studio (Designer edition) on Windows (on the same SVG)

@t0b3
Copy link
Collaborator

t0b3 commented Nov 11, 2022

@sunjaxx can you update your sendto_silhouette.py to this latest version and repost a new logfile with this changes?

@EtherGraf
Copy link
Collaborator

@sunjaxx
Just out of interest I have tried to plot your spiral svg document.

The only problem with it was the size. On my device i cannot plot 500x700mm. So it runs on bounding box and gets limited on the page border.
But if I scale it to A4 size I can plot it without any visible pauses.

(My system is a really old Ubunutu Linux 18.04. Inkscape 0.92. extension version 2020-12-29 tb, v1.24, but at least it shows, a fluent plot is possible.)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 11, 2022

@sunjaxx as a quick and dirty workaround you may try to replace safe_write with write

I tried that, and the cameo stops plotting midway (I have the impression at the time the first pause would have occurred before the code change...)

My bad: replacing safe_write with write does NOT result in the pauses! (When i tried last time the paper was not there or properly in place, that's why I think it stopped...)

@sunjaxx
Copy link
Author

sunjaxx commented Nov 11, 2022

@sunjaxx can you update your sendto_silhouette.py to this latest version and repost a new logfile with this changes?

here it is:
log.txt

@sunjaxx
Copy link
Author

sunjaxx commented Nov 12, 2022

@sunjaxx Just out of interest I have tried to plot your spiral svg document.

The only problem with it was the size. On my device i cannot plot 500x700mm. So it runs on bounding box and gets limited on the page border. But if I scale it to A4 size I can plot it without any visible pauses.

(My system is a really old Ubunutu Linux 18.04. Inkscape 0.92. extension version 2020-12-29 tb, v1.24, but at least it shows, a fluent plot is possible.)

In my case it also happens with this A4 version (unless i change "safe_write" with "write" in graphtec.py)
drawinga4

@t0b3
Copy link
Collaborator

t0b3 commented Nov 12, 2022

@sunjaxx thank you for sharing this new dump. here on Cameo3 your svg plots like a charm with some nearly invisible pauses (tiny fraction of a second).
image
ps: my cuttercommands look very similar with lots of query commands (0x1b,0x05) in it.

@ anybody please test and report back the behaviour of your plotter (cameo 1,2,3,4,pro)

python /path/to/sendto_silhouette.py --active-tab=silhouette --x_off=0 --y_off=0 --cuttingmat=no_mat --toolholder=1 --tool=pen --media=300 --speed=4 --pressure=30 --depth=-1 --preview=true --dashes=false --autocrop=false --bbox-only=false --multipass=1 --reversetoggle=false --endposition=start --end_offset=0 --regmark=false --regsearch=false --regwidth=180 --reglength=230 --regoriginx=15 --regoriginy=20 --wait_done=false --sharpencorners=false --sharpencorners_start=0.1 --sharpencorners_end=0.1 --overcut=0.5 --strategy=zorder --orient_paths=natural --fuse_paths=true --sw_clipping=true --logfile=/path/to/log.txt --log_paths=true --cmdfile=/path/to/cuttercommands.txt --inc_queries=true --append_logs=false --dry_run=false --force_hardware=DETECT --bladediameter=0.9 /path/to/201445909-7db6cae2-c891-4792-aa94-54d85c43d9db.svg

maybe newer models can profit from some tweaks?

@EtherGraf do you remember why safe_write() by Alexander Senger was introduced by cd1ef0c

def safe_write(self, data):
"""
Wrapper for write with special emphasis not overloading the cutter
with long commands.
Use this only for commands, not queries.
"""
data = to_bytes(data)
# Silhouette Studio uses packet size of maximal 3k, 1k is default
safemaxchunksz = 1024

Maybe we could raise or skip the safemaxchunksz limit for all or some of the newer models? - your opinion on that? any experiences to consider?

@EtherGraf
Copy link
Collaborator

Sorry no, i do not know why this function safe_write was introduced.

Possibly it is/was needed for some older devices.
Or the flow control for the buffer has not worked or was not even known in the past. I have no idea, how the buffer flow control works without the safe_write method or if there is some limit for huge data chunks. This will need some tests.

If I find some time I can test the next weeks at least with my equipment, if the extension works without the safe_write() method.

@sunjaxx
Copy link
Author

sunjaxx commented Dec 2, 2022

Any update? Thanks!

@henryso
Copy link

henryso commented Jun 2, 2023

Has there been anything done for this? If not, is the workaround the way to go?

@t0b3
Copy link
Collaborator

t0b3 commented Jun 2, 2023

@henryso can you share any observation on this? which device do you have? which workaround does work for you? hopefully this can help fix this nasty hw issue...

@henryso
Copy link

henryso commented Jun 3, 2023

@henryso can you share any observation on this? which device do you have? which workaround does work for you? hopefully this can help fix this nasty hw issue...

My observation is the same as the opening post. Every so often the device will pause, the lights will blink, and then it will continue. I have a Silhouette Cameo 4 under Linux, Inkscape 1.2.2, and I'm using commit a1941b6. The workaround that works for me is to change self.safe_write(data) to self.write(data) in the safe_send_command(self, cmd) function in Graphtec.py. It works perfectly when I do that.

@t0b3
Copy link
Collaborator

t0b3 commented Jun 3, 2023

@henryso did you test huge svg files already? if not can you try some on your own and report back? do you have access and could try on some older hw?

@henryso
Copy link

henryso commented Jun 3, 2023

@t0b3 What do you mean by huge svg file? I've tried cutting a letter size sheet of paper filled with 32mm-diameter circles. I don't have any other devices than the Silhouette Cameo 4.

@henryso
Copy link

henryso commented Jun 3, 2023

Some more observations. I test plotted a bunch of text made using the Hershey Text extension. With safe_write, I get the occasional pauses and with write, I get no pauses (so the behavior here is the same). Either way, the plot does eventually complete successfully. However, I noticed that with safe_write, the device handles pauses better. With safe_write, after pausing, in a second or so, the eject button lights up (and I can eject the media) or i can unpause to have the device continue. If I hold the button down, eventually the plot continues (as if I had just tapped the button to unpause). With write, after pausing, all I can really do is unpause. The eject button never lights up until the plot is complete. If I hold the button down, it makes the device unresponsive and I can no longer unpause the plot and my only recourse is to turn the device off.

@henryso
Copy link

henryso commented Jun 3, 2023

Maybe the thing to do here is make the use of write instead of safe_write an "advanced" user option. Use at your own risk.

@hifi
Copy link

hifi commented Apr 7, 2024

I also see this with the Cameo 4. It's not too bad when cutting but sometimes it leaves rougher spots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants