Hi George, thanks for reporting this and posting an example file! Having the file really helps.
Unfortunately this is not an easy problem for me to fix, the bug is in the geometry library that I'm using. I will probably have to send this example over to them and wait for them to fix it up, I'm not sure how long it will take.
This is a good example of one of the difficulties with thickening.
The problem happens where the cut out piece crosses a corner. If you use Edit / Separate on those 2 planes there and then use Offset, you will see the "natural" individual offsets of those things look like this:
Shelling the full joined object then needs to extend these offset surfaces so that they touch. Extending the planes is pretty easy but the rather tricky part is doing a proper extension of the trim curves.
Right now the extension happens like this:
The problem is the circle cut extends in what seems like should be a pretty reasonable way, except it isn't because it does not end up touching the other neighboring edge. So there is a big gap in the trimming boundary in that circled red area. That's pretty messed up geometry - every edge of a trimming boundary should touch the next edge end to end, or else you can get some pretty messed up results (like you saw).
I was thinking of what the proper result would be here...
I guess the ideal thing would be to create a new straight line from the end of the circle edge which could meet up with the neighboring one, like this:
But the tricky thing there is that introduces a brand new edge into the mix - now the side walls can't be created just by a direct one-to-one loft between them, there is now a kind of special "corner" area that has to be filled. I don't think that the shelling mechanism of the geometry library that I am using has this piece of logic currently implemented, that's the kind of the root of the problem.
- Michael
|