LPE Knot effect not working correctly on circular paths

Bug #1627817 reported by Ivan Lovreković on 2016-09-26
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Undecided
Jabiertxof

Bug Description

When using knot effect on simple circular paths (default ellipse) the ends of the knotted path should be equidistant to the intersecting path (crossing), so that when they are tweaked by fixed width parameter they move in (close) or move out (open) on the respective intersection and by the same amount.

In 64bit Inkscape 0.91 on Win/Ubuntu 16.04 r13725 this seems to be the case with rectangles but not with basic 4 node ellipse objects, where one end of the knotted path is offset closer to the intersection, leaving the other end further away.
However if we add more nodes(tested with 4) to the circle (total of 8) then it works as intended.

In Inkscape 0.47 this worked flawlessly.
There seems to be correlated problem with the trunk version win64 0.92. r15044 where the effect also doesn't work correctly.

Steps to reproduce:
1. Create 3 simple circular objects and arrange them so they intersect, make horizontal gaps equal.
2. Select all, Ctrl+K to combine, select.
3. Go Path->Path Effects->Knot to apply effect.
4. Tweak fixed width parameter so that "open" ends of the knotted circular paths "close in" on the intersecting path.

Ivan Lovreković (cupixx) wrote :
description: updated
su_v (suv-lp) wrote :

AFAICT the Knot LPE fails to support elliptical arc path commands used in Inkscape 0.91 and later to originally represent circle/ellipse shapes converted to path (rev >= 12677):
https://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands

The number of nodes (as displayed with the node tool) does not really matter - it's sufficient to trigger a rewrite of the path data in the node tool context to convert the elliptical arcs to cubic bézier curves (without inserting additional nodes). The Knot path effect then works as expected with cubic bezier curves.

Workaround based on the reporter's 'steps to reproduce':
1) draw overlapping circles
2) combine (Ctrl+K)
3) convert elliptical arcs into cubic bezier curves
[ for example: switch to node tool ('N'), select all ('Ctrl+A') - or any amount of nodes >= 1 - and nudge the selection with the cursor keys (e.g. one step up and one back down again) ]
4) apply Knot Effect to the combined path
5) adjust parameters as needed

Reproduced with lp:inkscape >= 12677 and lp:inkscape/0.92.x r15091 (on OS X 10.7.5).

Changed in inkscape:
status: New → Confirmed
Jabiertxof (jabiertxof) on 2016-11-18
Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
Jabiertxof (jabiertxof) wrote :

Fixed in trunk in r.15259 and in 0.92.x in r.15204

Changed in inkscape:
status: Confirmed → Fix Committed
Alvin Penner (apenner) wrote :

fix confirmed on 0.92.x branch rev 15204, Windows XP,
thanks Jabiertxof!

Jabiertxof (jabiertxof) wrote :

You are welcome Alvin!

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

Duplicates of this bug

Other bug subscribers