Need help trimming and closing this polysurface

I have been trying to cut this closed polysurface to be only 9.5" tall instead of 16". Keeping the top and cutting, trimming, splitting the bottom portion. No matter what I try, I cant seem to create a solid closed Polysurface or mesh again. This will be a 3D printed table, so it needs to be closed, and flat on the top and the bottom as well.

Any help would be greatly appreciated!! See photo showing naked edges.

The surfaces intersect eachother at the bottom of this model, but for some reason the new shorter model doesn’t want to close but the old model that intersected was closed.


Hi Erica - your main surface has some self-intersections that need to be eliminated -


Yes they do! How do you elimate them??

Hi erica - you need to split that surface up with a vertical isocurve and ShrinkTrimmedSrf the result, such that each half of each self intersection is on its own surface. Intersect the two surfaces and Trim the self intersections out with the resulting curves -


How do I split the surface up with a vertical isocurve?

Hi Erica - see Help (F1) on the Split command.


Pascal!! i got it! I did everything you told me to do! Amazing!! Only thing is my model is still open. Not sure why. I deleted all intersections. Here is my cleaned model. Not sure why it is still open. :frowning:
SWIRL OPEN.3dm (4.0 MB)

Hi Erica - I’ll have a look tomorrow but I see your file tolerance is .01 units - I would start with the file you originally sent, explode, untrim everything and then in DocumentProperties > Units page, set the tolerance to .001 and then do your splitting, shrinking, intersecting and trimming…

Hi Pascal,

I try your steps over and over again, and everytime it is an open polysurface. The more I try them, the harder the isocurve split becomes. I am doing it in shaded mode and there is always a slight variation where the wireframe and the shaded object are when you zoom in, its hard to tell where the 2 surfaces really intersect and sometimes it tells me that my split fails because they don’t intersect, or I still have naked edges. I’m not quite sure how to tell that I am splitting them at the right spot for this to work. It’s very frustrated :frowning:

Hi Erica - I had a look and did what I suggested - it is a bit finicky but in the end it worked OK- I’ll post the fixed file - it looks like what helped was to split up and shrink the full surfaces for the tall version (File tolerance at .001 - important!) intersect and trim, then cut the height to the correct one, Join and Cap. I suspect shrinking the short verrsion surfaces ended up making the top and bottom edges really really close to planar but not quite - trimming them with actual planes makes sure that they will cap.

I assume you are using ShowEdges to see where the open edges are located?


Explode this and see where the surfaces are split ‘vertically’.


Thank you again!! Printing this table now!! It makes sense that first trimming the long version would be the way to go. I changed my tolerances and do use showedges. But I read the description for shrinktrimmedsrf and it doesn’t make sense what that is or why. Why and what is that? and why is that necessary? Btw here is the long table version printed!

Hi Erica - I had you shrink the surfaces after splitting because splitting does not remove the underlying surface, it oly hides some of it - if you split a surface and then look at the control points for both pieces, you will see they are the same, and if you UntrimAll the two pieces you will have two of the same surface. Shrinking discards some or all of the ‘unused’ uunderlying surface and only keeps the rows and columns of control points that are needed to define the split or trimmed piece.

When you use the intersection curves to trim out those U shaped areas, trimming gets messy because the underlying surfaces overlap 100%; shrinking them means each part only has its own underlying surface and these are no longer the same… trimming likes that better. I am not sure if that is fixable - it seems wrong to need to do that, I will ask the developer.



Great trail with help from Pascal. Nice table too.

1 Like