Discussion:
[Inkscape-user] Movable Chain
Hans Carlson
2017-02-08 20:53:02 UTC
Permalink
I'd like to create a movable chain of sorts... I'm not sure how or if
this is possible with inkscape (0.91)...

There seems to be lots of tutorials that show how to create a chain using
Pattern along Path, the problem is, once the chain is created that's the
end of the tutorial. I need to go a step further and actually
move/manipulate the chain without deforming the links or changing the
length of the chain. Maybe the "Pattern along Path" examples are
completely wrong for what I want to do.

To put it another way, take a real physical chain... 10' long, sitting on
the floor. I can move the chain around, pull on one end, push the chain
in the middle, shape it into an S curve, form a circle with the chain,
etc. All the while, the individual links are exactly how they started --
they haven't been stretched or bent or deformed in any way. And while the
actual length of the chain can very a little bit it's limited by how much
slack there is in the individual links.

Now, I want to do the same kind of thing in inkscape. I want to create a
line long enough to hold exactly 60 circles, 20px in diameter with 5px
space between each circle. Then, and this is the important part, I want
move and reshape this "chain" around the canvas, just like I can do with a
path composed of lots of nodes. But, I don't want the circles to change
shape. The space between the circles can change a *little bit*, but
should be limited... like the links in a real chain.

I'm very new to both vector graphics and inkscape, so I'm not sure if what
I'm trying to do is easy, difficult or impossible. I would appreciate
some enlightenment.
brynn
2017-02-10 23:40:45 UTC
Permalink
I'm pretty sure that's a physical impossibility, to put a curve into a chain,
without moving the links or making it appear shorter. So such a depiction would
not be realistic.

Besides that though, it's just not possible for a 2D, non-animation, graphics
program. Because each time you move a chain link, it intersects differently
with the next link.

If you've already learned how to draw a chain, then you probably already
understand how to make one part of the chain link look like it's on top of the
next link, in one place, and in another place, to look like it's under the next
link. This is simulating 3d in a 2d medium.

So once you understand that, you must be able to see how much work would be
needed, each time you want to change how the links interact. I suggest you try
your hand at it :-)

You'll need to look to Blender, or other similar 3d modelling program. But I
don't think....well I'm not sure, but I don't think Blender can do animation.
For 3d animation, you might need to look at Synfig.

All best,
brynn

-----Original Message-----
From: Hans Carlson
Sent: Wednesday, February 08, 2017 1:53 PM
To: inkscape-***@lists.sourceforge.net
Subject: [Inkscape-user] Movable Chain

I'd like to create a movable chain of sorts... I'm not sure how or if
this is possible with inkscape (0.91)...

There seems to be lots of tutorials that show how to create a chain using
Pattern along Path, the problem is, once the chain is created that's the
end of the tutorial. I need to go a step further and actually
move/manipulate the chain without deforming the links or changing the
length of the chain. Maybe the "Pattern along Path" examples are
completely wrong for what I want to do.

To put it another way, take a real physical chain... 10' long, sitting on
the floor. I can move the chain around, pull on one end, push the chain
in the middle, shape it into an S curve, form a circle with the chain,
etc. All the while, the individual links are exactly how they started --
they haven't been stretched or bent or deformed in any way. And while the
actual length of the chain can very a little bit it's limited by how much
slack there is in the individual links.

Now, I want to do the same kind of thing in inkscape. I want to create a
line long enough to hold exactly 60 circles, 20px in diameter with 5px
space between each circle. Then, and this is the important part, I want
move and reshape this "chain" around the canvas, just like I can do with a
path composed of lots of nodes. But, I don't want the circles to change
shape. The space between the circles can change a *little bit*, but
should be limited... like the links in a real chain.

I'm very new to both vector graphics and inkscape, so I'm not sure if what
I'm trying to do is easy, difficult or impossible. I would appreciate
some enlightenment.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Hans Carlson
2017-02-11 00:59:35 UTC
Permalink
Thanks for the reply, but I guess I wasn't very clear with my original
question.

I wasn't trying to suggest the links in the chain couldn't move, just that
the individual links aren't distorted. Obviously, just like with a real
physical chain, something has to give. So when you move a REAL chain,
the links slide against each other, but the links don't stretch or twist.

Maybe a rope or a cable would have been a better analogy than a chain.

In my drawing, my "CHAIN" isn't so much a chain as a series of 2D circles.
There's a gap between the circles and the circles don't overlap each
other.

And the "circle" isn't just a simple path based circle... it's a group of
objects that contains a couple different circles with different stroke
width, colors and an X in the middle. I suppose you could imagine a
target or dart board. It isn't either of those, but that's a reasonable
analogy.

My hope is there's some way to use "Pattern along Path" (or maybe
something else), to duplicate the circles along the path, but without
distorting the shape of the circles. The gap between the circles can
shrink or grow to accommodate the curve, but the circles themselves
shouldn't be distorted. Also, once the pattern (circles) is laid out on
the path, I was hoping there would be some way to change the curve of the
path with the circles on it, again without distorting the circles.

I'm not looking for animation... the reason I want to move my "pattern
along path" after it's been created is because I need it to fit in and
around other stuff without overlapping them. The big problem is, I need
to have exactly 60 circles and I can't tell how many circles "Pattern
along Path" will generate until I try it. So, I try it (using Preview
mode), count the number of circles and then have to go back and change the
route slightly to make it longer or shorter. Then back to "Pattern along
Path (Preview)", count circles, readjust... over and over and over and
over.

Also, when Pattern along Path places the circles on a curve, the circle is
slightly distorted... it's no longer a true circle.

One thing I thought *might* work (and I have no idea if this is even
possible), would be something like this:

1. Create a path with a specific number of nodes (60). I can do this
manually, but it sure would be nice if there was some way to create a
simple 2 node path and then bring up a dialog to "Add X nodes to path".

2. Somehow attach an object (my circle) to each one of the nodes. The
center of the circle would be at the same point as the path node.

3. Now, move the underlying path into whatever curve I want, but the
circles don't distort. If I move a node, then the circle moves with it,
otherwise the circles just sit there or I suppose they could rotate about
the center... that would be fine.

Again, I'm just throwing that out there to see if there's a way to do
something like that.

Another idea might be to create a path that doesn't stretch. ie, just
like a real rope or cable, if you pull on part of the rope/cable it
doesn't stretch, instead one or both ends will move. I'd like to do the
same kind of thing with a path... if something like that is possible.
Post by brynn
I'm pretty sure that's a physical impossibility, to put a curve into a
chain, without moving the links or making it appear shorter. So such a
depiction would not be realistic.
Besides that though, it's just not possible for a 2D, non-animation,
graphics program. Because each time you move a chain link, it
intersects differently with the next link.
If you've already learned how to draw a chain, then you probably already
understand how to make one part of the chain link look like it's on top
of the next link, in one place, and in another place, to look like it's
under the next link. This is simulating 3d in a 2d medium.
So once you understand that, you must be able to see how much work would
be needed, each time you want to change how the links interact. I
suggest you try your hand at it :-)
You'll need to look to Blender, or other similar 3d modelling program.
But I don't think....well I'm not sure, but I don't think Blender can do
animation. For 3d animation, you might need to look at Synfig.
All best,
brynn
-----Original Message-----
From: Hans Carlson
Sent: Wednesday, February 08, 2017 1:53 PM
Subject: [Inkscape-user] Movable Chain
I'd like to create a movable chain of sorts... I'm not sure how or if
this is possible with inkscape (0.91)...
There seems to be lots of tutorials that show how to create a chain
using Pattern along Path, the problem is, once the chain is created
that's the end of the tutorial. I need to go a step further and
actually move/manipulate the chain without deforming the links or
changing the length of the chain. Maybe the "Pattern along Path"
examples are completely wrong for what I want to do.
To put it another way, take a real physical chain... 10' long, sitting
on the floor. I can move the chain around, pull on one end, push the
chain in the middle, shape it into an S curve, form a circle with the
chain, etc. All the while, the individual links are exactly how they
started -- they haven't been stretched or bent or deformed in any way.
And while the actual length of the chain can very a little bit it's
limited by how much slack there is in the individual links.
Now, I want to do the same kind of thing in inkscape. I want to create
a line long enough to hold exactly 60 circles, 20px in diameter with 5px
space between each circle. Then, and this is the important part, I want
move and reshape this "chain" around the canvas, just like I can do with
a path composed of lots of nodes. But, I don't want the circles to
change shape. The space between the circles can change a *little bit*,
but should be limited... like the links in a real chain.
I'm very new to both vector graphics and inkscape, so I'm not sure if
what I'm trying to do is easy, difficult or impossible. I would
appreciate some enlightenment.
Maren Hachmann
2017-02-11 01:27:21 UTC
Permalink
Maybe you could use a custom marker, then, Hans?

But the distance there will depend on the distance between nodes, so if
you move a node, it changes.

The 'Scatter' extension doesn't distort.

Then there's the 'ruler' LPE, that could help with the location of
circles on a path with curved segments.

None of them will be able to do what you need fully, that's why I hadn't
said anything before.

Maybe the 'ruler' LPE could be extended to use something different than
plain lines, to mark the path?... That would do all you need.

Or the 'Scatter' extension could be modified and merged together with
the 'Measure Path' extension, to produce something like this.

(I've seen this asked for a couple of times, maybe there already is a
feature request for it here: https://bugs.lauchpad.net/inkscape - if
not, you could make one).

Kind Regards,
Maren
Post by Hans Carlson
Thanks for the reply, but I guess I wasn't very clear with my original
question.
I wasn't trying to suggest the links in the chain couldn't move, just that
the individual links aren't distorted. Obviously, just like with a real
physical chain, something has to give. So when you move a REAL chain,
the links slide against each other, but the links don't stretch or twist.
Maybe a rope or a cable would have been a better analogy than a chain.
In my drawing, my "CHAIN" isn't so much a chain as a series of 2D circles.
There's a gap between the circles and the circles don't overlap each
other.
And the "circle" isn't just a simple path based circle... it's a group of
objects that contains a couple different circles with different stroke
width, colors and an X in the middle. I suppose you could imagine a
target or dart board. It isn't either of those, but that's a reasonable
analogy.
My hope is there's some way to use "Pattern along Path" (or maybe
something else), to duplicate the circles along the path, but without
distorting the shape of the circles. The gap between the circles can
shrink or grow to accommodate the curve, but the circles themselves
shouldn't be distorted. Also, once the pattern (circles) is laid out on
the path, I was hoping there would be some way to change the curve of the
path with the circles on it, again without distorting the circles.
I'm not looking for animation... the reason I want to move my "pattern
along path" after it's been created is because I need it to fit in and
around other stuff without overlapping them. The big problem is, I need
to have exactly 60 circles and I can't tell how many circles "Pattern
along Path" will generate until I try it. So, I try it (using Preview
mode), count the number of circles and then have to go back and change the
route slightly to make it longer or shorter. Then back to "Pattern along
Path (Preview)", count circles, readjust... over and over and over and
over.
Also, when Pattern along Path places the circles on a curve, the circle is
slightly distorted... it's no longer a true circle.
One thing I thought *might* work (and I have no idea if this is even
1. Create a path with a specific number of nodes (60). I can do this
manually, but it sure would be nice if there was some way to create a
simple 2 node path and then bring up a dialog to "Add X nodes to path".
2. Somehow attach an object (my circle) to each one of the nodes. The
center of the circle would be at the same point as the path node.
3. Now, move the underlying path into whatever curve I want, but the
circles don't distort. If I move a node, then the circle moves with it,
otherwise the circles just sit there or I suppose they could rotate about
the center... that would be fine.
Again, I'm just throwing that out there to see if there's a way to do
something like that.
Another idea might be to create a path that doesn't stretch. ie, just
like a real rope or cable, if you pull on part of the rope/cable it
doesn't stretch, instead one or both ends will move. I'd like to do the
same kind of thing with a path... if something like that is possible.
Post by brynn
I'm pretty sure that's a physical impossibility, to put a curve into a
chain, without moving the links or making it appear shorter. So such a
depiction would not be realistic.
Besides that though, it's just not possible for a 2D, non-animation,
graphics program. Because each time you move a chain link, it
intersects differently with the next link.
If you've already learned how to draw a chain, then you probably already
understand how to make one part of the chain link look like it's on top
of the next link, in one place, and in another place, to look like it's
under the next link. This is simulating 3d in a 2d medium.
So once you understand that, you must be able to see how much work would
be needed, each time you want to change how the links interact. I
suggest you try your hand at it :-)
You'll need to look to Blender, or other similar 3d modelling program.
But I don't think....well I'm not sure, but I don't think Blender can do
animation. For 3d animation, you might need to look at Synfig.
All best,
brynn
-----Original Message-----
From: Hans Carlson
Sent: Wednesday, February 08, 2017 1:53 PM
Subject: [Inkscape-user] Movable Chain
I'd like to create a movable chain of sorts... I'm not sure how or if
this is possible with inkscape (0.91)...
There seems to be lots of tutorials that show how to create a chain
using Pattern along Path, the problem is, once the chain is created
that's the end of the tutorial. I need to go a step further and
actually move/manipulate the chain without deforming the links or
changing the length of the chain. Maybe the "Pattern along Path"
examples are completely wrong for what I want to do.
To put it another way, take a real physical chain... 10' long, sitting
on the floor. I can move the chain around, pull on one end, push the
chain in the middle, shape it into an S curve, form a circle with the
chain, etc. All the while, the individual links are exactly how they
started -- they haven't been stretched or bent or deformed in any way.
And while the actual length of the chain can very a little bit it's
limited by how much slack there is in the individual links.
Now, I want to do the same kind of thing in inkscape. I want to create
a line long enough to hold exactly 60 circles, 20px in diameter with 5px
space between each circle. Then, and this is the important part, I want
move and reshape this "chain" around the canvas, just like I can do with
a path composed of lots of nodes. But, I don't want the circles to
change shape. The space between the circles can change a *little bit*,
but should be limited... like the links in a real chain.
I'm very new to both vector graphics and inkscape, so I'm not sure if
what I'm trying to do is easy, difficult or impossible. I would
appreciate some enlightenment.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
https://lists.sourceforge.net/lists/listinfo/inkscape-user
brynn
2017-02-11 03:52:21 UTC
Permalink
Oh ok, now I understand better!

There's an Add Nodes extension which offers to add nodes either by number of
segments or length of segment. So for 60 nodes, I guess you'd need 59 segments?

As Moini suggested, I think Scatter will work much better than Pattern Along
Path, because it won't distort.....I'm not sure if it doesn't distort at all, or
if it's very little. But if it's very little, it's hardly noticable. But it
would be trial and error (using Live Preview) to get 60 of the copies or clones,
by adjusting the spacing and/or offsets, etc. Just like PAP extension, "moving"
the path would be undoing the previous trial, edit the path, and reapply the
scatter. The PAP LPE allows live editing of the path, but the PAP extension and
the scatter extension don't.

Moini also mentioned Markers which literally does attach the marker to each
node. However, I'm not sure how complex a marker can be. I just did a little
testing, and a group can be a marker, but it doesn't seem to hold the
fill/stroke styles(colors). So for example, I made 3 different shapes with 3
different fill/stroke colors, and grouped them. They were converted to a marker
as a group, but the resulting marker is all black. I wonder if it might be a
bug, but that will take a little more research. The reason I wonder about that,
is because if I make a single shape, like a circle, and fill it with a gradient,
then convert to marker, it keeps its color including the gradient.

A last option in the list of priorities would be to manually snap the 60 circle
things to the nodes that were placed by Add Nodes extension. For your #3, if
you used Markers, the markers would indeed move right along with the path. But
if you manually snapped them to the nodes, they would not move when you edit the
path.

Oh, good news on the marker. I went back and ungrouped the marker I had made.
So instead of converting the group to a marker, I just selected all 3 objects
and converted. It worked perfectly!

So I really think markers will accomplish most of what you want. As far as I
know, markers don't distort when you edit the path.

Sorry for misunderstanding before. Maybe I take things too literally, but we
really have had people ask how to bend the 2d canvas drawing into 3d.

All best,
brynn

-----Original Message-----
From: Hans Carlson
Sent: Friday, February 10, 2017 5:59 PM
To: Inkscape User Community
Subject: Re: [Inkscape-user] Movable Chain

Thanks for the reply, but I guess I wasn't very clear with my original
question.

I wasn't trying to suggest the links in the chain couldn't move, just that
the individual links aren't distorted. Obviously, just like with a real
physical chain, something has to give. So when you move a REAL chain,
the links slide against each other, but the links don't stretch or twist.

Maybe a rope or a cable would have been a better analogy than a chain.

In my drawing, my "CHAIN" isn't so much a chain as a series of 2D circles.
There's a gap between the circles and the circles don't overlap each
other.

And the "circle" isn't just a simple path based circle... it's a group of
objects that contains a couple different circles with different stroke
width, colors and an X in the middle. I suppose you could imagine a
target or dart board. It isn't either of those, but that's a reasonable
analogy.

My hope is there's some way to use "Pattern along Path" (or maybe
something else), to duplicate the circles along the path, but without
distorting the shape of the circles. The gap between the circles can
shrink or grow to accommodate the curve, but the circles themselves
shouldn't be distorted. Also, once the pattern (circles) is laid out on
the path, I was hoping there would be some way to change the curve of the
path with the circles on it, again without distorting the circles.

I'm not looking for animation... the reason I want to move my "pattern
along path" after it's been created is because I need it to fit in and
around other stuff without overlapping them. The big problem is, I need
to have exactly 60 circles and I can't tell how many circles "Pattern
along Path" will generate until I try it. So, I try it (using Preview
mode), count the number of circles and then have to go back and change the
route slightly to make it longer or shorter. Then back to "Pattern along
Path (Preview)", count circles, readjust... over and over and over and
over.

Also, when Pattern along Path places the circles on a curve, the circle is
slightly distorted... it's no longer a true circle.

One thing I thought *might* work (and I have no idea if this is even
possible), would be something like this:

1. Create a path with a specific number of nodes (60). I can do this
manually, but it sure would be nice if there was some way to create a
simple 2 node path and then bring up a dialog to "Add X nodes to path".

2. Somehow attach an object (my circle) to each one of the nodes. The
center of the circle would be at the same point as the path node.

3. Now, move the underlying path into whatever curve I want, but the
circles don't distort. If I move a node, then the circle moves with it,
otherwise the circles just sit there or I suppose they could rotate about
the center... that would be fine.

Again, I'm just throwing that out there to see if there's a way to do
something like that.

Another idea might be to create a path that doesn't stretch. ie, just
like a real rope or cable, if you pull on part of the rope/cable it
doesn't stretch, instead one or both ends will move. I'd like to do the
same kind of thing with a path... if something like that is possible.
Maren Hachmann
2017-02-11 04:18:41 UTC
Permalink
Post by brynn
I just did a little
testing, and a group can be a marker, but it doesn't seem to hold the
fill/stroke styles(colors).
- What's your preference setting at Edit -> Preferences -> Behavior ->
Markers: Color custom markers the same color as object?
Post by brynn
A last option in the list of priorities would be to manually snap the 60 circle
things to the nodes that were placed by Add Nodes extension. For your #3, if
you used Markers, the markers would indeed move right along with the path. But
if you manually snapped them to the nodes, they would not move when you edit the
path.
Oh, good news on the marker. I went back and ungrouped the marker I had made.
So instead of converting the group to a marker, I just selected all 3 objects
and converted. It worked perfectly!
- Works for me with a group (0.91), that's strange :-/ Maybe there was
something else going on?

Maren
brynn
2017-02-11 09:12:42 UTC
Permalink
Oh right - I forgot about those options. New in 0.91 iirc.
Custom marker same color as object - checked yes. (All 3 are checked.)

So that explains why the group went black. But doesn't explain why the 3
objects not grouped kept their colors. And doesn't explain how the marker made
of a circle with gradient fill kept its color.

Oh wait.... For the 3 objects not grouped, one of them did go black. I didn't
notice at first, because it was a very dark color, so when it came out black, I
didn't notice.

But I guess deselecting that option, then the markers would keep their original
colors? Another plus for Hans :-)

Also, I'm in 0.92.

And one more note about markers, which I hope won't block Hans from using it.
When the path is curved, the markers are always aligned perpendicular to the
path, at every node. So if your path curls around 180 degrees, the circle
objects will be upsidedown, on that portion of the path.

Possibly having 2 shorter paths could be a workaround (one reversed so the
markers are rightsideup).

All best,
brynn


-----Original Message-----
From: Maren Hachmann
Sent: Friday, February 10, 2017 9:18 PM
To: inkscape-***@lists.sourceforge.net
Subject: Re: [Inkscape-user] Movable Chain
Post by brynn
I just did a little
testing, and a group can be a marker, but it doesn't seem to hold the
fill/stroke styles(colors).
- What's your preference setting at Edit -> Preferences -> Behavior ->
Markers: Color custom markers the same color as object?
Post by brynn
A last option in the list of priorities would be to manually snap the 60 circle
things to the nodes that were placed by Add Nodes extension. For your #3, if
you used Markers, the markers would indeed move right along with the path.
But
if you manually snapped them to the nodes, they would not move when you edit the
path.
Oh, good news on the marker. I went back and ungrouped the marker I had made.
So instead of converting the group to a marker, I just selected all 3 objects
and converted. It worked perfectly!
- Works for me with a group (0.91), that's strange :-/ Maybe there was
something else going on?

Maren

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Hans Carlson
2017-02-13 01:07:54 UTC
Permalink
Thank you Maren and Brynn for the suggestions, I've been playing around
with a few things...

The Scatter extension seems to be the best compromise at the moment (more
on that in a bit).

The Markers approach was at first very intriguing, but without the ability
to restrict the length of the path as it's being changed, I think it's
more trouble than it's worth. Using a straight line with 2 nodes and the
Add Nodes extension, I was able to get a path containing the exact number
of nodes I wanted evenly distributed along the path, but then moving that
straight line into the curved path turned out to be too much work. It's
much easier just to draw the rough shape of the curve to begin with, then
tweak it into the correct shape.

The alternative would be to create the rough path first, then evenly
distribute the required number of nodes along that path. I sort of got
this to work using Add Nodes and adding by "Segment Length" rather than
"Number of Segments". But, it was trial and error to figure out the
correct "Maximum segment length" in order to get the correct number of
nodes. The result did evenly distribute the nodes along the path.

If I used "Number of Segments", then I could get the correct number of
nodes, but they weren't evenly distributed along the path. It seems to
add the number of nodes you specify between each of the segments. So then
I tried the Align and Distribute dialog, but it only seems to allow you to
distribute horizontally or vertically, but not along the entire length of
the path -- ie, so the distance between the nodes is the same all along
the curved path.

The other problem was, I could never get any object I created to show up
as a Marker. When I select the object, then "Object->Objects to Marker",
the object would disappear, but it wouldn't show up in the Stroke Style
Markers drop downs. I could see it was there by looking at the XML, but
never could see it in the drop downs.

At any rate (at least for the moment), I've given up on the Markers
approach.

So on to the Scatter approach. First off "Scatter???" -- seems a very odd
name for this extension. It brings to mind randomness or chaos, when in
fact "Scatter" seems much more orderly and consistent than "Pattern along
Path".

Good news is, it does work better for my purposes than Pattern along Path.
At least with respect to the distortion of the circles. ie, with Scatter
the circles are NOT distorted. I still have the same trial and error
problem in order to get the correct number of objects on the path --
adjusting the "Space between copies" and/or tweaking the curve of my path
to make it slightly longer or shorter.

The other advantage of Scatter compared to Pattern along Path is that
after the objects have been distributed, they all seem to be in one group.
So a simple ungroup means I can tweak the position of any of the objects.
With Pattern along Path on the other hand, once the objects are on the
path it seems to be a series of groups and not as easy to get back to the
copies of the original object.

The downside to Scatter is related to something I hadn't mentioned.
Originally, I said my path was just a series of circles. Well, that was
mostly correct, in truth my path is a series of 5 circles followed by an
oval, then 5 circles, an oval, etc. So when I was using PAP, I created a
group containing 5 circles each separated by a small gap, then the oval.
PAP nicely distributed this along the path, making sure to curve the
entire group so it matches the path. Of course the obvious problem with
PAP is that the circles and oval then became distorted.

If I try to use Scatter with this group (5 circles, 1 oval), then the
group isn't curved, so I end up with a straight line pattern going along
the path... not what I wanted. If I use just a single circle then Scatter
works fine and I can go in after the fact and replace every 6th circle
with the oval and that's not too bad.

It seems like the option in Scatter "If pattern is a group, pick group
members" and "Pick group members Sequentially" should do what I want, but
it doesn't work quite right, or I couldn't get it to work. It does
alternate between the group members, but it inserts a large gap between
each of the group members. The gap between the last member and going back
to the first member seems to be the "Space between copies" value, but the
gap between each of the group members is much larger and no apparent way
to change it.

To test, I created the following:

- simple path (15 nodes that curves around a bit).
- small 25px diameter solid blue circle with "1" in the middle
- made that into a group of it's own.
- second 25px circle with "2" in the middle, into a group.
- grouped the 2 numbered circles together.
- opened Scatter with the 2 circle group and the curved path.
- used 5 for the "Space between copies" and then Preview.

What I see is the #1 circle is set at the start of the path, followed by a
large gap, then the #2 circle. Then a small gap equal to the "Space
between copies value of "5" and the #1 circle, large gap #2, small gap #1,
large gap #2, small gap #1, etc.

If I add a #3 circle, it works the same:

- #1, large gap, #2, large gap, #3, small gap,
- #1, large gap, #2, large gap, #3, small gap,
- #1, large gap, #2, large gap, #3, small gap,
- etc

Maybe that's the way it's supposed to work, but it doesn't seem right to
me. Seems like the gap along the path should be the same for all the
objects in the group.
Maren Hachmann
2017-02-13 01:46:36 UTC
Permalink
Post by Hans Carlson
It seems like the option in Scatter "If pattern is a group, pick group
members" and "Pick group members Sequentially" should do what I want, but
it doesn't work quite right, or I couldn't get it to work. It does
alternate between the group members, but it inserts a large gap between
each of the group members. The gap between the last member and going back
to the first member seems to be the "Space between copies" value, but the
gap between each of the group members is much larger and no apparent way
to change it.
- You need to center them all, so they are right above one another,
using the align and distribute dialog (Object -> Align and distribute).
The order is determined by the stacking order.

In other words: The point of each object that will be attached to the
path is determined by the center of the group. If the center is outside
of the object, then the object is put at a distance from the path.

Maren
Hans Carlson
2017-02-13 23:35:39 UTC
Permalink
Post by Maren Hachmann
- You need to center them all, so they are right above one another,
using the align and distribute dialog (Object -> Align and distribute).
The order is determined by the stacking order.
Ahhh... thank you, that does work better. Well mostly... there's still a
gap problem (see below).

Also, it's kind of difficult to SEE the stacking order of objects
especially when they're placed right on top of each other. Is there a way
to see if there's anything below an object? ie, object A is a 10px circle
and object B is a 20px circle right above it. How do you know object A is
even there?
Post by Maren Hachmann
In other words: The point of each object that will be attached to the
path is determined by the center of the group. If the center is outside
of the object, then the object is put at a distance from the path.
So, if I understand you correctly, the center of the objects being placed
is not based on the objects themselves, but rather the center of the group
containing the objects?

That seems kind of odd. When Scatter is used the with "Pick Group
Members" option, the GROUP is essentially just a way to hold the
objects... it's just a container, a bucket. It seems to me when placing
the actual objects on the path, the center point for each object should be
used, not the center point of the container that it came from. And
assuming that was the case, then I wouldn't think it would be necessary
for all the objects to sit on top of each other, which would make things a
little easier to deal with. The stacking order would still need to be
correct, but the objects wouldn't need to be directly over top each other.

This leads into the "well mostly" comment above. I suspect the gap
between the objects on the path is also determined by the width of the
containing group?

So I updated my previous test to better match what I actually want to do.
I added a 3rd object which is a 10px wide X 30px high oval:

- simple path (15 nodes that curves around a bit).
- small 25px diameter solid blue circle with "1" in the middle
- made that into a group of it's own.
- second 25px circle with "2" in the middle, into a group.
- 10px wide X 30px high solid green oval with #3, group.
- set the stacking order: circle #1, circle #2, oval #3
- aligned objects over each other: circle #1, circle #2, oval #3
- grouped the 3 objects together.
- opened Scatter with the 2 circle/1 oval group and the curved path.
- used 5 for the "Space between copies" and then Preview.

Now I see the gap between the 2 circles is correct, about 5px. But the
gap between the #2 circle and #3 oval is about 12px, then the gap between
#3 oval and #1 circle is also about 12px. Math wise, that suggests
Scatter uses the width of the container group (25px) regardless which
object is being placed. Wouldn't it make more sense to use the width of
the actual object being placed?
Maren Hachmann
2017-02-14 00:23:20 UTC
Permalink
Hi Hans,
Post by Hans Carlson
Also, it's kind of difficult to SEE the stacking order of objects
especially when they're placed right on top of each other. Is there a way
to see if there's anything below an object? ie, object A is a 10px circle
and object B is a 20px circle right above it. How do you know object A is
even there?
- There are a couple of ways to find that out, let's see what I can come
up with:

Main option: use Alt+Mousewheel to see what's in the stack below the
mouse cursor

Others:
- use View -> Display Mode -> Outline (only works if objects have
different outlines)
- use the Objects dialog (in 0.92)
- use Alt+Click and watch if the bounding box that you see changes (if
objects have different sizes)
Post by Hans Carlson
Post by Maren Hachmann
In other words: The point of each object that will be attached to the
path is determined by the center of the group. If the center is outside
of the object, then the object is put at a distance from the path.
So, if I understand you correctly, the center of the objects being placed
is not based on the objects themselves, but rather the center of the group
containing the objects?
- At least that's what fits my observations best. I haven't looked at
the code. It might even be useful for some cases, if you want to add
some 'random'... who knows. At least it can be influenced by what one does.
Post by Hans Carlson
That seems kind of odd. When Scatter is used the with "Pick Group
Members" option, the GROUP is essentially just a way to hold the
objects... it's just a container, a bucket. It seems to me when placing
the actual objects on the path, the center point for each object should be
used, not the center point of the container that it came from. And
assuming that was the case, then I wouldn't think it would be necessary
for all the objects to sit on top of each other, which would make things a
little easier to deal with. The stacking order would still need to be
correct, but the objects wouldn't need to be directly over top each other.
This leads into the "well mostly" comment above. I suspect the gap
between the objects on the path is also determined by the width of the
containing group?
- Yes, that seems to be right. I don't find that too useful, because
there's nothing you can do to influence it.
Post by Hans Carlson
So I updated my previous test to better match what I actually want to do.
- simple path (15 nodes that curves around a bit).
- small 25px diameter solid blue circle with "1" in the middle
- made that into a group of it's own.
- second 25px circle with "2" in the middle, into a group.
- 10px wide X 30px high solid green oval with #3, group.
- set the stacking order: circle #1, circle #2, oval #3
- aligned objects over each other: circle #1, circle #2, oval #3
- grouped the 3 objects together.
- opened Scatter with the 2 circle/1 oval group and the curved path.
- used 5 for the "Space between copies" and then Preview.
Now I see the gap between the 2 circles is correct, about 5px. But the
gap between the #2 circle and #3 oval is about 12px, then the gap between
#3 oval and #1 circle is also about 12px. Math wise, that suggests
Scatter uses the width of the container group (25px) regardless which
object is being placed. Wouldn't it make more sense to use the width of
the actual object being placed?
- Maybe having an option for that would be better - people might
actually want to have objects put at the exact same distance from object
center to object center, no matter how big the single objects are.

Seems we're collecting feature requests here - in the forum, there's a
similar thread going on:
http://www.inkscapeforum.com/viewtopic.php?f=22&t=31789

Regards,
Maren
Hans Carlson
2017-02-16 01:42:41 UTC
Permalink
Post by Maren Hachmann
Is there a way to see if there's anything below an object? ie, object
A is a 10px circle and object B is a 20px circle right above it. How
do you know object A is even there?
- There are a couple of ways to find that out, let's see what I can come
Main option: use Alt+Mousewheel to see what's in the stack below the
mouse cursor
- use View -> Display Mode -> Outline (only works if objects have different outlines)
- use the Objects dialog (in 0.92)
- use Alt+Click and watch if the bounding box that you see changes (if objects have different sizes)
The main issue with these (other than the object dialog in 0.92 which I
haven't tried) is most of the objects I'm talking about are the exact same
size. So if I have 5 - 25px circles stacked on top of each other it's
kind of tough to visually SEE that.

Sounds like the 0.92 objects dialog might be the best. Any idea when a
MacOSX DMG for 0.92 will be created? And, if there will be one that
supports Snow Leopard (10.6).
Post by Maren Hachmann
That seems kind of odd. When Scatter is used with the "Pick Group
Members" option, the GROUP is essentially just a way to hold the
objects... it's just a container, a bucket.
...
Wouldn't it make more sense to use the width of the actual object being
placed?
- Maybe having an option for that would be better - people might
actually want to have objects put at the exact same distance from object
center to object center, no matter how big the single objects are.
I had thought the same thing. Maybe IF the "Pick Group Members" option is
used, there could be another drop down for:

Use size/center of [group, members]
Post by Maren Hachmann
Seems we're collecting feature requests here - in the forum, there's a
http://www.inkscapeforum.com/viewtopic.php?f=22&t=31789
Some of that does seem to be very similar to what I'd like to see.

With regards to that forum. Is there something special someone needs to
do to get an account. I actually registered on the forum before I
subscribed to this mailing list, but never received the activation email.
I went to the login page and re-requested the activation email a couple
times (once more today), but still haven't received anything. I know the
email address is good because it's the same one I'm using here.
Maren Hachmann
2017-02-16 02:18:49 UTC
Permalink
Post by Hans Carlson
The main issue with these (other than the object dialog in 0.92 which I
haven't tried) is most of the objects I'm talking about are the exact same
size. So if I have 5 - 25px circles stacked on top of each other it's
kind of tough to visually SEE that.
- Yes, true enough.
Post by Hans Carlson
Sounds like the 0.92 objects dialog might be the best. Any idea when a
MacOSX DMG for 0.92 will be created? And, if there will be one that
supports Snow Leopard (10.6).
- It's currently in developer testing stage. I don't know about the
versions it will support - but when user testing starts, you can try it
out and give feedback to the developer.
Post by Hans Carlson
I had thought the same thing. Maybe IF the "Pick Group Members" option is
Use size/center of [group, members]
- Sounds useful, I agree (the dialog won't be able to adapt, as far as I
know, but the option can be there nonetheless).
Post by Hans Carlson
Post by Maren Hachmann
Seems we're collecting feature requests here - in the forum, there's a
http://www.inkscapeforum.com/viewtopic.php?f=22&t=31789
Some of that does seem to be very similar to what I'd like to see.
With regards to that forum. Is there something special someone needs to
do to get an account. I actually registered on the forum before I
subscribed to this mailing list, but never received the activation email.
I went to the login page and re-requested the activation email a couple
times (once more today), but still haven't received anything. I know the
email address is good because it's the same one I'm using here.
- Mmh, that's weird. Sorry about the registration problems.

@Brynn: Can moderators at inkscapeforum.com create user accounts? Or
does Hans need to send a message to microugly?

Kind Regards,
Maren
Mark Crutch
2017-02-16 12:00:59 UTC
Permalink
Post by Maren Hachmann
Post by Hans Carlson
With regards to that forum. Is there something special someone needs to
do to get an account. I actually registered on the forum before I
subscribed to this mailing list, but never received the activation email.
I went to the login page and re-requested the activation email a couple
times (once more today), but still haven't received anything. I know the
email address is good because it's the same one I'm using here.
- Mmh, that's weird. Sorry about the registration problems.
@Brynn: Can moderators at inkscapeforum.com create user accounts? Or
does Hans need to send a message to microugly?
It looks like an account was created okay, so I've reset the password and
sent it to Hans off-list.

Hans, if you don't see an email from me, please check your spam folder.


Mark
brynn
2017-02-14 00:25:32 UTC
Permalink
To select objects which are underneath other objects (in z-order), you can do
Alt + click. But the new Objects manager (in 0.92) might be superior, because
you can see something about what's under there, without actually selecting it.
Or I'm pretty sure if you select it in the manager dialog, it gets selected on
the canvas.

I don't know for a fact, but most likely the Scatter extension uses the bounding
box as a measure. So on a horizontal line, yes, the width is the main factor.

If you have a group, and all the objects in the groupe are centered to each
other, the group will be the smallest it can possibly be. If the objects in the
group are here and there, then it makes the group larger.

You're right, the group is sort of like a bucket. A group is another kind of
object, just like a rectangle or path. At the moment, I can't think of any way
that a group differs from any other object, except that it's made of individual
objects.

If the circle objects are not in a group, then Scatter is going to use each
object's bounding box for the measure. It might be that Scatter is using the
center or rotation center for the spacing. But most often when spacing is an
issue, I've noticed Inkscape uses the bounding box.

I've never used that option for individual objects in a group. But it sounds
like you have it figured out in a reasonable way. I'm not sure what to guess
about how Inkscape measures the objects in a group. Because they don't have
bounding boxes. Well, it almost has to be either bb or center....or maybe
width.

I've been thinking that you wanted all the circle objects centered to each
other. But if they are going to be kind of spread around, and disconnected it
will be harder to manage the whole thing.

Are you having the possibility of these individual circles aligned to nodes?
I've been thinking in terms of a small group of circle objects aligned to a
node.

Well, by now you might have seen my other message which I sent right be for this
message came in. Just some more thoughts and ideas.

brynn

-----Original Message-----
From: Hans Carlson
Sent: Monday, February 13, 2017 4:35 PM
To: Inkscape User Community
Subject: Re: [Inkscape-user] Movable Chain
Post by Maren Hachmann
- You need to center them all, so they are right above one another,
using the align and distribute dialog (Object -> Align and distribute).
The order is determined by the stacking order.
Ahhh... thank you, that does work better. Well mostly... there's still a
gap problem (see below).

Also, it's kind of difficult to SEE the stacking order of objects
especially when they're placed right on top of each other. Is there a way
to see if there's anything below an object? ie, object A is a 10px circle
and object B is a 20px circle right above it. How do you know object A is
even there?
Post by Maren Hachmann
In other words: The point of each object that will be attached to the
path is determined by the center of the group. If the center is outside
of the object, then the object is put at a distance from the path.
So, if I understand you correctly, the center of the objects being placed
is not based on the objects themselves, but rather the center of the group
containing the objects?

That seems kind of odd. When Scatter is used the with "Pick Group
Members" option, the GROUP is essentially just a way to hold the
objects... it's just a container, a bucket. It seems to me when placing
the actual objects on the path, the center point for each object should be
used, not the center point of the container that it came from. And
assuming that was the case, then I wouldn't think it would be necessary
for all the objects to sit on top of each other, which would make things a
little easier to deal with. The stacking order would still need to be
correct, but the objects wouldn't need to be directly over top each other.

This leads into the "well mostly" comment above. I suspect the gap
between the objects on the path is also determined by the width of the
containing group?

So I updated my previous test to better match what I actually want to do.
I added a 3rd object which is a 10px wide X 30px high oval:

- simple path (15 nodes that curves around a bit).
- small 25px diameter solid blue circle with "1" in the middle
- made that into a group of it's own.
- second 25px circle with "2" in the middle, into a group.
- 10px wide X 30px high solid green oval with #3, group.
- set the stacking order: circle #1, circle #2, oval #3
- aligned objects over each other: circle #1, circle #2, oval #3
- grouped the 3 objects together.
- opened Scatter with the 2 circle/1 oval group and the curved path.
- used 5 for the "Space between copies" and then Preview.

Now I see the gap between the 2 circles is correct, about 5px. But the
gap between the #2 circle and #3 oval is about 12px, then the gap between
#3 oval and #1 circle is also about 12px. Math wise, that suggests
Scatter uses the width of the container group (25px) regardless which
object is being placed. Wouldn't it make more sense to use the width of
the actual object being placed?

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Hans Carlson
2017-02-16 01:42:08 UTC
Permalink
I don't remember which system you're using Inkscape on, or if you have a
reason not to want to upgrade. But just fyi, in case you might want to
re-visit that option.
Inkscape 0.91 on MacOSX. Right now I'm using an old laptop with Snow
Leopard (10.6). I have a newer laptop with Sierra (10.12), but it's got
some hardware problems that may or may not get fixed, so I may be stuck
with the older system for a while.

But, it doesn't look like there's a MacOSX DMG for 0.92 yet. Hopefully,
when there is, it will support 10.6.
If the circle objects are not in a group, then Scatter is going to use
each object's bounding box for the measure.
I'm not sure what you mean by this statement. It kind of sounds like
you're saying I can give Scatter a PATH and multiple objects which are NOT
in a group. If that's true, I'm not sure how to do it. If I select a
PATH and multiple objects, then Scatter complains (a Python traceback is
displayed).
From what I've seen, Scatter requires a PATH and either ONE object or ONE
group. Then IF you supply a group, you have the OPTION of using the
objects within that group. But in this case it still seems to use the
bounding box of the group, not the bounding box for each of the objects in
the group. This means if the objects within the group are different
sizes, the spacing when placed on the path will be different.
I've been thinking that you wanted all the circle objects centered to
each other. But if they are going to be kind of spread around, and
disconnected it will be harder to manage the whole thing.
I want the spacing between the objects to be the same once they're placed
on the path, regardless of the width of the object.
brynn
2017-02-16 21:40:52 UTC
Permalink
Post by Hans Carlson
I'm not sure what you mean by this statement. It kind of sounds like
you're saying I can give Scatter a PATH and multiple objects which are NOT
in a group. If that's true, I'm not sure how to do it. If I select a
PATH and multiple objects, then Scatter complains (a Python traceback is
displayed).

You're right, my bad.

I think you had said that these circle objects are going to have text on them
(or some of them)? And I guess different text for different circles? I'm just
stretching now, but just to cover all the bases.

Say you have 2 or 3 different circle objects. I wonder if it would work to have
2 or 3 base paths, each of which scatters a different circle object. Changing
the shape of the path could get tricky, keeping 2 or 3 paths together. But it
can be done. Although you still have the problem of keeping the spacing when
you re-shape the path. This 2 or 3 scatter path routine would mean adding the
text on the circles separately.

Personally I'm still liking the Markers option. When you first tried it, you
said "The Markers approach was at first very intriguing, but without the ability
to restrict the length of the path as it's being changed, I think it's more
trouble than it's worth. "

However, it seems like that's a problem for any of the techniques we've
discussed, and along with the problem of keeping the spacing equal.

If you would be able to create a new base path for the different shape of path,
rather than edit the original, the markers could be applied equally spaced, as
for the original path. But I'm not sure if your plan allows for new path as
opposed to editing the original.

It might be possible to edit the original markers path, put it in the new shape,
and then use Align and Distribute to space out the nodes equally once again.
I'm not sure, I would need to experiment.

That's about all I can think of.

Good luck,
brynn

-----Original Message-----
From: Hans Carlson
Sent: Wednesday, February 15, 2017 6:42 PM
To: Inkscape User Community
Subject: Re: [Inkscape-user] Movable Chain
Post by Hans Carlson
I don't remember which system you're using Inkscape on, or if you have a
reason not to want to upgrade. But just fyi, in case you might want to
re-visit that option.
Inkscape 0.91 on MacOSX. Right now I'm using an old laptop with Snow
Leopard (10.6). I have a newer laptop with Sierra (10.12), but it's got
some hardware problems that may or may not get fixed, so I may be stuck
with the older system for a while.

But, it doesn't look like there's a MacOSX DMG for 0.92 yet. Hopefully,
when there is, it will support 10.6.
Post by Hans Carlson
If the circle objects are not in a group, then Scatter is going to use
each object's bounding box for the measure.
I'm not sure what you mean by this statement. It kind of sounds like
you're saying I can give Scatter a PATH and multiple objects which are NOT
in a group. If that's true, I'm not sure how to do it. If I select a
PATH and multiple objects, then Scatter complains (a Python traceback is
displayed).
Post by Hans Carlson
From what I've seen, Scatter requires a PATH and either ONE object or ONE
group. Then IF you supply a group, you have the OPTION of using the
objects within that group. But in this case it still seems to use the
bounding box of the group, not the bounding box for each of the objects in
the group. This means if the objects within the group are different
sizes, the spacing when placed on the path will be different.
Post by Hans Carlson
I've been thinking that you wanted all the circle objects centered to
each other. But if they are going to be kind of spread around, and
disconnected it will be harder to manage the whole thing.
I want the spacing between the objects to be the same once they're placed
on the path, regardless of the width of the object.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Hans Carlson
2017-02-22 22:05:32 UTC
Permalink
Post by brynn
I think you had said that these circle objects are going to have text on them
(or some of them)? And I guess different text for different circles? I'm just
stretching now, but just to cover all the bases.
That was a simplified example I gave just to make sure it was clear I
wasn't talking about a simple circle. My actual project is a little more
complex, although not much.

I have 5 "circles" (which are circles within circles with cross-hairs and
multiple colors all contained in a group), followed by an oval (again,
multiple parts combined into a group). This pattern (5 circles, 1 oval)
needs to be repeated over the length of the path such that it ends exactly
on an oval.
Post by brynn
Personally I'm still liking the Markers option.
The 3 problems I currently have with the Markers option are:

1) I would need to specify different markers for interior nodes. Given
the pattern I mentioned above, I would need 5 nodes as the circle objects,
then the 6th node as the oval object. Then repeat the pattern. I don't
*THINK* there's a way to define a Marker on a per-node basis... only 1)
beginning node, 2) interior nodes and 3) end node.

2) There's no way (I can see) to evenly redistribute the existing nodes
along the length of the path. Align and Distribute only provides a way to
distribute horizontally and/or vertically, but not along the length of the
path.

3) I'm still using 0.91 and the "Custom Markers" doesn't seem to work
very well with 0.91. I did try the test version of 0.92.1 for Mac OS X,
but it didn't work at all.. didn't even start up. I'm assuming it's
because my current platform is Snow Leopard (10.6.8) and the test build
was for Lion.

Soooo, this is the approach I've eventually come up with. It's certainly
not as efficient as I would like, but it's "workable".

To start with, I know the exact size of each of the objects in my pattern
(circles and oval) and I know how much space I want between the objects on
the path.

1) I create a path with the Pen tool and move it into the rough shape I
want. At this point I know where the path needs to start and where it
needs to end, I just don't know exactly how to "shape" the path in order
to get the exact length I need.

2) Add a Ruler LPE with custom markers. The Major marker represents the
position of the 6th object in my pattern (the oval).

3) Reposition the path until the end point matches exactly with a Major
marker of the Ruler LPE. That way I know it's the exact length with the
right number of objects in my pattern.

4) Remove the Ruler LPE. This is annoying, but apparently necessary
since the LPE and Scatter Extension don't seem to play well together.
I'm *guessing* the markers used for the Ruler LPE appear to be part of the
path from Scatter's point of view?

5) Run Extensions->Generate from Path->Scatter and check to see if the
objects which are now on the path are interfering with anything and/or
routed the way I want. If not, I go back to step 2 and repeat.

That's basically it.... well, kind of. I don't really use Scatter
because it doesn't work quite right, so I wrote my own version of Scatter.
Ok, that's a lie, I just made a copy of Scatter and tweaked it a bit:

1) Use the size of the objects within the group to determine the spacing
between objects on the path instead of the size of the group itself.
Seems like this is the way it should work to me.

2) Allow placement of the final object on the path if there's space.
The current Scatter seems to leave space at the end of the path even if
the last object would fit. I *think* this might be because it assumes a
closed path and all of my paths are open. I didn't look that closely to
be sure, just tweaked the code to make it work.

OK. THAT's basically it.... workable, just not as efficient as I'd like.

With regards to the Ruler LPE... is there any way to temporarily disable
the LPE without actually removing it? It seems like clicking the little
eyeball should do that, but it doesn't change anything.

Or maybe get it to at least remember the last settings used so I don't
have to re-enter all the settings each time I set it up?

brynn
2017-02-13 23:56:16 UTC
Permalink
For Markers, it's a bug in version 0.91, which at least for me, seems to be
fixed in 0.92. Inkscape does make the custom marker. But it doesn't show up in
the menu until you close all instances of Inkscape, and re-open the file. I
know, big pain bug! I don't remember which system you're using Inkscape on, or
if you have a reason not to want to upgrade. But just fyi, in case you might
want to re-visit that option.

There's another way to add more nodes to a path. I didn't realize that for the
number of segments option of Add Nodes extension, that it didn't add them
equally spaced. It seems like it should..... Otherwise I would have mentioned
this.

For the other way to do it, if you're lucky and the stars are aligned, it's
super easy. If not, it's going to get complicated. For a path, straight or
otherwise, with 2 nodes, if you select both nodes, and click Add a New Node
button (first on the left of Node tool control bar), it adds a new node
precisely between the 2 original. Click a 2nd time, and 2 more nodes are added,
each precisely between the others, and so on.

Hhmm, but after some trial and error, this can only end up with an odd number of
nodes. And I recally your needed number is 60.

Well, there's always making a custom grid or arrangement of intersecting guides,
together with snapping

In my previous reply, I had forgotten about the requirement where you want to be
able to keep the path the same length (or pretty close) when you move it around.

For Scatter, (yeah, I've always thought that was a weird name for it) I'm pretty
sure you should be able to group all the circle objects, and they won't come
apart.

The biggest problem left to overcome (besides keeping the path the same length
during edits) is keeping the nodes with their perfect spacing when you edit the
shape of the path. Unless you can work it out to only make vertical moves to
horizontal parts of the path, or horizontal moves to vertical parts, I don't see
any way to keep the nodes' spacing constant. I would guess that CAD software
could do that, but stressing "guess".

Oh! Just thought of something. It's certainly not an easy way. But should be
do-able. Between the new Measurement tool (well, new in 0.91) for straight
segments, and the Measure Path extension for curved segments, and using snapping
perhaps aided by guides, you can re-set the nodes' positions. But that will be
painfully tedious, not to mention slow.

Oh! Something else.....not sure if this would work. But recently someone was
asking for a way to have the number and spacing of dashes of a dashed line come
out even for a given length of path. Someone else jumped right in and....at
least they started work on it. My memory is becoming attrocious! Think was in
a forum, let me search.....

Ah yes, now I remember. Jabier signed himself up to make anothe new LPE that
will provide that functionality. As you'll see, in this case, it was about it
working on a closed path. It seems like it might not be much harder to make it
work for an open path, but I really don't know anything about programming. And
it's about dashed lines instead of nodes, but it seems like the same principle
Here's the forum message:

http://www.inkscapeforum.com/viewtopic.php?f=5&t=31669

And the feature request: https://bugs.launchpad.net/inkscape/+bug/1659571

I don't know if jabier might be reading this or not? Maren, do you think it
would be bad manners to copy him in to this thread? Or maybe I should just
comment in the feature request?

Sorry, I guess I went long again.....

All best,
brynn

-----Original Message-----
From: Hans Carlson
Sent: Sunday, February 12, 2017 6:07 PM
To: Inkscape User Community
Subject: Re: [Inkscape-user] Movable Chain

Thank you Maren and Brynn for the suggestions, I've been playing around
with a few things...

The Scatter extension seems to be the best compromise at the moment (more
on that in a bit).

The Markers approach was at first very intriguing, but without the ability
to restrict the length of the path as it's being changed, I think it's
more trouble than it's worth. Using a straight line with 2 nodes and the
Add Nodes extension, I was able to get a path containing the exact number
of nodes I wanted evenly distributed along the path, but then moving that
straight line into the curved path turned out to be too much work. It's
much easier just to draw the rough shape of the curve to begin with, then
tweak it into the correct shape.

The alternative would be to create the rough path first, then evenly
distribute the required number of nodes along that path. I sort of got
this to work using Add Nodes and adding by "Segment Length" rather than
"Number of Segments". But, it was trial and error to figure out the
correct "Maximum segment length" in order to get the correct number of
nodes. The result did evenly distribute the nodes along the path.

If I used "Number of Segments", then I could get the correct number of
nodes, but they weren't evenly distributed along the path. It seems to
add the number of nodes you specify between each of the segments. So then
I tried the Align and Distribute dialog, but it only seems to allow you to
distribute horizontally or vertically, but not along the entire length of
the path -- ie, so the distance between the nodes is the same all along
the curved path.

The other problem was, I could never get any object I created to show up
as a Marker. When I select the object, then "Object->Objects to Marker",
the object would disappear, but it wouldn't show up in the Stroke Style
Markers drop downs. I could see it was there by looking at the XML, but
never could see it in the drop downs.

At any rate (at least for the moment), I've given up on the Markers
approach.

So on to the Scatter approach. First off "Scatter???" -- seems a very odd
name for this extension. It brings to mind randomness or chaos, when in
fact "Scatter" seems much more orderly and consistent than "Pattern along
Path".

Good news is, it does work better for my purposes than Pattern along Path.
At least with respect to the distortion of the circles. ie, with Scatter
the circles are NOT distorted. I still have the same trial and error
problem in order to get the correct number of objects on the path --
adjusting the "Space between copies" and/or tweaking the curve of my path
to make it slightly longer or shorter.

The other advantage of Scatter compared to Pattern along Path is that
after the objects have been distributed, they all seem to be in one group.
So a simple ungroup means I can tweak the position of any of the objects.
With Pattern along Path on the other hand, once the objects are on the
path it seems to be a series of groups and not as easy to get back to the
copies of the original object.

The downside to Scatter is related to something I hadn't mentioned.
Originally, I said my path was just a series of circles. Well, that was
mostly correct, in truth my path is a series of 5 circles followed by an
oval, then 5 circles, an oval, etc. So when I was using PAP, I created a
group containing 5 circles each separated by a small gap, then the oval.
PAP nicely distributed this along the path, making sure to curve the
entire group so it matches the path. Of course the obvious problem with
PAP is that the circles and oval then became distorted.

If I try to use Scatter with this group (5 circles, 1 oval), then the
group isn't curved, so I end up with a straight line pattern going along
the path... not what I wanted. If I use just a single circle then Scatter
works fine and I can go in after the fact and replace every 6th circle
with the oval and that's not too bad.

It seems like the option in Scatter "If pattern is a group, pick group
members" and "Pick group members Sequentially" should do what I want, but
it doesn't work quite right, or I couldn't get it to work. It does
alternate between the group members, but it inserts a large gap between
each of the group members. The gap between the last member and going back
to the first member seems to be the "Space between copies" value, but the
gap between each of the group members is much larger and no apparent way
to change it.

To test, I created the following:

- simple path (15 nodes that curves around a bit).
- small 25px diameter solid blue circle with "1" in the middle
- made that into a group of it's own.
- second 25px circle with "2" in the middle, into a group.
- grouped the 2 numbered circles together.
- opened Scatter with the 2 circle group and the curved path.
- used 5 for the "Space between copies" and then Preview.

What I see is the #1 circle is set at the start of the path, followed by a
large gap, then the #2 circle. Then a small gap equal to the "Space
between copies value of "5" and the #1 circle, large gap #2, small gap #1,
large gap #2, small gap #1, etc.

If I add a #3 circle, it works the same:

- #1, large gap, #2, large gap, #3, small gap,
- #1, large gap, #2, large gap, #3, small gap,
- #1, large gap, #2, large gap, #3, small gap,
- etc

Maybe that's the way it's supposed to work, but it doesn't seem right to
me. Seems like the gap along the path should be the same for all the
objects in the group.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Maren Hachmann
2017-02-14 00:28:41 UTC
Permalink
Am 14.02.2017 um 00:56 schrieb brynn:

...
Post by brynn
And the feature request: https://bugs.launchpad.net/inkscape/+bug/1659571
I don't know if jabier might be reading this or not? Maren, do you think it
would be bad manners to copy him in to this thread? Or maybe I should just
comment in the feature request?
- I'm not sure this would fit into the same category. It's more of an
extension to the 'ruler' or 'PaP' LPE, for me. Commenting on a bug
report seems a good way of notifying a developer.

...
Post by brynn
All best,
brynn
brynn
2017-02-14 01:28:41 UTC
Permalink
Yeah, I'm not entirely sure either. But there are a lot of general
similarities, when you think of 'equal distance between equal size objects or
elements'. I just think of the 'dash' as the group of circle objects. Equal
length of dash relative to equal width of circles group, and equal space
between.

Maybe I'll post in the IF topic you mentioned, and maybe there can be some more
discussion to help outline what is needed.

Thanks :-)

-----Original Message-----
From: Maren Hachmann
Sent: Monday, February 13, 2017 5:28 PM
To: inkscape-***@lists.sourceforge.net
Subject: Re: [Inkscape-user] Movable Chain

Am 14.02.2017 um 00:56 schrieb brynn:

...
Post by brynn
And the feature request: https://bugs.launchpad.net/inkscape/+bug/1659571
I don't know if jabier might be reading this or not? Maren, do you think it
would be bad manners to copy him in to this thread? Or maybe I should just
comment in the feature request?
- I'm not sure this would fit into the same category. It's more of an
extension to the 'ruler' or 'PaP' LPE, for me. Commenting on a bug
report seems a good way of notifying a developer.

...
Post by brynn
All best,
brynn
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-user mailing list
Inkscape-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-user
Loading...