GreatLight CNC Machining Factory logo
CNC Machining
Rapid Prototyping
Materials
Industries
News
About GL

Get Instant Quote

STL Export Guide

How to Export STL Files from Different Software for 3D Printing Models

A practical walkthrough for engineers who need clean, watertight meshes from SolidWorks, Fusion 360, Creo, NX, Inventor, Rhino, FreeCAD, and Blender. You will learn the export settings that matter, the tolerance values that keep file size sane, and how to verify the mesh before it reaches a printer or a quote desk.

Binary STLChord toleranceWatertight mesh12-hour DFM
Export STL files from different software for 3D printing models
Key takeaways

What matters before you click Save As

STL is triangles onlyNo units, no colors, no feature tree. The mesh carries geometry and nothing else.
Two settings control qualityChord tolerance (deviation) and angle tolerance decide how fine the triangulation is.
Binary beats ASCIIA binary STL is roughly one fifth the size of the same mesh in ASCII. Use binary unless a legacy tool demands otherwise.
Always check the meshOpen the exported file in a viewer and look for holes, flipped normals, and stray shells before sending it out.
Export from the final solidSuppress construction surfaces, sketches, and cosmetic threads. They become garbage triangles.
Fundamentals

What an STL file actually stores

STL is a tessellation format. Your CAD kernel holds exact surfaces like NURBS or analytic planes; the STL exporter samples those surfaces into flat triangles. Every triangle carries three vertices plus a normal vector, and nothing else. There is no unit tag, no material, no assembly hierarchy. If you export a part in inches and the receiving software assumes millimeters, a 25 mm boss becomes a 0.98 mm bump. Confirm units inside the slicer or viewer before you blame the model.

Two parameters define how closely the triangles follow the real surface. Chord tolerance, sometimes called deviation or linear deflection, is the maximum distance allowed between a triangle edge and the true curve. Angle tolerance is the maximum angle between normals of adjacent triangles. Tighten chord tolerance and curved faces get more triangles. Tighten angle tolerance and small fillets stop looking faceted. Both cost file size, so pick values that match the smallest feature you care about.

A practical starting point for mechanical parts is a chord tolerance of 0.01–0.05 mm with an angle tolerance of 5–15°. For a part that only needs visual review, 0.1 mm and 20° is fine. For a thin-wall or fine-lattice part that will be printed or machined to tight limits, push chord tolerance toward 0.005 mm. Binary STL keeps those files manageable. ASCII roughly quintuples the byte count for identical geometry.

  • 1
    Units are your jobSTL stores no unit. Record the unit in the filename or the accompanying drawing.
  • 2
    Tessellation is one-wayOnce exported, you cannot recover the smooth surfaces. Keep the native CAD file.
  • 3
    Normals matterFlipped normals make a solid look inside-out and break some slicers. Most exporters handle this, but verify.
Software notes

Export STL files from different software without the usual traps

SolidWorks and Inventor share the same dialog logic. Open File > Save As, choose STL, then click Options. Set Output as Binary, Resolution to Custom, and enter deviation and angle values. Turn on “Do not translate STL output data to positive space” only if you need original coordinates. Leave “Save all components of an assembly in a single file” off when you want separate bodies. A common error is exporting an assembly with hidden components still active; the exporter includes them and you get overlapping shells.

Fusion 360 hides quality settings behind a right-click. Select the body, choose Save As Mesh, then pick STL (Binary) and set Refinement to Custom. Preview the mesh before saving. The preview shows triangle count and lets you catch a missed body. Creo uses File > Save a Copy > STL, then a dialog with Chord Height and Angle Control. Set Chord Height to 0 and Angle Control to 0 to let Creo choose, or enter explicit values. NX users go through File > Export > STL and set Triangle Tolerance plus Adjacency Tolerance.

Rhino exports meshes rather than solids. Run the Mesh command first, set Density or custom tolerances, then Export Selected as STL. Skipping the mesh step produces a coarse default. FreeCAD requires the Mesh workbench: select the body, Mesh > Create Mesh from Shape, choose Standard or Mefisto, set Linear Deflection and Angular Deflection, then export. Blender is mesh-native, so the export is direct, but check Scale and apply all modifiers first. A Blender object with a 0.001 scale factor will export at that size.

  • 1
    Apply modifiers in BlenderUnapplied modifiers export as the base mesh, not the visible result.
  • 2
    Mesh first in Rhino and FreeCADThese tools convert NURBS to mesh explicitly, not silently.
  • 3
    Watch assembly scopeHidden or suppressed parts can still land in the STL.
Quality control

Tolerance, file size, and mesh health

File size grows fast as chord tolerance tightens. Halving the tolerance roughly quadruples the triangle count on curved geometry. A bracket with a few fillets might jump from 40,000 triangles to 160,000. That is still small for a binary STL, but a full engine block or an intake manifold can reach hundreds of megabytes. Slice times climb with it, and some viewers stall. If a file exceeds roughly 200 MB, consider exporting subassemblies separately and assembling them downstream.

Mesh health is separate from tessellation quality. A perfectly fine tessellation can still have open edges, non-manifold junctions, or self-intersections. Those defects come from the source solid, not the exporter. Run a repair pass in your CAD tool or in a mesh utility: stitch open edges, remove duplicate triangles, unify normals. Do this before sending the file to a print farm or a machine shop. Repair tools in slicers can fix minor gaps, but they can also distort critical dimensions.

For parts that will be machined rather than printed, STL is often a poor handoff. A STEP or IGES file keeps exact surfaces and lets the CAM programmer pick their own tolerance. We accept STL for 3D printing and for quick visual checks, but for CNC work we ask for STEP when the customer has it. That single choice avoids a re-export later. If STL is all you have, tighten the tessellation to 0.005–0.01 mm so the machining path does not inherit facets.

  • 1
    200 MB is a practical ceilingAbove that, viewers and slicers slow down noticeably.
  • 2
    Repair at the sourceFix the solid in CAD rather than patching triangles later.
  • 3
    STEP for machiningKeep exact surfaces for CNC; reserve STL for printing and review.
Judgment

When STL is the wrong handoff

STL is the right choice for 3D printing, for visual review, and for any downstream step that only needs triangles. It is the wrong choice when the receiving side needs to edit the geometry, apply a new feature, or program a CNC toolpath with exact arcs and planes. A CAM programmer working from STL has to fit arcs back onto faceted curves, and that introduces error. Send STEP or the native file instead.

Color, material, and multi-body assemblies also suffer in STL. The format carries no color. If you need color, use 3MF or OBJ. If you need to keep separate bodies, export each body to its own STL with a clear naming scheme. Some slicers handle multi-body STL, but the results vary. Naming bodies bracket_left.stl and bracket_right.stl saves a support ticket later.

A final point on tolerances for printing. FDM printers resolve detail around 0.2–0.4 mm, so a 0.005 mm chord tolerance is wasted on them. SLA and DLP printers resolve finer, down to tens of microns, so tighter tessellation helps. For metal 3D printing, the laser spot and layer thickness set the real limit, and a 0.01 mm chord tolerance is usually enough. Match the mesh to the process rather than chasing the smallest number.

  • 1
    Editing needs STEPTriangles cannot be re-featured cleanly.
  • 2
    Color needs 3MF or OBJSTL has no color channel.
  • 3
    Match mesh to processFDM does not benefit from micron-level tessellation.
Step by step

A repeatable export workflow

Use this sequence for any CAD package.

  • 1
    Clean the modelDelete construction geometry, hide fasteners, and suppress cosmetic threads. Check for zero-thickness walls below 0.4 mm and fix them before export. A wall that thin will fail in print and in machining.
  • 2
    Set the unit systemConfirm the source part is in the unit you intend. If the design is in inches, note it in the filename: bracket_inch.stl. Do not rely on the receiving software to guess.
  • 3
    Choose binary formatPick binary STL in the export dialog. Only fall back to ASCII when a legacy tool or a specific script demands it. Binary keeps the file roughly five times smaller.
  • 4
    Set chord and angle toleranceStart at 0.01–0.05 mm deviation and 5–15°. For fine features below 1 mm, go to 0.005 mm. For visual-only models, 0.1 mm and 20° is acceptable.
  • 5
    Preview triangle countUse the built-in preview where available. A simple bracket should land between 20,000 and 100,000 triangles. A count over 1 million usually means the tolerance is too tight for the part.
  • 6
    Export and re-openSave the STL, then open it in a viewer or slicer. Rotate the model and check curved faces for facets, look for holes, and verify overall dimensions with the measure tool.
  • 7
    Run a mesh checkUse an STL inspector to count open edges, flipped normals, and shells. A watertight single shell is the goal. Repair and re-export if the check fails.
Quick reference

Export paths and key settings by software

Menu names vary by version; the parameter names are the ones that matter.

SoftwareExport pathKey settingsWatch out for
SolidWorksFile > Save As > STL > OptionsBinary, Custom deviation 0.01–0.05 mmHidden assembly components included
Fusion 360Right-click body > Save As MeshBinary, Refinement CustomPreview skipped, wrong body selected
InventorFile > Export > CAD Format > STLBinary, Custom resolutionAssembly scope defaults to all
CreoFile > Save a Copy > STLChord Height, Angle ControlChord Height 0 lets Creo decide
Siemens NXFile > Export > STLTriangle and Adjacency ToleranceDefault tolerance too coarse
RhinoMesh command, then Export SelectedLinear deflection, angleSkipping the mesh step
FreeCADMesh workbench > Create Mesh from ShapeMefisto, linear and angular deflectionMesh workbench not active
BlenderFile > Export > STLApply Modifiers, Scale 1.0Unapplied modifiers, tiny scale

The short version

Export binary STL from a cleaned solid, set chord tolerance between 0.005 and 0.05 mm depending on feature size, and check the mesh before you send it. When the part needs editing or CNC machining, send STEP instead. Our team reviews every uploaded model and returns a free DFM analysis within 12 hours.

FAQs

Questions engineers ask about STL export

Why is my STL file so large?

File size scales with triangle count, and triangle count scales with how tight the chord tolerance is. Halving the tolerance roughly quadruples the triangles on curved surfaces.

Switch to binary STL, relax the angle tolerance to 10–15°, and export subassemblies separately. A 500 MB file often drops to under 50 MB with those three changes and no visible loss on the printed part.

Why does my STL import at the wrong size?

STL has no unit information. The software on the receiving end applies its own assumption, often millimeters.

If your CAD model is in inches, either scale it to millimeters before export or state the unit clearly in the filename. Then verify the bounding box with a measure tool after import.

Should I export ASCII or binary STL?

Binary, unless a specific legacy tool or script requires ASCII. The geometry is identical.

ASCII stores every triangle as readable text and runs roughly five times larger. For a mesh over 100,000 triangles, binary is the only practical option.

How do I know if my STL is watertight?

Open it in a mesh inspector or slicer and look at the open-edge count. A watertight solid has zero open edges and one shell.

Most slicers will repair small gaps automatically, but that repair can shift dimensions. If the part is functional, fix the source solid in CAD and re-export rather than relying on the slicer.

Do I need to apply modifiers before exporting from Blender?

Yes. Blender exports the evaluated mesh only if you enable Apply Modifiers in the export dialog, and even then it is safer to apply them manually.

An unapplied subdivision or bevel modifier will export as the base cage, so the STL will not match what you see in the viewport.

Can I send STL for CNC machining instead of 3D printing?

You can, but STEP is better. STL flattens curved surfaces into triangles, and the CAM programmer has to reconstruct arcs from them.

If STL is all you have, tighten the chord tolerance to 0.005–0.01 mm. We will still ask for STEP when available, because exact surfaces give a cleaner toolpath and a more predictable result.

Send us your model and get a manufacturability check

Upload an STL, STEP, or native CAD file. We review wall thickness, tessellation, and print orientation, then return a quote with a free DFM report. No minimum order quantity, from one prototype to 10,000+ parts.

12-hour quote100% inspectionNDA on request

Follow GreatLight

More process notes and shop updates

We publish setup notes, tooling trials and inspection data from the factory floor.

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

Trusted by engineers and manufacturers worldwide

Tesla Ford Motor Company BYD Auto Denso Magna International Boeing Airbus Medtronic KUKA FANUC