Import from STL or OBJ

From FreeCAD Documentation
Tutorial
Topic
Import from STL or OBJ
Level
Beginner
Time to complete
30 minutes
Authors
r-frank
FreeCAD version
0.16.6703
Example files
See also
None

Introduction

In this tutorial we will cover how to import STL/OBJ files in FreeCAD. Since the mesh-format STL/OBJ is dimensionless, FreeCAD will assume on import that the units used in the model are mm. If this is not the case you have to scale your model either in the application it was created with (before exporting it) or you have to scale your model in FreeCAD after import and conversion to a solid.

Sample part

For this tutorial you can use your own STL file or create a demo file by doing this:

  • Open FreeCAD
  • Create a new document
  • Switch to the mesh workbench
  • Insert a torus by clicking on Meshes Regular solid..., choosing settings like:
    • Radius1: 10 mm
    • Radius2: 2 mm
    • Sampling: 50
  • Click on Create and then on Close
  • Save your file with FileSave to get a FreeCAD-File containing a mesh object


For importing a STL or OBJ file into FreeCAD, create a new FreeCAD document und choose FileImport from the top menu.

Cleaning and repairing the STL/OBJ-File for preparing import

Basically, FreeCAD would import any STL/OBJ-File. But our goal is to have a solid which can be measured and changed (adding pads/pockets ..). For a successful conversion from mesh to solid we need to make sure that the mesh is “water-tight” (has no holes) or doesn’t have any other errors.
FreeCAD’s aim is not to be a good mesh modeler, it is designed to be a solid modeler. FreeCAD has some capabilities for mesh operation in mesh workbench and OpenSCAD workbench (some operations need OpenSCAD to be installed and configured in the FreeCAD-preferences).
Some users like to use third-party software for cleaning and repairing meshes, for example

  • Netfabb Basic (Windows/Linux/Mac) - free for personal use (automatic mesh repair available)
  • Meshlab (Windows/Linux/Mac) - Open Source


In this tutorial we will use the mesh workbench within FreeCAD to clean/repair/verify the mesh of our sample file.

Automatic testing and repairing

  • Open FreeCAD and the sample FreeCAD file containing the mesh object
  • Switch to mesh workbench
  • Make sure that your mesh object is selected in the tree view
  • Choose MeshesAnalyzeEvaluate & Repair mesh... from the top menu
  • Make sure the pull down menu on the top right corner displays the name of your mesh object
  • With the last point in the list reading "All above tests together" click on Analyze
  • The texts beside the tick boxes will change to reflect results of the different tests
  • If errors had been detected the corresponding check-boxes will be ticked and you will be able to select Repair
  • Choose Close to close the menu

Harmonizing normals

Harmonizing normals of a mesh object can be done by

  • Selecting your mesh object in the tree view
  • Choose Meshes Harmonize normals from the top menu.

Tip: By choosing the mesh object in the tree view, going to the view tab in the property view and changing "Lighting" from "Two Side" to "One Side" you can identify triangles with flipped normals. If the normals point into the mesh the triangle will be shown in black.

Closing holes

You can also manually close holes in your mesh object by

  • Selecting your mesh object in the tree view
  • Choose MeshesFill holes... from the top menu
  • Specify maximum number of edges to be filled (3 is default)
  • Since STL and OBJ are meshes consisting of triangles the default number of edges should be sufficient


Another method of manually closing holes in your mesh object would be

  • Selecting your mesh object in the tree view
  • Choose Meshes Close hole from the top menu
  • Select one of the edges of the hole in the mesh object in the 3D view
  • Right-Click in 3D view and choose Leave hole-filling mode to exit the command

Conversion mesh to solid

  • Switch to Part Workbench
  • Make sure your mesh object is selected in the tree view, otherwise select it
  • Choose Part Create shape from mesh ... from top menu
  • Specify tolerance for sewing shape (0,1 is default)
  • A new object will be created in the tree view (with blue shape icon, instead of green mesh icon)
  • Select the newly created object in the tree view
  • Choose PartCreate a copy Refine shape from the top menu
  • A new object will be created in the tree view and the previous one will be made invisible
  • Select the newly created object in the tree view
  • Choose PartConvert to solid from the top menu
  • A new object will be created in the tree view, bearing "(Solid)" in its name, to indicate it is a solid


Since the created solid has no history and no editable features (like a simple copy in FreeCAD) you could delete all previous objects from the tree view. This would keep your file size small ...

Links