Vector fill conundrum

Arrgh.

Started talking about this a while ago on the GUG facebook group.
I want to FILL the dragon + fire, leave the rest blank, then do another where the previously blank space is filled, and the dragon + fire = not.

I put this down for a week, picked it up again yesterday, and CANNOT figure it out. Any guidance will be helpful. FYI, I’m a PC… and using Inkscape.
Just%20Dragon

Something like this?

Dragons

I’m not an Inkscape user, but I basically subtracted the front stuff from the black circle to get the one on the right.

On the left I just put a stroke on the circle. and left everything else filled.

2 Likes

the main issue is that the dragon body and outer wing shapes are not closed.
Look at the difference when seen in outline mode:

4 Likes

If I’m right, you are looking for something like this:

5 Likes

Ah, @jbv, you are the quicker draw.

Also not sure about that circle up top left, but that’s three on top of each other each with a different stroke color.

I left them all as separate objects that you can do booleans for the correct engrave.
dragon

3 Likes

I wasn’t sure about the three layered circles up top either, so I erased them. Essentially, boolean operations don’t work on unclosed paths, so I closed the paths, stretched them out past the circle object for that perfect curved edge, and then went ahead with the booleans. and just a pinch of cleanup.
here’s the svg I ended up with:
BigJohnDragon_fix

3 Likes

Yes. HOW. I took the dragon from another image, modified it to my liking, added fire, and then merged it with the circle (combine paths). So, ??

The three stacked circles - I use them as targeting objects, so they’re in my default file… :laughing:

1 Like

I’m guessing the (combine paths) step caused this, by trying to combine unclosed paths. I’ll try and relate what I did, but I’m working in AI, so someone may have to translate the tools/procedures.
First I changed the object to have a stroke and no fill. From there I could see that it had to be a group or a compound path. (it was both)

I released the compound path, and ungrouped everything. Hiding the circle let me see the problem areas.

Using the pen tool, I clicked on one open endpoint (to continue the line), made a few more points well outside of the circle for trimming later, and finally clicked onto the other open endpoint, closing the shape. I did this for each of the three open shapes.

I turned the circle layer back on, and made a duplicate (copy, paste in place), then turned off the duplicate to use later. I also extended the inner wing details a little so that they were outside of the circle, and deleted what looked like a stray mark NW of the flame.


I used a boolean operation to subtract the inner wing details from the outer wing shape, and then changed it back to a fill with no stroke. I did the same with the eye in the dragon.

I also changed the flame to a fill/no stroke, and then made each of those elements red, for visibility.

Then I selected all of that and did a “divide” operation. This let me get rid of the excess bits of the shape that were crossing over the circle. (it also gave me a couple of empty filled areas, which I identified and erased from my layers window)

Then I turned on the duplicate circle layer that I had made before, and changed it to be a fill with no stroke.

From there I was able to do a “Trim” command (boolean operation) to give me the two final elements.
If I was going to cut it out as well, I would have made two duplicate circles in the beginning, and used the remaining one as a cut line.

23 Likes

Thanks for the lesson! :sunglasses:

3 Likes

You rock!

1 Like

I was just about say the same thing. So I will: “@jbv thanks for the lesson.” :slight_smile:

2 Likes

And so I learned a few new things today. I missed a few steps there when I did it myself, so a self created problem. Bookmarking this post for the next time I need to combine something more complex than a circle and a square!
Thanks @jbv

2 Likes

That is GREAT. I will try and keep this technique in mind

2 Likes

For inkscape it’s a very similar process to what @jvb suggested for AI.

  1. Break everything apart.

  2. Extend the dragon/wing paths out past the circle and close them.

  3. Select both triangles in the wing and combine them to make one path. (Or do step 4 twice, once per triangle)

  4. Select the triangles and the wing Path->exclusion to cut the triangles out of the wing.

  5. Select the wing shape and the dragon body shape, combine them to one path. (or do step 7/8 twice, once for the dragon body, once for the wing. I prefer to combine them and do it all in one shot)

  6. Select the circle, copy it.

  7. Select the circle and the dragon/wing shape path and do Path->intersection. This should leave you with just the dragon and wing shapes where they were inside the circle.

  8. Paste in place, will put a copy of the circle right back there it started.

You can adjust fills and paths to get what you want now.

6 Likes

Thanks!
I was able to follow that - and recreate what @jvb did! And now I know more about inkscape than ever. the “exclusion” step i missed… was looking for that - just overlooked it I guess - but you called it out and it worked perfectly.

John

3 Likes

Do you have to combine path before you can exclude?
So I tried to draw a path, fill it, take text, do object to path, lay the text into the filled path and EXCLUDE but nothing happened?

A lot of the path booleans work only with 2 paths selected.

Ungroup your now path-ed text, and you’ll see it’s a series of path objects, one for each letter. Combine those first, and do your boolean worst.

1 Like

And that’s the rub, right? Object to path on text makes a group, anyway. So even booleans that will work with lots of paths (union, I’m looking at you) will fail if you don’t ungroup them first.

1 Like

Aaaand… Z-order can matter a great deal too. Keep that in mind, a lot of time when you are saying “do a boolean operation between this and that path”, [like “exclude this path from that path”] the “this” and “that” are defined by which is on top, aka Z-order.

1 Like