I think I did not yet officially announce LPE... from our wiki: __________________
Live path effects (LPE)
Live path effects (not to be confused with extension effects or SVG filters) are a new way to non-destructively modify path and shape objects. Path effects affect the path data of an object but not its style. The original path is preserved and can be edited directly on-canvas, and the path effect applied to it will be updated live.
In this version, we include several path effects that are analogous to the corresponding extension effects (such as Path along Path effect and Pattern along Path that replaces the extension of the same name). The most important advantage of path effects is that they are, indeed, live - you can still edit the original path and the effect will update in real time (unlike the extension effects which were one-time one-way transformations). In the future, we plan to reimplement most if not all of path-changing extensions as live path effects.
Live path effects were developed by Johan Engelen as part of the GSoC 2007.
= Applying effects =
Path effects are applied through the Path Effects dialog (opened from the Path menu, or by pressing Ctrl+Shift+7. This dialog is also used for controlling the effect's parameters and for removing effects.
When a path with a path effect applied is selected, the statusbar description mentions that, for example "Path (4 nodes, path effect)".
There is a special Paste Path Effect command (Ctrl+7) that can be used to copy effects from one path to another. [edit] Editing effect parameters
When switching to the node edit tool (F2), the original path can be edited. The original path is shown as a red helper path. Normal path operations, like simplify, still work.
Some parameters of effects can be edited on-canvas. For example, path parameters can be node-edited, by pressing the "edit on-canvas" button in the Path Effects dialog. Press "7" to cycle through the different on-canvas editable parameters. This way, one can edit the parameters without opening the Path Effects dialog. The statusbar tells the name of the parameters that is currently being shown.
= Available effects =
Path along path
The Path along Path effect can curve a path along another path. When this effect is applied to a path, it can be bend along another path (called bend path). With the node edit tool, both the original path and the bend path can be changed on-canvas and the result is updated live. This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.
In the effect's control panel in the Path Effects dialog, you can select how many copies of the original path are put along the bend path (either single or repeated) and whether it is stretched to fill the bend path. In this dialog you'll also find a button to edit the bend path on-canvas and a button to paste a new bend path from clipboard. A possible workflow is this: you select and copy the new bend path to the clipboard, then select the path you want to bend, apply the Path along path effect, and paste the bend path with the paste button next to 'bend path'.
Pattern along path
The Pattern along Path effect can curve a path along another path. When this effect is applied to path A (called skeleton), another path B (called pattern) can then be passed as a parameter. The result is that path B is bent along path A. With the node edit tool, path A can be changed on-canvas and the result is updated live. This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.
In the effect's control panel in the Path Effects dialog, you can select how many copies of the pattern are attached (either single or repeated) and whether the pattern is stretched to fill the skeleton path. You can also choose the pattern for the selected skeleton [either directly or] by pasting it from clipboard (that is, you select and copy to the clipboard the pattern, then select the skeleton, apply the Path along path effect, and paste the pattern). The Scale width parameter allows you to change the width of the pattern applied to the path.
Stitch Subcurves
The Stitch Subcurves effect connects points from two subpaths of the path with straight line or curved segments, i.e. the stitches. It looks a lot like the Effect Lines from Expression 3. The result is also referred to as "String Art". For some examples of string art, see http://members.shaw.ca/jillbritton/string_art/jbstringart.htm.
The shape of the connecting paths can controlled by the stroke path parameter. This could be used to draw 'hair-shaped' connecting paths with sharp end-tips. Other controls include the number of paths, the variation in spacing between the connecting paths (clustering) and also whether the start and end points of the stitches should like exactly on the original subcurves or can stray randomly around them. Finally the width of the stroke path can be varied.
Note that this effect can only be applied to a path with two subpaths in it, hence 'subcurve' in the name. Use Path > Combine to create such a path from two separate paths.
Example file: live-path-effects-curvestitch.svg
Example file showing cooperation between Stitch Subcurves and Path along Path: live-path-effects-curvestitch-hair.svg
Gears
The Gears effect is a toy effect. It generates a chain of interconnected gears from the path that has the effect applied to it. The nodes of the path define the centers of the gears. The first 3 nodes are special; the first defines the start angle of the chain, the second defines the center of the first gear and the third knot specifies the radius of the first gear. That is, to create a chain of 2 gears, you will need a path with 4 nodes; for 3 gears, 5 nodes, and so on.
Example file: live-path-effects-gears.svg
= Development of new effects =
One of the goals of the Summer of Code project was to make it easy to create new effects. There is a framework that greatly simplifies effect implementation; very little code is needed to get the effect hooked into Inkscape. This leaves valuable time for the actual effect to be implemented. See the http://wiki.inkscape.org/wiki/index.php/MakingLivePathEffects wiki page for an explanation of how to get started with your own effect!
___________
I'd really like people to test things and to get feedback. It already works very nicely from my point of view, but that is also because I know how to use it! I hope it is intuitive enough to be used, if not: please let us know!
Kind regards, Johan Engelen
On Nov 20, 2007 7:13 PM, <J.B.C.Engelen@...2072...> wrote:
= Available effects =
Path along path
The Path along Path effect can curve a path along another path. When this effect is applied to a path, it can be bend along another path (called bend path). With the node edit tool, both the original path and the bend path can be changed on-canvas and the result is updated live. This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.
[SNIP]
Pattern along path
The Pattern along Path effect can curve a path along another path. When this effect is applied to path A (called skeleton), another path B (called pattern) can then be passed as a parameter. The result is that path B is bent along path A. With the node edit tool, path A can be changed on-canvas and the result is updated live. This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.
What exactly is the difference between these two? The descriptions actually make them sound like the same thing.
I think "Pattern along path" should be renamed, in any case. Inkscape already uses the word pattern for something completely unrelated. Consistent naming reduces user confusion, which is an important goal.
Kurt
-----Original Message----- From: inkscape-user-bounces@lists.sourceforge.net [mailto:inkscape-user-bounces@lists.sourceforge.net] On Behalf Of Kurt Hutchinson Sent: woensdag 21 november 2007 14:20 To: Inkscape User Community Subject: Re: [Inkscape-user] NEW: Live Path Effects
On Nov 20, 2007 7:13 PM, <J.B.C.Engelen@...2072...> wrote:
= Available effects =
Path along path
The Path along Path effect can curve a path along another
path. When
this effect is applied to a path, it can be bend along another path (called bend path). With the node edit tool, both the original path and the bend path can be changed on-canvas and the result
is updated live.
This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.
[SNIP]
Pattern along path
The Pattern along Path effect can curve a path along another path. When this effect is applied to path A (called skeleton),
another path
B (called pattern) can then be passed as a parameter. The result is that path B is bent along path A. With the node edit tool,
path A can
be changed on-canvas and the result is updated live. This
provides a
direct equivalent of "vector brushes" or "skeletal strokes"
features
in other vector editors.
What exactly is the difference between these two? The descriptions actually make them sound like the same thing.
In the simplest case, the result of both effects are indeed the same. I will try to write something on the wiki about how LPE work, to make the difference more clear. In summary:
original path ---> LPE ---> output path ^ | parameters
This schematic shows how LPE work. The parameters can be paths, numbers, points, text, in principle anything. The original path is just that: a single path on which you apply the effect. The output path is also just a path, no stroke or color information or other things, just a sequence of points. The output style will be the same style as the original path. The difference between pattern and path along path is that the path to be bent is the original path for one and a parameter for the other:
original ---> Pattern along Path ---> output ^ | path parameter
output = path parameter is put along original (possibly multiple times, to create for example a necklace of circles with just one circle as path parameter) So you draw a path that is going to be cord of the necklace. Apply pattern along path LPE. Then change the path parameter to a circle (paste a circle onto the parameter). The style of the circle is discarded; the style of the cord will be the output style.
original ---> Path along Path ---> output ^ | path parameter ('bend path')
output = original bent along path parameter In order to create the same necklace, you first have to draw a long straight string of circles. Then combine the circles into one path (each circle will become a subcurve). Apply path along path. Then you can change the bend path parameter to shape your necklace.
Note that since the same pattern occurs many times for a necklace, it is best to use pattern along path. But if you'd like to bend just a single path and maintain its style (stroke, color, etc), you should apply path along path.
I think "Pattern along path" should be renamed, in any case. Inkscape already uses the word pattern for something completely unrelated. Consistent naming reduces user confusion, which is an important goal.
I aggree. I named it Pattern along Path in accordance to the extension effect that does the same.
I have proposed different names: Pattern along Path: 'skeletal strokes' 'stroke with path' <= my choice at this moment...
Path along path: 'bend path' 'bend object' 'bend' <= my choice at this moment
Perhaps you have better names? :-)
Johan
So basically, in Path along Path, the original is used for styling and content, while the parameter is used for shaping. And in Pattern along Path, the original is used for styling and shaping, and the parameter is used for content.
Without knowing how the code is structured, it seems like these two effects could be merged into one by giving options for which of the two paths is used for styling, which is for content, and which is for shaping. As a programmer, I know that the code structure could make it impossible, so the point may be moot, but I thought I'd throw it out there.
On Nov 21, 2007 10:31 AM, <J.B.C.Engelen@...2072...> wrote:
I aggree. I named it Pattern along Path in accordance to the extension effect that does the same.
I have proposed different names: Pattern along Path: 'skeletal strokes' 'stroke with path' <= my choice at this moment...
Path along path: 'bend path' 'bend object' 'bend' <= my choice at this moment
Perhaps you have better names? :-)
Honestly, I'm not that great at naming. :) If the two effects were combined into one, maybe 'Shape with Path' since it's general enough but still gives a decent description. If they stay separate, I think 'Bend' (or 'Bend with Path'), or 'Shape with Path' is a good choice for Path along Path.
I would like 'Stroke with Path', except that stroke is already used for something else. Unfortunately, I can't think of a good alternative. I actually think 'Path along Path' is a pretty good description for what is right now called Pattern along Path. It tells you, use a path as a template shape for this other path. Like how Text on Path tells you, use a path as a template shape for this text.
The difficulty is that the operations are so flexible, it's difficult to get a good but short phrase that captures them.
Kurt
Kurt Hutchinson:
So basically, in Path along Path, the original is used for styling and content, while the parameter is used for shaping. And in Pattern along Path, the original is used for styling and shaping, and the parameter is used for content.
Well said!
Without knowing how the code is structured, it seems like these two effects could be merged into one by giving options for which of the two paths is used for styling, which is for content, and which is for shaping. As a programmer, I know that the code structure could make it impossible, so the point may be moot, but I thought I'd throw it out there.
Path parameters only contain path data (points), not style or anything. Ofcourse path parameters could be extended to include style data, but then still an LPE can only output points, not style data. The whole LPE system could be much larger better bigger, but I am already putting just about all my Inkscape time in it :-(
About the naming: perhaps I can at least settle on renaming 'path along path' to 'bend'. (the two names are so similar at the moment that even I misread things often...)
Johan
On Nov 21, 2007 5:25 PM, <J.B.C.Engelen@...2072...> wrote:
About the naming: perhaps I can at least settle on renaming 'path along path' to 'bend'. (the two names are so similar at the moment that even I misread things often...)
Me too :)
And please rename "stitch subcurves" - we don't have subcurves in Inkscape, we have subpaths.
I just renamed the Path along Path LPE to Bend Path. I also changed this name in the Inkscape SVG representation. This means that your old files that used this effect no longer work. Reapplying the effect will not work as it will reinitialize some things. What you should do is go to the effect in the XML editor (in the defs section) and reset the effect attribute from 'path_along_path' to 'bend_path'.
Sorry for the inconvenience :/ (note that the LPE still change a bit because of bug fixes. e.g. recently translation of things was changed, so your paths would be in the wrong place)
- Johan
-----Original Message----- From: bulia byak [mailto:buliabyak@...155...] Sent: woensdag 21 november 2007 22:38 To: Inkscape User Community; Engelen, J.B.C. (Johan) Subject: Re: [Inkscape-user] NEW: Live Path Effects
On Nov 21, 2007 5:25 PM, <J.B.C.Engelen@...2072...> wrote:
About the naming: perhaps I can at least settle on renaming 'path along path' to 'bend'. (the two names are so similar at the moment that even I misread things often...)
Me too :)
And please rename "stitch subcurves" - we don't have subcurves in Inkscape, we have subpaths.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
On Nov 21, 2007 4:25 PM, <J.B.C.Engelen@...2072...> wrote:
Without knowing how the code is structured, it seems like these two effects could be merged into one by giving options for which of the two paths is used for styling, which is for content, and which is for shaping. As a programmer, I know that the code structure could make it impossible, so the point may be moot, but I thought I'd throw it out there.
Path parameters only contain path data (points), not style or anything. Ofcourse path parameters could be extended to include style data, but then still an LPE can only output points, not style data. The whole LPE system could be much larger better bigger, but I am already putting just about all my Inkscape time in it :-(
Ah, now I see why the two exist separately. I wasn't meaning to criticize the LPE system. I just thought I saw an opportunity for simplification. I realize features take time to develop, and I think the LPE system is a great feature already. :)
Kurt
participants (3)
-
unknown@example.com
-
bulia byak
-
Kurt Hutchinson