Inkscape path intersection question

Trying to figure out the easy way to use stroke thickness to recreate the “crossover” effect on the right from the design on the left.

Inkscape is working as I would expect when I set desired stroke thickness, but I’m trying to figure out how to get it to continue the paths across the intersections so I can get the “spacing” I need.

I could easily manually edit this simple design, but I have a far more complex one where I’d like to have those spaces generated automatically. This is not what I want:


Any suggestions?

1 Like

No help here, but I’m totes commenting because if there were a way to automate this it would be GOLD so I want in on the conversation :slight_smile:

My current method is to the the thing on the right in a raster and then trace into a vector.


Reading the notification on what is new was the ability to turn overlapping designs like that into knotwork. Apparently there is an entire rabbit hole into the math of it. Artcam had that a while back and I played with it a bunch when I had access to it.

I have not found it in the new Inkscape version.

1 Like

I can’t think of a way to do this withough cutting the paths in parts.

Here is my first shape:

I select the top left node, and break the path at that point.


Then do Ctrl-Shift-K to break them apart into 2 paths (and color them differently).


Duplicate them and make them thicker (with different colors).


Select all the paths, and Path- > stroke to path.

Then I can substract parts of the wider one from parts of the skinnier ones. And get something like this:

I substract the purple one from the green one (but had to move the corner of the purple one a bit so it did not overlap the top left).

And then add up all the parts together again.

Depending on the complexity of the image, you would have to break it up into lots and lots of segments.

I’m not sure it’s worth it. But I can’t think of another way to do it.


video version of the same thing, I think. starts at 5:30 ish for the actual process


You could also use the path effects, offset tool to offset your original curve to the spacing you want. But you still have to make shapes at every corner to remove the parts you don’t want. It’s still a labour-intensive process.


That approach works for simple designs (this one has 6 overlaps) but I’m hoping to find some magic for complex designs. The one I want to use has over 100…

1 Like

I’m very much a visual learner so I wont be much help in terms of explaining things. Not in English, but if you could figure out a way to do this, (9th minute of video) that might be the hack you’re looking for


If you can get Ian Bain’s book there are methods for working by hand that can be applied easily in inkscape, The simplest case is to make an array of the crossing points that you can rotate 90 degrees and have the over under reverse. You can also change some so what was a crossover becomes a near pass and changes the design.

In Autocad an array of blocks would make this very easy as you could bounce designs all over the place but with Gimp or Inkscape the Bain hand layout system could be employed.


When experienced Glowforgers post a question, it´s usually way out of our league, so the rest of us noobies just watch and learn.


Does Inkscape have an equivalent to Live Paint? (Or paint bucket?)

This is a fairly simple process in Illustrator:

  • On your original line set two strokes, one fatter than the other.
  • outline stroke
  • with the Live Paint bucket drop in black and white wherever your design dictates
  • expand
  • delete all the white bits and merge the remaining black bits.

(Shapebuilder would be even faster but I’m pretty sure Inkscape doesn’t have anything like that)

I’ll be excited if anyone has a better approach on this. I have always done it by hand.

Other references (in addition to the Iain Bain books) compiled for a recent video, in case you want manual approaches like @rbtdanforth suggests:

Celtic Art: The Methods of Construction by George Bain

Celtic Pattern: Visual Rhythms of the Ancient Mind by Adam Tetlow

(Not referral links.)


George Bain is Ian Bain’s son

1 Like

I think it’s the other way around:

1 Like

Since I looked it up:

Celtic Knotwork by Iain Bain:

1 Like

You are right :flushed: I was looking at the very book you noted and it says so on the back. What threw me was that I. Bain focuses mainly on the specifics of constructing knotwork while G. Bain is much wider-ranging to include animals and spirals etc.

1 Like

The further along any study gets the more detailed they get. I’m sure Ian’s contemporaries would look aghast at George’s going willy nilly off into the weeds.


For some reason, I keep thinking about this.

Here is the best method I can come up with.

  1. Here is my original shape:

  2. Use the node tool, select all the nodes, and click on Break Path at Specific Node.

  3. Do Path-> Break Apart

  4. Ctrl D to duplicate, make the line thicker and give it a different color

  5. Ctrl-A to select all and Path->Stroke to Path

  6. Lower all the purple segments. Then raise the ones you want to cut with.

  1. Then one by one, you have to select the back black line, and the front purple line and do Path->Difference.

Here is it after I did one:

Here it is after I did them all:

  1. Then select one purple path that is left over, do Edit -> Select Same -> Fill Color to select all the purple ones, and hit delete.

  2. Then select one black path, do Edit -> Select Same -> Fill Color and do Path->Union to get your final shape.

Something like this:

You will still need to cut at all the intersections, but that’s the best I can do.

I don’t think you can automate this, since you need to decide at each intersection which piece is on top of which.


Thanks for all the ideas. Yes, they all work well for a small design, that’s how I’ve done it in the past.

I know the over/under would need still need to be chosen manually, but I want to get all the adjacent paths at each intersection created on a very complex design, then I can delete the unwanted ones.

Basically I want it to do this:

… instead of this:

(center line is the path, the outer lines are the results of the stroke to path, which effectively does a “union” at each intersection. I don’t want that.)

That is the real trick of Knotwork. If you follow one path alternately over and under, as long as there are just two lines intersecting, it will all work. That you could automate, and as far as I know, that is how it is done.

I also found this reference…
" Other improvements include tweaks to the Knot LPE , the LPE selection dialog , the Roughen LPE , the Fill between many option, and Inkscape keeps going when selecting an object that is used for the Pattern-Along-Path LPE ."
in a discussion of Inkscape. Perhaps one of you programming geniuses can help find this.

1 Like