Glowforge Automatically Adding Stroke?

It’s a question of fill rules. In that file it’s set to use the even-odd winding rule, but I think the Glowforge always uses the non-zero rule. I’ve run into this a few times, but I never got around to making a good example to send to support.

If I toggle the fill rule in Affinity Designer you can see it switch to show it the same way the Glowforge does:

If you look at the actual SVG file, Affinity Designer is setting a default fill-rule in the style on the <svg> element:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewBox="0 0 6000 3600" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">

Some of the other paths in the file use the nonzero rule, so those explicitly set the style on the <path> element to override the style from the root <svg> element:

<path d="M644.083,590.93C643.917,591.041 643.667,591.097 643.333,591.097C643,591.097 … path data clipped for brevity … 655,590.652 654.833,590.93Z" style="fill-rule:nonzero;"/>

Whereas the path in question doesn’t set the fill-rule explicitly so it should be using the fill-rule inherited from the root <svg> element.

As far as I can tell the Glowforge completely ignores the “fill-rule” setting and always applies the nonzero winding rule. I tried modifying the <path> to set it explicitly and the Glowforge still ignored it. I’m sending a test file to support.

8 Likes