bbinnard
Posts: 90
Joined: Tue Jul 28, 2015 3:07 pm

How to handle "overlapping surfaces"

Simplify3D will not slice this part properly:

https://pinshape.com/items/7995-3d-printed-pipevase2

What happens is it creates diamond-shaped gaps at every place where the curved ribs overlap. It does this because it thinks the overlapping surfaces are empty spaces. So I am searching for a way to eliminate or work around the problem of overlapping surfaces.

Running the STL file through Netfabb does not help, nor does Meshmixer's internal repair function. Meshlab does not seem to find a problem with the part either.

I tried checking the "Advanced/Merge all outlines into a single model" option and this helped somewhat, but there were still gaps in the sliced layers:
Capture1.JPG
and doing this forced the creation of a top surface that does not belong there:
Capture2.JPG
I'd certainly appreciate any thoughts on how to get around this.
User avatar
jimc
Posts: 1124
Joined: Wed Aug 28, 2013 11:02 pm
Location: mullica, nj
Contact: Website

Re: How to handle "overlapping surfaces"

i cant download the model since you need to join but when you say they overlap, do you mean the vase is made up of separate parts?
bbinnard
Posts: 90
Joined: Tue Jul 28, 2015 3:07 pm

Re: How to handle "overlapping surfaces"

Yes.

I start with a single 2D curve, then extrude a small rectangle along it to make one straight rib. Then I make a 360 degree array of these ribs. Then I twist that set clockwise and also counter-clockwise, and then merge the two sets of twisted ribs together. Finally I add the top ring and the bottom surface.

After all the parts are merged together I have a nice looking shaded/rendered image that looks good from any direction. The individual parts are still selectable (for instance, I could color each rib a separate color for a pretty picture), but I thought creating an STL mesh would build a mesh that describes only the outside surfaces. Apparently it does more than this, but it's not clear to me exactly what that is.

Apparently "merge" does not do what I thought it would do, at least as far as Simplify3D goes.
User avatar
jimc
Posts: 1124
Joined: Wed Aug 28, 2013 11:02 pm
Location: mullica, nj
Contact: Website

Re: How to handle "overlapping surfaces"

no your model should be joined together before you export it from your cad software. it should be one solid.
bbinnard
Posts: 90
Joined: Tue Jul 28, 2015 3:07 pm

Re: How to handle "overlapping surfaces"

Well, as I said, I did merge all the components together in my Cad software (Rhino) before I exported it as an STL file. Also, the Craftware slicer does slice the part OK (which is how I was able to print it) even though Craftware has several known bugs.

Perhaps I should transfer the final part to a different cad program and try creating the STL from there.
User avatar
jimc
Posts: 1124
Joined: Wed Aug 28, 2013 11:02 pm
Location: mullica, nj
Contact: Website

Re: How to handle "overlapping surfaces"

i use rhino myself. once you did a boolean union on all the parts and ran a "what" command did it come out as 1 closed polysurface? s3d will usually merge separate parts of an stl but you need to goto the mesh dropdown and run the separate connected surfaces. try it and see if that helps.
bbinnard
Posts: 90
Joined: Tue Jul 28, 2015 3:07 pm

Re: How to handle "overlapping surfaces"

jmc:

thanks for your help.

No, the Rhino What command (firsts time I've used it actually) listed a large number of polysurfaces. Most of these were shown as " Closed solid polysurface with 6 surfaces" which must be the curved ribs.

Note that I use Grasshopper to generate the complete model. My last step in Grasshopper is a Join function that I thought would combine/merge (or whatever term you want to use) all the individual components into one. But it clearly does not do this.

As an experiment I added a Mesh function as the last step in Grasshopper and then ran MeshRepair on the resulting mesh in Rhino. This came back with "This is a good mesh", but the results were the same in Simplify3D, even though when I click on any part of the part in Rhino the entire part is selected. This suggests to me that it really is a single piece that I am exporting as an STL file.

This makes me think that there is something peculiar about SImplify3D's slicing algorithm, especially since Craftware does slice the part successfully. (I am aware of most of the bugs in Craftware and I was quite surprised when it did slice this part OK.)

My Rhino is Ver. 5.0.something and I don't have a "separate connected surfaces" option in the Mesh drop-down menu.
User avatar
jimc
Posts: 1124
Joined: Wed Aug 28, 2013 11:02 pm
Location: mullica, nj
Contact: Website

Re: How to handle "overlapping surfaces"

The seperate connected surfaces tool is in s3d not rhino. Rhino is exporting a good mesh but your exporting a bunch of them and they are overlapping. A good clean model gor 3d printing wont be set up like that. If your joining all these seperate pieces in rhino and some are joining and some arent then the midel isnt right in rhino and it cant perform the operation on all the parts. If its right, when your run what on the whole model it should say one closed polysurface
bbinnard
Posts: 90
Joined: Tue Jul 28, 2015 3:07 pm

Re: How to handle "overlapping surfaces"

jmc:

WOWIE! Thanks to your suggestions I got it to work! What I did was 2 things:

(1) Repair/Remove duplicate triangles
(2) Mesh/Separate connected surfaces

After that, slicing produced this, which looks 100% correct:
Capture.JPG
Many thanks for getting me on the right track. I've been going round & round with this for a while now. And in fact the situation is even more complex than this because I want to include the underlying surface on which the ribs are built. And, there are 2 of these surfaces - an inside and an outside. So that will be my next step - adding the underlying surfaces.

FYI the first thing I tried was just step (2) above. That produced a list of 32 items in the Models window. I wasn't sure what I was supposed to do with these, so I just sliced the whole thing. It was noticeably better - the missing diamond shapes where the ribs overlap were not missing - but there were still missing pieces and parts of layers at the bottom, where the ribs join the bottom piece.

So on a whim I added step (1) above and that did the trick. Apparently the combination of both is what has to happen to do a complete cleanup of duplicate triangles.

I also tried Mesh/Mesh Reduction with a couple of different values, but this did not work well. One time the part came back looking like little bites had been taken out of the ribs, and another time S3d simply crashed and disappeared. I have used Meshlab to do "quadric decimation" before with pretty good success, so I know the overall concept is good. I reckon the key is properly specifying S3d's Mesh Reduction/Length Scale parameter . I'll try fussing with that.

Thanks again for all your help with this. I've got several different versions of this part I want to print, so I'll be busy for a while now.
User avatar
jimc
Posts: 1124
Joined: Wed Aug 28, 2013 11:02 pm
Location: mullica, nj
Contact: Website

Re: How to handle "overlapping surfaces"

glad you got it working. what is really going on here is a bandaid for a poor 3d model. no offense. looks like a nice design but could use some refinement in how it was made. with cad modeling in rhino anyway its not about getting from a to z, its all about how you get from a to z. models should be one complete solid. it sounds like your rhino workflow could use some tweaking. if your new to it then that will happen over time as you use it more and more. just remember that before you export anything as an stl you need to boolean union everything together, run the what command to see if it says you have 1 closed polysurface. if not you need to figure out why things arent joining. you should also run the edge analysis tool. type the command "show edges". this will show you any non-manifold or naked edges. they highlight in pink. not sure how long you have been using it but if your new to rhino and are interested in learning more then send me a pm. i might be able to help.

Return to “Troubleshooting and Bug Reports”