Forum: Inkscape How to have different markers along each node of a polyline?

B5ea0d229d6133caa156292bbe25095f?d=identicon&s=25 Amy (Guest)
on 2013-09-24 01:24
(Received via mailing list)
Hi all,

I'm trying to write an Inkscape extension that has the following
functionality:

1. I create a polyline in Inkscape and select it.
2. My extension takes in a string of predefined tokens, the same number
as
there are nodes in the polyline, e.g. "square, circle, triangle, circle,
circle".
3. The extension places a square at the first node of the polyline, a
circle at the second, triangle at the third, circle at the fourth,
circle
at the fifth (includes end points).

I would like the resulting line-with-pictures to still be a line in that
I
can go to the node editor and adjust the nodes of my polyline (it's just
that the nodes have pictures on them now).

How can I achieve this in Inkscape or in SVG? (Is this the appropriate
list
for this question, or should I send to inkscape-devel?)

This makes me think that what I want is to specify *custom* markers
along a
line. I.e. not just marker-start, marker-end and marker-mid, but more of
a
marker-sequence (so that the middle markers can be different from each
other).

Is this possible?

If not, is there some other way to do this? Perhaps I can do this with
connectors instead so that my sequence of square -- connecter -- circle
--
connector -- triangle -- connector -- circle -- connector -- circle
still
*acts* like a line with markers at each node in inkscape (though in SVG
it
is not "truly" a polyline with markers).

I've been trying to read up on connects, but is there further
documentation
available? In particular, I think I've worked out how to set
"inkscape:connector-(type|curvature)" and
"inkscape:connection-(start|end)", but what is
"inkscape:connection-(start|end)-point"? On examining the XML of a test
connector I drew in Inkscape, it was set to "d4" for all the connectors
I
drew and I'm not sure what this signifies.

Also when I convert my path to connectors in my extension, is it up to
me
to calculate where the path would intersect with the edge of the node?
For
example if I connect a star to a rectangle I notice that in Inkscape the
connector only starts and ends at the edges of the objects, even though
the
"true" connection handle is in the centre. Is there some convenience
function in the Python modules somewhere for me to work out where the
polyline would intersect with my node picture (particularly for more
complex shapes, like a star)?

cheers,
Amy
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.