Healing holes with non-planar edges


#1

I created a parabola with the “Curve Maker” extension, and then extruded around a circle to form a solid paraboloid. The paraboloid looks good, passes the “SolidInspector2” checks, and can be treated like a solid within SU.

Next I created a large cube, embedded the paraboloid within the cube (surfaces aligned), and subtracted to create a paraboloid bowl/indentation in a cube.

The problem is, the subtract tool left some complex holes (made of many non-planar edges) in the surface of the indentation. It does this with paraboloids with diameters of meters and hundreds of meters, so I don’t think it’s a scaling issue.

If the holes were simpler I would heal them by hand, as in this post: How to fill a hole left by a subtract, on a complex surface

But they are made of too many edges to manually triangulate.

I guess I’m looking for a tool to patch over holes in a surface by triangulation or some other healing technique. The only relevant extensions I can find are:

http://osbo.com/sketchup/triangulate/

(Which claims to only work on faces anyway and doesn’t seem to do anything but hang the app.)

and

-another one I can’t link because new users can only post two links-

(Which is offered via a forum post whose download link seems to be gone.)

Any suggestions are appreciated!


#2

Here is the “bowl”. The squigglies in the center are the unwanted holes created during the subtraction.

Here is the closeup, with hidden faces showing. The curved hole is made up of over 100 tiny edges, all non-planar.

In this view we are “inside” the rectangular section, looking at the holes from behind.


#3

Curviloft by Fredo can do this, but you might rethink your amount of edges and details before…


#4

If you have problems with the intersection, you don’t need it in this case…


#5

Cotty, thank you, for some reason I didn’t see a way to create it without subtraction. I will try that later.

In general, though, is there a reason why a subtraction might leave incorrect holes? It seems like, mathematically, if both shapes are valid the result should always be valid, barring software bugs, unless the features of the edges fall below the threshold of the tool, which doesn’t seem to be the issue here.


#6

Looks like a bug to me, though I can’t tell where it starts up (i.e. is follow-me or subtract the culprit?). In your second picture, the choices of when to triangulate vs when to use a quad and the angular sizes of quads show a lot of erratic and mysterious behavior! I think the complex details of your parabloid may have overwhelmed the logic of the subtract tool.


#7

The errors appear during the subtract. The original paraboloid passes all the checks and can be manipulated as a solid, and looks fine up close.

Cotty’s approach to build the shape constructively worked fine - no weird behavior.


#8

It looks like there’s definitely some bugs in there. I notice that if I do a solid transformation that uses the paraboloid/bowl but does not change it, like trimming another block against the bowl, it still messes up the bowl’s triangulation. The messed up triangulation and holes appear in both the block and the bowl, which is otherwise, and should be, untouched.

But then, clicking Undo (which you would think would undo the entire trim) corrects the triangulation/holes in the bowl! Checking the Edit menu I notice that I cannot “redo” whatever it was that I just undid. Clicking Undo again undoes the entire trim as expected.

It seems like internally SU performs some re-triangulation of both pieces, even when only one piece will be modified by the transformation. This triangulation “sticks” to the unmodified piece after the transformation is complete, but can be undone distinctly from the transformation itself.

I could put together a reproducible case if a developer was interested in pursuing it.


#9

How long are those little lines?

What settings did you choose here?

Did you try to fix problems?


#10

My settings are the same as yours. “Fix problems” reports that there are no problems with the model.

I also found out that the final step I was undoing in my previous post was a “soften edges” automatically performed as part of the trim. But in another case, where I use Union to combine the bowl with another block, undoing the soften edges does not repair the holes.

I can post a simple example if you’d like. Not sure what the preferred upload location is for stuff like this.


#11

Well, maybe it is a scale issue after all. Scaling up by another factor of 1000, so that the model is in tens-of-kilometers, seems to allow some solid operations to take place. There are still some strange lines in the center of the bowl, but they’re probably just rendering artifacts, as SolidInspector2 and the Model Info dialog do not report any problems.

It would be nice if SU reported “loss of precision” or some other warning if it runs into scale issues during computation…


#12

Always observe the shortest lines and not the total scale. Did you measure them?