Hoping to get some help with something I'm trying to accomplish. Unfortunately, due to my being a noob with 3D modeling in general, I'm coming here for hopefully more direct help.

Env. Details: OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)

Essentially, I have a need to design some housing for a small electornics board. Due to the nature of 3D printing being less than ideal for bending/snapping locks, I've decided to use small screws to hold multiple layers of housing together. Placements to bore threaded holes

SketchUp Free proved to be a super intuitive, easy to understand 3D modeling software, tho is limited in functionality due to paid tiers. Unfortunately, FreeCAD felt like a confusing cross between early 2000s Microsoft Paint and Eclipse (Java). However as the open source alternative, I understand it's incredibly powerful and can/should be able to do what most 3D modeling software is capable of, if you know how to use it properly - and that's where my lack of understanding shines through. Research into my use case revealed a plugin (Fasteners Workbench) which seemed purpose built for dealing with screws/threads, and I greatly prefer this approach due to being able to select standardized sizes.

On to the problem: I decided to sketch out the main design for the housing in Sketchup, and am happy with it, though I am missing the holes in the four corners. To add this, I decided to export the file from Sketchup as STL and import it to FreeCAD. Once in FreeCAD, I switched to the fasteners workbench and created a screwtap of arbitrary length. Now, from most tutorials I've watched, removing one piece from another is a boolean operation, often a cut or an intersection. However, when I highlight both the part object and the screwtap and select the CUT boolean operation, what I expect to happen (the screwtap was "cut" or carved out of the part object) did not. Intersecting components selected, deciding on boolean operation enter image description here

I'm wondering if: - My understanding of the boolean operation is wrong. There is a different function that is used for "boring" threaded holes? - My process is wrong. Does exporting an STL from sketchup free not work for certain operations when importing to FreeCAD? - My models are off. I have an understanding that "grouping" parts of models is big when putting a model together from parts, so as to simplify life. I'm wondering if it's also required in these cases? Attempting to do the boolean operation in sketchup failed but did require having grouped components. I'm not sure this is the case in FreeCAD, or if I'm already doing this?

Would appreciate any help with this. Attaching the FreeCAD file here.

  • 1
    $\begingroup$ Note that you don't need to insert a hole with threads, it is far more easily to a) make a little smaller hole than the screw and tap the threads in, b) use knurled inserts (this is my preferred solution). Also note that threads in plastic wear out pretty fast. $\endgroup$
    – 0scar
    May 15, 2020 at 7:53
  • $\begingroup$ If you tap plastic, use a fine thread if you can! $\endgroup$
    – Trish
    May 15, 2020 at 12:26

3 Answers 3


Stls may not properly import as solids. This is likely what is happening in your case. Stl format is ultimately just a bunch of triangles without a proper definition of a solid. The boolean Difference found faces to attach to the circle so it used them. The trouble is, there were even more faces at the same location (not uncommon).

You could manually delete and repatch the triangles in Mesh Design or if the shape is simple enough (I think your box fits the bill), redraw it. I don't know how far sketchup has come with file formats, but a different format may convey your solid better between software.

That said, in your shoes, I'd be making cylindrical and hexagonal cutouts and gluing a nut into my part.


There are a number of steps to importing an STL file into FreeCAD and being able to use it. This page discusses this in detail, but to summarize:

  1. Import the STL
  2. In the Part workbench, use Create shape from mesh.
  3. Use the Advanced utility and select Solid from shell.

Now I will tell you from personal experience, you still may not be able to what you want to do. FreeCAD really isn't designed to work on STL files and really isn't the right choice.

Good luck.


I have been down that road with FreeCAD and STL files and never ever succeeded. I actually use Prusa Slic3r whenever I need to edit STL files such as resize, cut or split and object.

That said, FreeCAD is extremely powerful when you learn how to use it. It took me several months to get a good workflow with part design and the ability to write scripts/tools with Python opens up a lot of possibilities to automate various tasks, especially when interacting with 3D printing software.

I would recommend starting with some tutorials in using part design and the sketcher. Your design is very easy to redo in FreeCAD and if you are making many different enclosures, all dimensions can be put in a spread sheet inside the FreeCAD project and referenced wherever a numerical constraint/constant is used.

That makes it very easy to parameterize a design so it can be reused in various projects. I have for example a parameterized thread that I use to print parts that can be screwed together with printed threads or using standard M-thread screws directly in holes with printed threads.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .