Union of shapes with overlapping elements have holes

Is something not working like it should? Let us know.
User avatar

2018-02-17 13:20:08

I'm doing some hand-drawn lettering and am using Unite Shapes to join together individual strokes of a letter. If one of the strokes crosses its own path then that overlap is not filled.

To reproduce:
Using the Freeform Draw tool or the Draw tool draw a filled shape that overlaps itself. Something like the outline of lower case greek alpha drawn with a single path will do.
Using the Freeform Draw tool or the Draw tool draw another filled shape such that this shape overlaps the first.
Ensure that both shapes are filled.
Highlight both paths in the layers palette.
Right-click on one of the paths in the layers pallet and select Unite Shapes.

The area where the first shape overlaps itself will not be filled.

Reading this back to myself, this sounds complicated so here's an image:

Image

OK, so two things happened when I created a test image:
1. The outline of the shape that overlaps itself looks weird, as if the outline parts in the overlapping parts is being drawn twice (or with a thicker stroke). Maybe this is part of the same problem. I've included the shape with a stroke but no fill to illustrate this.
2. I can't upload a Pixelmator Pro file to the forum, so here's a png version.
User avatar

2022-08-08 15:25:59

I have the same issue. I've drawn the lowercase letter 'e' in the style of a cursive brush stroke, and the part where the shape overlaps itself is not filled. There has to be a setting to change this, right?

Image
User avatar

2022-08-08 17:55:17

I´m not able to recreate this "effect" other than to select multiple shapes and co "Combine=Remove any overlapping areas" - which is not what you want of course. In vector graphics it´s caused by a fill rule called "evenodd" while "nonzero" will close these gaps - but as far as I can tell it´s not available in Pixelmator Pro. Can you provide a step-by-step workflow probably?
Image
User avatar

2022-08-16 15:12:28

Hi, Ellen. Thank you for trying to help us figure this out. It sounds like a setting for "nonzero" is exactly what we need.

What we're doing is creating an entire outline for the letter, rather than using a stylized stroke on a single-line letter. For the vector logos I'm creating, this is important because "Stroke with Brush" creates a raster image that is not easily reproducible at various sizes.

Hopefully this screenshot will help illustrate the issue.

Image
User avatar

2022-08-16 17:36:10

All possible - I just don't know which one you prefer.
Image
User avatar

2022-08-16 19:57:14

Fantastic! :clap: I can't speak for st3f, but option c is what I'm after. Though I'm curious to know how you achieved all of them :smile:, I think they would all appear the same if no stroke is applied (which is probably how I plan to use the shapes).
User avatar

2022-08-17 07:51:49

While a+b are made from 2 path segments using Divide Path and a clever alignment - c is made from a big shape and a smaller for the hole above and then select both and go Format->Shape->Subtract Shapes:
Image
If you really plan to use Stroke with Brush you´ll need to draw the "shapes" like shown in my first reply.
User avatar

2022-08-18 04:02:57

Those are nice workarounds. Thanks for demonstrating how you accomplished them, Ellen!
User avatar

2022-08-20 14:26:44

I hope to be clear that although the workarounds presented here kind of work, they are a huge hassle.
We shouldn't have to do all these extra contortions, breaking apart shapes and rerouting all the lines just to get the desired basic fill behavior.

I still consider this a bug, since every other vector graphics program I have used allows overlapping fills. In all other respects, working with vectors in Pixelmator Pro is a joy. I hope this problem is fixed soon.
User avatar

2022-08-20 17:05:47

Sorry to say but except for the missing "fill-rule" feature none of the above are workarounds but solid SVG editing.
What bothers me more is the missing "miter-limit" which will support "sharp /spiky" corner nodes; right now we just can have round edges/corners unless we put the path "Inside" which will just work on closed paths of course.
Image
And even dedicated SVG editors can be tricked:
Image
User avatar

2022-08-21 13:04:07

I meant no offense with my use of the term "workaround." It's only to say that you had to go to some effort that shouldn't be necessary to accommodate the software, when the software should be fixed to accommodate the needs of its users.

Your issue with mitering would be more visible and might get more traction if you start a separate thread with its own title about that.
User avatar

2022-08-21 13:42:54

I´m not sure you understand how SVG works. For my vector work Pixelmator Pro is way too basic for my needs though.
User avatar

2022-08-21 14:04:41

What do you prefer?
User avatar

2022-08-21 14:24:48

You mean as SVG editor?
User avatar

2022-08-21 14:26:40

Yes.
For my vector work Pixelmator Pro is way too basic for my needs though.
Which program provides the functionality that suits your needs?
User avatar

2022-08-21 14:34:21

Inkscape. (I know it has nothing in common with macOS - but even when I have´em all like Freehand, Intaglio, Vectornator, CorelVector/Gravit Designer, Affinity Designer, VectorStyler and more - I always come back to Inkscape.)