Why is this happening?

This is a test piece for 3D printing. The .3dm looks fine, but when I save/export as .stl, it gets distorted on the curved part.

PS_Test.3dm (783.9 KB)

You can use the Mesh Command and select a higher resolution of detail. That mesh you can then export as STL. (You also have this option when directly exporting a Polysurface)

This is strange. Nothing has changed from how I’ve been doing this for the past few years. I’ve never had to do anything other than Save As or export as .stl.

It is possible your model is far away from the origin, the rhino file meshing parameters are not detailed enough or that the parametrization of your surface is bad. For each of these the solution is to move the model close to the origin, prepare the mesh using the mesh command and using the re-parametrize command respectively.

No the model is not far from the origin. This looks like a known Rhino meshing “bug” caused by your having a single surface with a G1 internal joints (the round part) plus using the default simple controls with the suggested 0.01 setting.

If you run DivideAlongCreases >SplitAtTangents=Yes, the problem will go away with those basic mesh settings. Otherwise various other custom mesh settings will also fix the mesh problem.

I’m a little lost here. The model is at 0,0,0. Is that not the world origin? In my work with Rhino over the years I have never used a mesh command. I just save as mesh formats from the nurbs.

I have noticed that when I import the created stl, the gumball is askew from how it is in the nurbs model.

! _ExtractRenderMesh is the easiest way.

However, I prefer exporting to STL with custom settings depending on the size and.shaoe of the model. This gives me a better flexibility over the quality and the total file size.

An STL file needs a Mesh. If you export a Polysurface then Rhino will make a Mesh for you. This has been working for you up till now but there might be something in this specific geometry that is causing issues with the default meshing parameters as suggested by Helvetosaur.

Extract render mesh is a fine option too as suggested by Bobi. It gives you exactly what you see. Something you might want a more detailed mesh however. For 3D printing I have gotten used to using the Mesh command and inspecting the mesh in rhino before exporting an STL.

I was un aware of this command

Any suggestions for custom settings? I’m never making thing bigger than 30cm x 30 cm.

I’m not understanding this, but …

these instructions worked. Might you also have any suggestions for custom settings?

Thanks everyone.

This is a Rhino conceptual problem and a meshing issue that has existed for a decade or more. Under certain circumstances Rhino allows you to create a single surface out of joined lines and arcs - rather than creating a polysurface by dividing them into separate surfaces at the G1 (tangent) joints where the lines and the arcs meet.

With certain settings, the Rhino mesher has a problem with these types internal G1 surfaces. You have stumbled onto one of those mesh settings by using the simple controls with the default 0.01 setting.

The fix is to force Rhino to split the internal G1 surfaces back into polysurface at the tangent joints. This is also advisible for other downstream applications. Otherwise one can use custom mesh settings to force Rhino to do a better job of meshing these types of surfaces.

Everyone will have their own “pet” settings for STL export. Testing on your part here, hitting the Detailed Controls button in the export mesh settings dialog, even setting “jagged and faster” makes a better mesh. Otherwise have a look at the mesh help topics/Wiki for more info.

Instead of exporting the STL directly, it is also a good practice to use the Mesh command and mesh the object in Rhino. Then inspect the resulting mesh with a shaded viewport and Flat Shade activated. That will show you the faceted mesh as it will 3D print. If it’s OK, export the mesh as an STL. If not, undo and change the mesh settings until you get something that works for you. It’s relatively WYSIWYG.

Have you tried step?

this is the way :+1:(well works good for me when taking models from Rhino to BambuSlicer)

Good read i think.

As I mentioned above, the settings depend on the size and shape of the model, so you probably need to experiment with different values and see which ones are most suitable for your specific model. It’s worth noting that the file’s unit system also affects the mesh settings. A value of 1 when you use inches is 25,4 times greater than a value of 1 when you use millimeters.

Here is an example of a 40 mm tall hook model and the settings that I used for the conversion to STL mesh for 3d printing. If you change “Density” from 1 to 0, you get a slightly less detailed model:

Note that these are the mesh settings for the NURBS model inside the viewport, so when you export the model you can either:

  1. Use the ! _ExtractRenderMesh command, select the resulting mesh copy and export it to STL;

  2. Or, select the NURBS model and use the ! _Export command (File > Export selected…), choose the STL file format and then apply the mesh settings when you are prompted to do so.


Here are some slightly different settings optimized for your model (the selected model in yellow). The mesh model on the right side was made by the ! _ExtractRenderMesh command immediately after opening your model.

Personally I prefer seeing EXACTLY what I’m going to get in Rhino including the mesh facetting and not let the slicer do my meshing for me - but I’m admittedly old-school.

I’m certainly no expert in 3d printing, and pretty much exclusively use BambuLab slicer, the .step files seem to handle pretty well in that slicer

I also use “Bambu Studio” and, honestly, most of the time it fails to deliver good quality meshes. Especially 3d models of cars and other curved product designs that are not the typical mechanical design consisting mainly flat faces and fillets. I prefer to use my custom mesh settings in Rhino and then export the mesh as an STL file.

We get great results from our printer :man_shrugging:t3: