Jump to content
Sign in to follow this  
Gear maker

Odd functioning of the Join Curves operation

Recommended Posts

I don't know if this should be a question or a bug.

 

This is a small portion of a large drawing.  I have 4 shapes, all arcs created by breaking apart circles.  The goal is to combine these into a hotdog shape with a closed path.

 

post-2932-0-73417800-1443306853_thumb.jpg

 

I had the "Snap to selected curves" on.  In the attached Test 31 file I selected all 4 shape layers using the layers panel, then grabbed the upper left node that is repeated on two of the shapes wiggled it to make sure it snapped to the node underneath it.  Drew a marque around these two nodes to select them.  Then clicked on the Join Curves operation.

 

post-2932-0-49216600-1443306781_thumb.jpg

 

The 4 shape layers were combined to one.

 

Question 1  How do I know if all 4 sets of connecting nodes have been joined?  So that this is a closed path.  There's only one red node showing and only one shape remaining.

 

To verify it is a closed path, using the Node tool I selected the 10 visible nodes of the shape using a shift click selection on each.  Don't use a ctrl A or a marquee for this test.  Then I grabbed one node and drug it.  As you can see two nodes didn't join.  And one is the upper left node that I had made sure was snapped to the node below it.  It is connected but had left a duplicate node, looks like a Close Curve command was used.

 

post-2932-0-29433100-1443306901_thumb.jpg

 

So out of 8 nodes in 4 sets it looks like:

2 sets were joined, the 2 nodes in each set becoming 1

1 set was combined using a Close Curve that I didn't click, the 2 nodes in the set were joined by a path.

1 set was not joined

 

I really figured only the 1 set selected would be operated upon by the Join command.  That's all I wanted at this point.

 

Question 2 thru 4  Why did it even attempt to join nodes that were not selected?  Is this a bug or is it supposed to operate on unselected nodes?  If this is by design how do we tell AD not to join nodes that we don't want joined?

 

Question 5  Why the inconsistency?  I assume the node set that was not joined probably the nodes were not snapped to each other.  But the set that I am sure were snapped had a Close done on them not the Join operation I selected.

 

When I have repeated this test using the same file sometimes the two sets that didn't Join swap but I always get the same, 2 joined, 1 closed, and 1 open.

 

post-2932-0-30690600-1443306938_thumb.jpg

 

Done in AD Beta 1.3.5.3

Test 31.afdesign


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

Chapter 2 on this.

 

I have almost the identical shape in file Test 32.  Following the join operation the red node was not joined and is open.

 

post-2932-0-98716500-1443308412_thumb.jpg

 

When I grab the red node, using the node tool, and give it the slightest wiggle the control handle shoots out resulting in an odd bump.

 

post-2932-0-42397700-1443308460_thumb.jpg

post-2932-0-16537900-1443308470_thumb.jpg

 

What's causing the control handle to spring out with the slightest wiggle of the node, and it doesn't go back with any movement of the node.

Test 32.afdesign


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

Hi Mike,

 

if you asked me, I would say, there are two different things to consider. 

  • First off, I am not sure if you can join all of your segments in one single step. I tried my luck with your Test 31 document, and when I join one curve segment to the next, one after another, using the Node Tool, I get a perfectly closed path.
  • But, and this is the second thing, the Join Nodes command seems to be still buggy. You will sometimes get duplicate nodes, although you snapped the respective nodes right onto each other. In fact, Join Nodes behaves like Close Curve here.

I made a short video for you, showing these two aspects of the issue. The first two segments are joined as expected, while joining the second ones obviously fails (duplicte nodes). Please see below. There has been a long discussion about these issues (if you don’t know this thread already ;)), and I believe Aitte has added some valuable observations:

 

https://forum.affinity.serif.com/index.php?/topic/4274-join-nodes/

 

I also believe that joining of curves should be smarter than it is at the moment. Hopefully my comments wil make sense to you …  :)

 

Cheers, Alex

Join_Nodes.mov

Share this post


Link to post
Share on other sites

Alex, glad to know it's not just me.  It does seem a bit buggy or at least inconsistent.  The Break Curve will only operate on one node even if multiple are selected (when you need to do several it would sure be nice to have a hotkey  <_< ).  I was surprised that the Join did work on multiple node sets.  It would be nice if it had only worked well.   :huh:

 

That second one, the bump, really threw me because other than an undo it was hard to correct.

 

Thanks for verifying the issues.  I hadn't seen reports on exactly these so I figured...

 

By the way can you (or anyone else) come up with an idea of an easy way to create the sausage shapes for drawings like this?  I frequently need to make 3 or 4 per gear, or variations on these.

 

post-2932-0-56670500-1443368771_thumb.jpg

 

The method I use is very involved.  I create two circles at the size of the OD and ID of the sausage.  Then two smaller circles at the beginning and end of each sausage with a diameter equal to the difference between the ID and OD of the sausage.  Then break each of these circles into the arcs needed to create the shape shown in the original question and finally join them back together.  I keep thinking there has to be a simpler way but haven't found it yet.

 

I appreciate it.

 

Mike


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

Hi Gear maker,

Why not using a circle with a large stroke and round caps and break it where you need?

Unless you need a clean shape (you will need to expand it to intersect with the cog which will add superfluous nodes) you should get the same result visually with less work.

Check the afdesign file for reference. The green shape was part of the red circle. 

sausage_shape.afdesign

Share this post


Link to post
Share on other sites

Howdy MEB,

 

I need to subtract the sausage shape from the gear so they are openings.  I would have to expand the stroke, but then I'd have way to many nodes (I'm annal about minimizing my drawings as much as possible).   I'd have to subtract it to use it as a mask.  Am I right that I can't subtract an open path stroke?  I guess I could use an Erase blending mode.

 

Thanks.

 

Mike


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

Yes, currently you can't subtract open paths, so you will have to either convert the stroke to curves or apply an Erase blend mode. This last approach will work inside Designer but not if you need to export the file as vectors. To export as raster you will need to group the objects first - the sausage shape and the "cog"- rasterize them, then export the file in a raster format.

Share this post


Link to post
Share on other sites

Alex, very good solution.  Just tried it out and it worked quite easily.  And I don't have to play with figuring out the geometry.  Easy and fairly automatic, what more could I ask for.  You are good!  I already knew that.

 

Thanks.

 

Mike


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

Thank you, Mike. I’m so glad this was useful for you. :)

 

I must confess, I like MEB’s solution as well … if only the expand stroke command would give us better results … but I am sure, Matt and his team will sort this out sooner or later … :)

Share this post


Link to post
Share on other sites

I agree, it's the expand stroke that was the issue with MEB's suggestion.  Sometime in the future it will work, just not yet.

 

Thanks again.


iMac (27-inch, Late 2009) with macOS Sierra

Share this post


Link to post
Share on other sites

I'm sure Matt will take care of this (Expand stroke) when possible. It's really useful in a lot of situations but he's very busy already. The basic boolean operations (add, subtract, intersect) are incredible precise now, which were another big issue, so we are getting closer...

Share this post


Link to post
Share on other sites

Yes, Miguel, my comment wasn’t meant critical at all. I am well aware that Matt is terribly busy, and I really wonder how he manages to create all those fine things …  :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×