Two surfaces after join and Mergeface see break up

Hi,
V5
I keep getting surfaces with pixelated broken up areas after cutting out an area or as in this case, joining surfaces.

I can close the file and reopen and the mess is still there.

I copy paste out to the attached file the latest offender, and also the surfaces before joining them.

What is going on ?

surface broken up after join and mergeface.3dm (182.9 KB)

( I cant upload the entire sub project )

It is a copy out of a key component from the huge main project, so as to enable me to work on it easier.

Cheers

Steve

The one on the left merges fine. The one on the right is a real mess and a bad object (SelBadObjects).

Run SelBadObjects.
Then if you run Check command you will see that the surface is a Bad Object because one of the edge loops is not closed.

If you run DupBorder, all the borders become closed curves which you can then use to make a planar surface that is not bad.

However that probably won’t be a permanent fix. If you select the curves you got from DupBorder and run the command converttobeziers and then selshortcrv looking for curves that are less than tolerance long, you will find 2 microscopic segments that have close to zero length. Those are probably going to cause the bad edge definitions again when those edges get joined again.

The creation of these microscopic edge fragments is one of Rhino’s biggest weak points. This is not an easy thing for a user to fix. The best way is to untrim the faulty edges on this surface and on the surface that joins to this and hope for a clean result after trimming and joining again.

Hi,
If I run SelbadObjects on the scene with the bad one deleted out, it finds nothing,
It tells me all is go do go and to join.

then if I join and run selbadobjects again none are found,
if I then mergeFace the surface becomes a mess, and selBadObject then finds the entire thing as bad.

Check command is just a box of text, no visual to where the problem lies.

DupBorder ok
ConvertToBeziers I get black lines all round it (as default is ticked)
selshortcrv doesnt take me to where two v small curves are, I have all these black lines and blue ones (blue being the surface edges)

Not sure how I get to see the two micro problems.

What command would identify the bad parts before any join is made ?

I have been as careful as I ever could be in making the item, so such things are going to happen to many folk I fear.

It had no naked edges as an object.

I try this, join the two surfaces, then dupborder and it gives me the borders of the three holes and the outside edge, not the join line, then use tool surfaceFromPlanarCurves ( I luv this tool) _PlanarSrf and get a new surface, then run selBadObjects and nothing found.

is this solved or are these two minute microloops still there, as how can _PlanarSrf be happy with them ?

My Fix is the grey surface.
surface broken up after join and mergeface myFix.3dm (196.0 KB)

Steve

What happens if you try merge the surfaces before joining? The most reliable way to do that is DupBorder then Planarsrf.

After you selshortcrv turn on control points or run ExtractPt to see the microscopic curves.
You can then select and run zoom selected.

Well that is the million dollar question. Rhino should tell you it created bad edges when Rhino creates them. The reason this never gets fixed is because the bad object warning does not come till later in the modeling process (sometimes very much later) after the bad edges are joined.

One of them is gone the other is here: badspot.3dm (120.5 KB)

hI,

and before reading this reply, as one cannot mergeFaces on unjoined surfaces, so I ran DupBorder then ran _PlanarSrf and got the grey one.
so I did that as such.

so is that one ok ?

Steve

I believe that is the one I just sent back with the bad spot marked.

You won’t know if that is what causes the problem until you start joining.

OH, and I should have said this earlier:
If you join surfaces and the badobjects warning pops up undo the join. The process of joining will also corrupt the edges that edge gets joined to. Undo will prevent the errors from propagating to other surfaces. If you extract the bad surface adter joining you will still have the bad edge that was created on the other surface by joining.