STEP is a CAD Brep format developed in the 1980s as a successor to IGES, and like IGES is a neutral CAD format. STEP files can vary in quality depending on what translator was used to generate them or read them. So the first thing to recognize about the STEP part of this equation is that there may be a better format to start off with.
STL, which stands for Stereolithography, is a polygonal, faceted, Visrep (Visual Representation) which is used to approximate CAD and other geometry. STL is primarily used for Additive Manufacturing (also known as 3D printing) and Finite Element Analysis (FEA), but can also be used for machining. For the purposes of this discussion we will focus on additive manufacturing applications. The important thing with STL output is starting with a watertight solid model, and then getting the tesselation optimal for your purposes.
If the original file is a CATIA, NX, SOLIDWORKS, Solid Edge, Inventor or AutoCAD file, or if the original file came from a CAD application that is based on the Parasolid, ACIS, SMLib geometric solid modeling kernels, you are better off bypassing STEP and translating directly from the native (ideal) or kernel (next best) format to STL. If STEP is all you have and all you can get, then by all means, at least use the best STEP translator you can get to read it, because, as we often state at TransMagic, a STEP translator can hurt you twice – when the file is being written, and when it is being read. A bad STEP translator on either side of this equation can still generate geometric problems.
Start with a Watertight Solid
You want to start with a good quality model because if there are any missing faces or bad geometry, you will not have a watertight model, and all 3D printers require a watertight model. ‘Watertight’ means that you could take all the outside faces of the model and if that body were filled with water, no water would leak out. If a face is missing, or there is a gap between any edges, the model is not watertight; and that’s one reason why starting with the highest quality CAD file you can get your hands on is important.
If you have a STEP model and it has issues, you can run repair operations on it to reextend boudaries and intersections in order to heal gaps. You may also be able to use CAD software or repair tools to replace missing or damaged faces. Then you can restitch the CAD model faces together and proceed to converting the model to STL.
STL Output Settings
When you write to STL you have a great deal of control over how the model is faceted. As shown in the figure at right, you can tune output for Normal Deviation, Maximum Surface Deviation, Maximum Edge Length Preference, control over Edge Length and whether you are using Procedural or Adaptive Faceting.
The first three settings are going to affect mesh density in different ways, and increasing mesh density is often imporant to achieve smoother curves on 3D models; however, since high mesh density can make files hard to manage in terms of filesize and complexity, it’s best to add mesh density in the right places, rather than blindly or all over.
Normal Deviation is the maximum deviation between surface normals at facet node positions. The default is 5 degrees, meaning that a surface normal has to be within 5 degrees of the original surface normal at the facet node. Normals are imaginary lines perpendicular to any given surface.
In the figure at right, the blue sphere represents the original CAD model. Two surface normals are shown as black arrows (with perpendicularity symbols shown in red).
The STL facets are shown in orange. The distance between each facet node and the original surface is the Normal Deviation.
Normal Deviation is a good setting to tune when you want to specifically control curvature; for example, if you need helical threads to be as smooth as possible, without adding extra mesh density to other parts of the model.
Maximum Surface Deviation
Whether you are going STEP to STL, or from any CAD format to any polygonal format, this setting is a good one to tune if you generally want to make the STL model look as simlar to the original CAD model as possible.
The smaller you set this value, the more closely the STL model will resemble the original STEP CAD file, but, the resulting mesh will also be that much bigger.
Maximum Edge Length Preference
Percentage means it is based on the length of the diagonal of the Bounding Box. If a part is 2 x 2 x 6, the diagonal of the bounding box is going to be about 6.63 long. If the default of Edge Length By Percentage is used, that means no facet edge will be longer than 10% of 6.63 inches, or 0.66 inches.
At right you can see two examples of bounding box diagonals. The benefit of this setting is that it gives you a hard and fast way to control facet sizes, but as you’ll see in an example below, it can be somewhat ‘brute force’ and create facet edges in planar areas which do not aid in describing the geometry, thus increasing file size and complexity unnecessarily.
Procedural Faceting vs Adaptive Faceting
Procedural Faceting will facet surfaces based on their procedural definition (cylinders, cones, tori, spheres) where possible, which is more accurate, and is also faster than adaptive faceting.
Adaptive Faceting places facets where needed, based on maximum surface deviation. Higher curvature areas get a greater number of facets, lower curvature areas get fewer facets, with a goal to attaining a uniform triangle sizing. Adaptive faceting is processor intensive, and is best used for generating Finite Element Analysis (FEA) mesh geometry.
Test Drive TransMagic
The screen captures in this article, and all of the associated information was generated with TransMagic. If you are not already a TransMagic customer, there is a free evaluation version you can try with your own CAD data.
The Polygon Reduction Slider is an intuitive way to interactively reduce polygons. Learn more about Polygon Reduction here.