Difficulties in joining/closing geometry

as requested on support…

Given a file which will not close:

we find that part of the geometry is self-closed because it was duplicated in place and then the two copies joined together (the black portion).

The solution is to select it:

Go into Node Edit mode:

go to each end and right-click and cut the vector:

Done

Drag-selecting verifies two geometries:

and click-selecting gets one:

which one deletes:

It is now possible to select both

and try joining vectors:

after which this may be repeated:

to arrive at:

Will, can you illustrate what this is for, and what it does?
I just habitually select “No” from previous experience, but can’t remember why.
Trying to replicate it, the Join function just seems to join the 2 curves, and if used 2nd time closes the gaps.

[edit] OK, I see the window pops up only if you are zoomed out where you can’t see the gaps.
However, the Yes/No choice seems to make no difference??? I still need to select Join a 2nd time to close the gaps, and selecting Yes or No on the 2nd Join makes no difference, they both close the gap.

I actually have a query in to @robgrz on that in our team chat — hopefully he can respond here — I’ve always chosen “Yes” and gotten the results I expected, but the dimensions often do not match up with what I am expecting.

The “gap” size is scaled to the size of a pixel in the view window. This is for people who don’t know to zoom in to check for gaps, and want to join everything that appears to touch (if “appears” is defined as “1 pixel” away)

We tested this heavily with the most pathological customer files (Clayton Boyer wooden clocks) and it worked well. Anything unaffected by your yes/no click is either not joined because it’s more than a pixel apart (so it won’t join if you click “Yes”) or so close that it would be joined even if you click “no”.

2 Likes

If the dialog choice is going to have no effect, then why present the dialog?
It should only be presented if Yes/No will change the outcome.

What is the gap tolerance on the first attempt at Join? It looks like the 2nd attempt will try to connect any gap, no matter how large.

The current algorithm does a number of iterations to figure out what can be joined, and in what order. Modifying it to figure out what might happen, without executing the changes would be a big change to the code. We started down that path, and then found that we could make the existing code work much better for almost every customer file we had to test, with very few changes (and therefore, almost no chance of introducing new bugs).

Maybe we’ll go back for the rewrite in the future, but this version of the code has removed almost all of the support tickets related to joins, so it’s a win.

6 Likes

I’m still trying to wrap my head around what this message means, and what would be different if I picked Yes or No.
I created a closed polyline, and then Cut the vector at several nodes. I’m assuming mathematically there are no gaps or overlaps, and that the endpoints are coincident. If I zoom out & select join, I still get the message. So it appears that the message does not mean that I have gaps or overlaps, only that I am zoomed out far enough that I wouldn’t see them if there were.

The problem with the logic is, if I am zoomed way in on a particular joint, I can only see that joint & no others.

I’m unable to create a situation where I can see what the difference is. So for the time being, this message is just an annoyance, an extra button click that doesn’t do anything.

I’m guessing it’s meant to deal with imported data that is slightly less than perfect, but would like to know what it means when I see it. It would make a lot more sense if it meant “You have gaps or overlaps”, rather than “You might have gaps or overlaps”

1 Like

When you distill it down, it’s just offering to use a larger join tolerance based on the zoom level of your view.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.