STL Info
Last changed: Evert-196.2.124.252

.
SummaryInformation about creating and using STL files for Rapid Prototyping applications

What is an STL?

An STL is a type of standardized computer exchange file which contains a 3D model. The representation of the surface(s) of the object(s) in the file is in the form of one or more polygon meshes. The meshes in an STL file are entirely composed of triangular facets.

The name “STL” is taken from its extension, .stl, originally because the files were intended for a rapid prototyping process called Stereolithography. The file format has become a world standard for exchanging 3D mesh type objects between programs, and .stl’s are now used as input for virtually all rapid prototyping processes, as well as some 3D machining. Nearly all 3D programs can export an STL and most can import them.

Mesh models and precision

Mesh representations of objects are “facetted”, that is to say, they are not smooth, but composed of an array of small faces which, if fine enough, can represent (read: approximate) smooth surfaces with a given degree of accuracy. This is much the same as how what appears to be a smooth 2D image is actually composed of many tiny discreet dots (pixels).

If the individual facets in a mesh model are too coarse or there is too much of an angle between them, the appearance of the model will be rough, and it will lack precision. The parallel to this in the 2D world is an image whose resolution is not fine enough, resulting in a “grainy” look (you can actually distinguish the individual dots).

If the individual facets in a mesh model are extremely fine, the surface representation will generally be good, but - the model will be very data heavy and the file very large, which may cause problems with the generating or receiving software, as well as the visual display on the screen. The goal is to create an STL model which has enough accuracy and resolution for the final purpose/process, without going too far and making the model too fine. The optimum resolution will depend on what that process is to be.

Mesh precision may be thought of in one way as the maximum difference allowed between the facetted mesh representation of the surfaces and the smooth surfaces themselves. For objects composed of entirely planar surfaces, this is not really a problem, as the facets will correspond exactly with the surfaces. For curved surfaces, the triangles will necessarily not lie entirely on the surface, and thus the degree of approximation becomes important.

Which prototyping process will be used to create the final object will determine which is the optimum level of precision and tolerance that will be required for the model. Rougher processes like FDM can successfully use models with lower tolerances (lower precision) than something like a machining process which is capable of very fine detail. In general, the precision target of the model should be around one order of magnitude smaller than (1/10 the size of) the maximum precision of the process. For FDM, which can reproduce about 0.1mm detail, an STL with .01 is good. For machining, which can reproduce .01mm and finer, an STL precision of .001 or finer is necessary.

Since an STL mesh is composed entirely of triangles, it is the simplest form of mesh model format. Each facet is necessarily planar. In principle, for rapid prototyping processes, a completely closed object is required, that is to say, the mesh completely encloses a volume, with no holes, gaps, or overlaps. We sometimes speak of this as a “watertight solid”. In addition, some processes require that there is only one object (volume) in the file.

In actual practice, there may be some tolerance allowed. Small errors or gaps may be tolerated by the prototyping software, or can be quickly repaired. Each process and software will work differently, some are more error-tolerant than others. Therefore, in general it is best to aim to achieve a perfect 100% closed model, otherwise, depending on who is doing the prototyping and what process is being used, it may be time consuming (read: expensive) to fix.

Creating STL’s from Rhino models

Rhino models are created with mathematically determined smooth curves and surfaces called NURBS (Non Uniform Rational Basis Splines). These surface models need to be translated into (approximated by) triangular meshes to be exported via STL. The accuracy of the translation is determined by the values input into the custom mesh settings box in Rhino. The most important setting is the maximum distance edge to surface setting, which determines how closely the mesh will be drawn over the surface (and thus how smooth and accurate it will be).

For RP purposes is very important that the Rhino surface model be a closed volume (closed valid surface or polysurface). Even when it is, under some conditions the mesh translation of the object may be open (have gaps somewhere). In general, these are minor and usually repaired easily, oftentimes directly in Rhino. It is a good idea to reimport your STL into Rhino and check for naked edges. If none are found, great! – you’re done.

If there are a few, you can usually use the V3 bonus mesh tools or V4 mesh tools to fix them. Commands like MatchMeshEdge, AlignMeshVertices and UnifyMeshNormals are very useful. You can also go in and create/delete individual mesh faces. Once fixed, you can re-export the mesh as a new STL. Otherwise, you can also just mesh your model in Rhino, check and edit it if necessary, and then export the mesh as an STL. The custom settings for Mesh and STL export are the same. See the Mesh FAQ page for more info on meshing.

Export mesh settings

It is recommended that you use the custom/detailed settings to produce your mesh model or export STL. Each different process will have a different group of settings. Below is a listing of settings people have found useful for various RP processes:

(please contribute your settings, we can format them later!)

Stereolithography

SLS

FDM (Stratasys)

Polyjet printer (Objet)

Z-Corp machine

Solidscape Wax printer

Invision

Etc.

For FDM use, I have found a reasonable group of settings are:

Max angle: 30

Max dist edge to srf 0.01

Initial grid quads 16

All others 0

Refine checked

All others unchecked.

________________________________________________

For Jewellery (rings) printing on a Solidscape t66 I found a simple set of settings. Units are millimeters. (Don't use these settings on big models!):

Min Edge length: 0.02

Max Edge Length: 0.3 to 0.6 (0.3 takes longer, but is worth it)

Max dist edge to srf 0.001 to 0.005 (0.001 takes longer, but is also worth it)

All other settings = 0

Refine checked

All others unchecked

Later

Evert

_______________________________________________