Move node along its path

Bug #170826 reported by Clarusthedogcow on 2005-08-01
This bug affects 11 people
Affects Status Importance Assigned to Milestone

Bug Description

While I was working on manipulating quite a few nodes trying to align
them to a path, I thought it would be useful if there was a function
which did this in Inkscape.

You would need to select a path and a node, and the selected node
would automatically be moved to the path. The node would travel the
path like it was a rail, with only 1 dimensional movement. Many
otherwise difficult tasks then become easy. For example, if I were
trying to make a pizza I would:
1. Draw a circle
2. Draw a triangle within the circle with the base facing the outside of
the circle (like a pizza slice)
3. Select the one of the vertex bases, alt shift click (or maybe a lock
node to path button in the node editing interface) the circle and then
move the node to lock on the base
4. Select the other vertex and perform the same operation
5. Select the base of the triangle and make it smooth
6. Do a clone + rotate operation

Now I you would have a decent looking pizza with slices and all. Of
course the primary reason for having this feature would not be to
make pizzas but rather shapes that are related to the shape of
another in only a few vertices (the offset feature would still be useful
as it is more geared towards shapes that inherit the flow of many
vertices). You could also use this feature like a much more flexible
guide: you could make a quick curve to lock to, or even just an
angled line.

In addition to this, when multiple nodes are selected they follow the
path like a train, keeping the same distance apart that they originally
had (sqrt(dx^2 + dy^2)).

I agree that something like that will be useful, but please
realize that in general case, it is impossible to move a
node along the path without distorting the path. We can
however attempt to minimize these distortions.

As for pizza slices, you can easily do them currently with
our Ellipse tool which can do arbitrary sectors and segments
(see the Shapes tutorial).

Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed

+1 for this feature.
My usecase would be:

* Select two nodes in a segment
* Add a node in between
* Move the new node ALONG the segment to the desired height
* Edit more

Many times I've wished this feature existed.

Johan Engelen (johanengelen) wrote :

Can you please provide the precise way (keys, clicks, anything) of how this should work?
It is possible for generating new nodes; as Bulia mentioned, for existing nodes it is not possible (just consider what happens when dragging a node on a corner. So I envision something like ctrl+alt+shift dragging a new node off an existing node, or with some other special key binding...

I would like to see this feature for new nodes. It would be useful in adjusting things when they have to follow a specific path, where using the align tools would not move the nodes to the place they need to go. I suppose one could also make a new shape across the desired spot and then use the path division tool to accomplish this though...

Another use case for this is positioning text on a path. Currently the text starts at the "starting" node for a path (I put that in quotes because it seems to be pretty arbitrary for closed shapes that were converted to paths) -- if one could somehow designate any node as the "text starts here" node and then move it along the path to the desired spot, that would be more flexible than the current way of moving text (by a large manual kern on the first character). The trouble with the kerning method is that you can't move text backwards -- characters disappear if you move the text so that it starts before the first node.

Krzysztof Kosinski (tweenk) wrote :

It is doable in my new tool, but we need a better Bezier fitting algorithm in 2geom. The current one doesn't handle roundtrips (subdivide and then fit) very well, which is a must for this application. This operation could be bound to Shift+Alt.

@thetrivialstuff: For the text on path case, we need a different editing control, because changing the anchor point of text should never modify the path. And it's just not possible to have a text on path that starts before the first node - use a clipping path if you want only some of the path to be visible.

yareckon (yareckon) wrote :

I wanted to do this today to set up some nodes for later cuts and breaks without disturbing the form of the line. Would be great if you could create a new node and just slide it along into place. Snapping to a guide would be ideal.

Javier Di Mauro (javierdimauro) wrote :

+1 on this feature. It would be great to see it in future versions.

Wolter Hellmund (wolterh) wrote :

This would be a great feature, a great use case example would be tweaking an existing design without needing to add a whole bunch of construction lines.

Wolter Hellmund (wolterh) wrote :

It should be restricted though to non-corner nodes, i.e. nodes which a) exist within a smooth curve or b) are an end of a straight line.

My usecase would be to create nodes at paths intersections. So create a new node somewhere near, and then slide it until snap to path intersection.

Valentin (valschmidt+ubuntu1) wrote :

Another usecase would be to move nodes along an ellipsis. Which would be very useful in combination with the smooth node on smooth node feature,

Corentin SCHREIBER (cschreib) wrote :

I arrived here looking for a similar feature, but later discovered that this is already possible in Inkscape, just move your node while pressing Ctrl+Alt!

 What @Corentin describes works great for lineal vectors, but it does not work for curves or angles (at least on 0.91)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers