STL Export turns Curves to striaght lines (resolved-ish)

I have been doing a lot of design work for 3D Printing over the last year or so and this is the first time I’ve run into this issue. I have created a NURBS model, not even a very complex model, and exported it to STL to get the G-Code ready. When I opened it in NetFabb to check the model, make sure it’s water tight, I instead see this mess. There are two pictures, one of the nurbs model, one of the stl in NetFabb. You can see where the curves go straightened off. This time it wasn’t so bad, far less than normal, which is part of the problem, every time I export, it’s a little different. I even opened a new document and rebuilt one of the parts, same problem. I make a different test object using similar curves, no problem.

I finally thought, why not convert it to a mesh first then export it. That resolved, here is the results, the mesh model in Rhino v5 and the STL in NetFabb. I would still like to know what caused this and if i can avoid it in the future, Also, what’s so special about that shape?

Before the Mesh solution I had tried manually creating all of the surfaces, which allowed me to export part of it, but I could join the segments together because my surfaces where so non-uniform. it’s this that leads me to think it’s something with how the surfaces were generated when I extruded them or possible when I crated the initial flat surface of the base. Any ideas?

Hi Hillary - Meshes are a ‘subset’ of the surface information - the surface info is continuous, there is no location that is not accounted for, so to speak but a mesh is a collection of points, more or less dense, connected by straight lines - so some degree of degradation is inevitable when converting to stl, which is a mesh format.



I do understand that, but in this case, if you look at the images at the top, when exporting from NURBS to STL there is a lot of degradation. And inconsistent at that. Plus when I create a different object for testing that uses the same kind of curves it exports just fine. Here is an example. NURBS on the left, STL on the Right, you see the difference compared to the one above? Same settings, nothings changed.

It would be easier to say something about this of you provided the 3dm file. Perhaps the kink splitter got turned off?

Hi Hillary - the notes on that mesh faq page should help decipher the detailed controls in the meshing process to make clean meshes. It may pay to run the Mesh command, noodle the detailed controls to taste , inspect the mesh, then export that as STL if you like it.


I can upload 3dm, although I warn you my projects tend to get a bit messy, I’m bad at organizing my resources and guide lines. Especially this one since I rebuilt it a few times to try to see what was going…

Anyway, I just imported the relevant parts to a new document and exported it to make sure it had the same results, it did. Here is the .3dm and the STL if you want compare, in case you get different results with default settings.

Also, since I found a work around by adding just one extra step that I should probably be doing anyway, do not waste a lot of time digging in and analyzing this to much, unless you want to. I’m mostly just curious why this is happening with this modal. I have a vastly more complex octopus wall lamp that I just finished that exported just fine. So… yeah.

2A_Test.stl (430.9 KB)
NSBVR_ExpTest.3dm (458.7 KB)

@pascal I did go through that article but what it looks like is that around some of curves the Maximum distance edge to surface is failing to keep that distance of .01. I also noted the, “Joined tangent lines and arcs that have been extruded” issue actually fits the bill pretty well, as in this instance I created the shape I needed, made a surface from the lines and then extruded that. But even if I follow the solution to split on the tangents or split all the segments first, it does not help.

Try running _DivideAlongCreases SplitAtTangents=Yes on your model and then re-do the STL with the same settings… Does that help any?

Here in any case even without doing that, my own .stl export settings seem to work OK for this model. --Mitch

@Helvetosaur I am sorry to say that that does not make any difference. I should send a copy to my home desktop (I mostly work from my laptop which has a literal 1/4 the power of my desktop at home) and see if i has the same problem. Maybe it’s just my laptop, memory or CPU starting to fail…

So, I just RDP’d into my home PC and sent the test file over, exported it with basically the same results. As I said, the degradation changes every time I export it but it’s still warped. It’s always visible on the top right inner curve of the lip though, so if you want to play around with it, that’s where to look. This also means it’s not my laptop but something in that model…

Hi Hillary - there are two things to make sure about:

  1. DivideAlongCreases > SplitAtTangents=Yes on your parts
  2. Set the appropriate Max distance edge to surface in the mesh controls.
    NSBVR_ExpTest_PG.stl (1.1 MB)


Sorry I didn’t get a chance to reply over the weekend, weekends gate crazy busy. Anyway, @pascal, the STL you uploaded has the same problems although a bit less pronounced. I think I have found my problem though, I just haven’t had a chance to test it yet. I think it’s the extruded tangent lines issue where it does not create the proper number of points for the mesh, when I tried the work around for that known issue I think I may have done it a bit backwards so I need to try it again correctly. I’ll try it out when I get a chance, unfortunately I have a few major projects coming up due in the next few days so I may be a bit busy.

Regardless, thank you to everyone who pitched in to help me find a solution to this. :smile: