Create and Edit Parallel Paths in Inkscape


I have been using Inkscape for some months now to edit and maintain a transit map of San Francisco. For the most part I am very comfortable editing paths, removing and adding nodes, snapping to grids and objects and the like . . .

But what I have yet to figure out, is how to bring multiple lines together, in parallel, either stuck together along their edges or separated at a constant distance, like railroad tracks.

One technique would seem to be to create a wider path objects beneath a narrower path object, then snap their nodes together, to create a path with an outline, but I would really like to combine two or more lines in parallel, as you often see on transit maps. If anyone can shed some light on my desire, I owe them a cookie!

5/2/2011 3:15:00 AM

Accepted Answer

I've been hitting my head against this problem for two years as I've built and maintained a transit map of my own. Here's a Link to forum posts about my example.

The whole thing is an elaborate arrangement of parallel lines of varying widths stacked on top of each other as well as parallel lines needing to be spaced apart an equal width.

The best way I've found to manage such a layout is to snap things to hand-placed guidelines or to a very fine grid parallel to the lines.

The problem with the fine grid approach (it needs to be very fine if you want to maintain consistent line width AND have your lines appear to be touching) is that over any significant distances it's very easy to lose track of the grid and let your lines shift a little off the set of regular angles most transit maps use.

That's where the 0, 45, and 90 degree grid lines come into play.

It's messy and still hard to maintain, but it has been the best I could do without a "snap to line edge" feature or something like that.

Here's an example of what I achieved with this method:

Cincinatti Transit Map Example

7/13/2013 6:25:00 PM

So far, the "best" way I have found is the "Stroke to Path" technique here:

Unfortunately, the transformed paths, while pretty, aren't practical to manage. So for a transit map I think I would:

  1. Create a layer for the rail paths.
  2. Lay the rails out as solid-line paths.
  3. Copy the rail path to a new layer.
  4. Toggle visibility of the original rail layer off.
  5. On the new layer, select all objects, and apply the "Stroke to Path" technique.

Then, if I need to revise the map, I can update the rail path layer, then delete and re-create the "Stroke to Path" layer.

I'll leave this question "open" for a better solution. :)