Jump to content
You must now use your email address to sign in [click for more info] ×

[AD 1.8.3] Joining curves works counter intuitive and close path doesn't remove redundant node


Recommended Posts

[Edited this post after more knowledge by doing tests]

This 'feature request' contains two parts:
1) The way join curves is build in Designer now is IMHO way too complicated and counter intuitive to wrap peoples head around while designing. I see others here, like me, struggle with this simple action. Tests show me why.
2) When closing a curve after joining two paths where the end nodes are exactly on the same spot (overlap), the redundant end node doesn't get removed (while that IS the case when joining paths).

About part 1:

This whole join curves thing seems to be implemented waaaaay too complicated and confusing in Designer and it's very difficult to wrap your head around it while designing. I'm starting to see why by the following tests (and this is a very simple example even)...

Demo 1A) It doesn't matter at all which nodes are selected and there don't even need to be any node selected to join. So we can't tell designer where to join curves by selecting nodes.
Demo 1B) The join always start from the end-node (the red node) of the selected curve which is the lowest in the layers panel!! So the layer order sets the master curve!!!
Demo 1C) It doesn't matter in which order we select layers (add layers to the selection). It really is about the order of the layers in the layers panel.


Demo 2) The join always starts from the end-node (the red node) of this lowest selected layer in the layers panel and connects to the start- or ending-node of the other selected curve which is the closest to that node in the viewport!! So picking the right node to connect to isn't dependent on start- nor end-point of the slave curve, but the closest node of those instead!!


Demo 3A) It looks like close node always joins the nodes on the reverse side of the nodes being joined with join nodes (even if we didn't use join nodes)
Demo 3B) When using close curve Designer keeps the redundant node instead of removing it (like join curves does)

 

My suggestion:

A lot of people here, including me, expect 'join curve' to be done on the selected end-nodes of both curves and close node to remove the redundant overlapping node. So no messing around with layer orders or whatever, or needing to remove nodes by hand, making things overly complicated. So my suggestions are:

1) Make join curves use the selected nodes to join.
That way we can decide ourselves in a logical and easy way which nodes will connect when joining curves. Of coarse we need to select outer nodes to join or otherwise it just doesn't do anything. So no messing around with layer order anymore and no need to think which node happens to be the closet (which limits us too); we want to decide ourselves which nodes to join!

2) Make join curves usable to close the curve too.
When joining two open curves on both sides, so it will be one closed curve, it would be nice if we could, instead of using 'close curve', use 'join curve' instead on the other ends, by selecting those two end-nodes. So join curves functions as close curve in that case, but with our control to decide which nodes we use for this and to keep things simple: than we only need 'join curve' to join curves. So we can 'join curves' on the start nodes and 'join curves' on the end nodes when joining two curves.

3) Make close curve remove the redundant node. 
When joining curves the overlapping nodes are truncated into one, so the redundant node will be removed automatically. Designer knows it's a redundant node because the coordinates are the same. The same should IMHO happen with close curve too, but isn't the case now; if we close a path and both end-nodes are on the same spot, than one of them needs to be automatically removed.

Hope you guys at Serif could find some time to re-think this join curves thing to make it easier, less error prone and more intuitive for us to use!

Thanks in advance!

 

Link to comment
Share on other sites

16 minutes ago, haakoo said:

Just another approach;
If you want to lose all joining nodes,choose "add" instead of join>close
You can add nodes back yourself wherever you want.😃

@haakoo and @G13RL Looks like you accidentally posted this in the wrong forum/thread. This is a feature request.

If you like to add workarounds to the original question and specific situation could you please move it there to keep this one focussed on the feature request? Thanks!

BTW using boolean Add is not the solution to this problem. We already been there in the other thread. 

https://forum.affinity.serif.com/index.php?/topic/112853-joining-two-lineshow

Link to comment
Share on other sites

3 hours ago, wigglepixel said:

When using 'close path' on two overlapping nodes (nodes exactly on the same place), Designer is clever enough to remove the redundant node. But when using join-path Designer doesn't do that and keeps the overlapping node (starting node exactly on the same place as the endnode of another path). This is confusing when trying to join and close two paths and took me hours to figure out what's going on and why the nodes weren't connected or have a node too many.

The Join Curves operation in your example did eliminate a redundant node. It's actually the Close Curve operation which fails to remove a redundant node because it inserts a new segment to connect the two ends, even when the ends are coincident. Your selecting a pair of nodes for the Join Curves did not influence which nodes the app chose to use for the join, which happened to be the opposite pair of unselected coincident nodes. The red-outlined node of the Join Curves result was where the result remained open and where the subsequent closure occurred.

 

Link to comment
Share on other sites

@anon2
Damn... looks like you're right.

This whole join curves thing seems to be implemented waaaaay too complicated and confusing in Designer and it's very difficult to wrap your head around it while designing. I'm starting to see why by these tests (and this is a very simple test even)...

I did some more testing and found the following, for me, totally unexpected and inconsistent IMHO (and very confusing while designing) results
(I will adjust the initial post later):

Demo 1A) It doesn't matter at all which nodes are selected and there don't even need to be any node selected to join. So we can't tell designer where to join curves by selecting nodes.
Demo 1B) The join always start from the end-node (the red node) of the selected curve which is the lowest in the layers panel!! So the layer order sets the master curve!!!
Demo 1C) It doesn't matter in which order we select layers (add layers to the selection). It really is about the order of the layers in the layers panel.

 

Demo 2) The join always starts from the end-node (the red node) of this lowest selected layer in the layers panel and connects to the start- or ending-node of the other selected curve which is the closest to that node in the viewport!! So picking the right node to connect to isn't dependent on start- nor end-point of the slave curve, but the closest node of those instead!!

Demo 3A) It looks like close node always joins the nodes on the reverse side of the nodes being joined with join nodes (even if we didn't use join nodes)
Demo 3B) When using close curve Designer keeps the redundant node instead of removing it (like join curves does)

Link to comment
Share on other sites

2 minutes ago, wigglepixel said:

It doesn't matter at all which nodes are selected and there don't even need to be any node selected to join. So we can't tell designer where to join curves by selecting nodes.

Yes, but I don't blame you for expecting that you could specify the nodes, since it is actually absurd that we can't.

4 minutes ago, wigglepixel said:

So picking the right node to connect to isn't dependent on start- nor end-point of the slave curve, but the closest node of those instead!!

I haven't bothered to see if there is a pattern to, or a way to control, which pair will be used when more than one pair share the shortest distance.

Link to comment
Share on other sites

If I correctly understand what you are trying to do:

  1. Select the two objects and choose Layer -> Geometry -> Merge curves to combine them into a single curve object
  2. Switch to the pen tool
  3. Hold down the command key (Mac - whatever the key is to temporarily use the node tool) and click on one of the nodes you want to connect
  4. Release command, click on the same node, then click on the other node you want to connect, to connect them
  5. Switch to the node tool
  6. Select the nodes that are no longer needed and use the delete key to delete them
Link to comment
Share on other sites

1 hour ago, wigglepixel said:

No, that's not what I'm trying to do. I refer back to my initial post.

I got that interpretation from your initial post, so then I'm completely lost on what you are asking for other than to automate that process to make things a bit more efficient.

Link to comment
Share on other sites

1 hour ago, fde101 said:

I got that interpretation from your initial post, so then I'm completely lost on what you are asking for other than to automate that process to make things a bit more efficient.

Two things:

1. Allowing the user to specify which start/end node of each curve is to be used when joining a pair of curves.

2. The Close Curve command should automatically remove the redundant node that is currently being allowed to remain when the open curve's start and end nodes are coincident.

 

Link to comment
Share on other sites

1 hour ago, anon2 said:

Two things:

1. Allowing the user to specify which start/end node of each curve is to be used when joining a pair of curves.

2. The Close Curve command should automatically remove the redundant node that is currently being allowed to remain when the open curve's start and end nodes are coincident

Yes, these are the most important ones as these would solve a lot of confusion, complexity and errors. 

Next to this my suggestion nr 2 in the initial post is: make 'join curve' usable for both connecting at front as well as connecting the nodes on the other side, so both joining AND closing. So we don't need to think about when to use 'join curve' and when to use 'close curve' anymore either when connecting two curves head AND bottom all the way around. A lot more user friendly if we could just select two lose ends and press 'join curve'. And do the exact same action with the other open end-nodes.

'Close curve' would still be needed, but mainly to use when trying to close open single curves that were single in the first place.

Link to comment
Share on other sites

On 4/15/2020 at 2:59 PM, anon2 said:

Your convoluted 6 step procedure does not join curves.

Evidently not.  I tried it before posting that and it seemed to be doing so, but now that I try it again it clearly is not working.  It is extending the first curve, but not joining it to the second one.

Based on that I would need to agree with this request.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.