BOLTS is an Open Library of Technical Specifications.

What is BOLTS?

The aim of BOLTS is to build a free and open-source standard parts library for CAD applications. It does so by providing a common database that can be utilized by many different CAD applications.

What is a standard parts library?

When you use a CAD software to create a design, this design consists usually of two different types of components: Custom parts that are specific to your purposes and have to be custom made (e.g. by 3D printing), and standard parts like nuts and bolts that you can buy in a hardware store.

A standard parts library relieves you from the tedious task of modeling standard parts by providing them readily usable, so that you can focus on the interesting aspects of your design.

While many commercial vendors offer standard parts libraries with their tools or for a fee, there is no free (as in freedom) standard parts library, yet. BOLTS tries to fill this gap.

Illustration of different part sizes in a part library

How does BOLTS work?

BOLTS leverages the parametric abilities that most CAD applications provide. This allows to obtain a huge number of different sizes and variants of a part from a single model.

Dimensions and metadata of all the sizes and versions of the part are kept in special files. BOLTS can then use this data and the parametric models of the parts to automatically build standard parts libraries ("BOLTS for ...") for different CAD tools, that the user just can simply download and use.

So in a sense BOLTS is a tool to create standard parts libraries.

Schematic image of how the backend independent data and the backend specific data for a CAD system are used to create a standard library for this system

How can I help?

You can help BOLTS by modeling parts in one of the supported CAD tools, by adding dimensions and metadata for new parts, or by creating drawings for the online part directory.

These tasks are relatively easy, and most of them do not require programming skills. To learn more, check out this page, it has more information and links to detailed descriptions of the different tasks.


Quickstart: Using BOLTS for OpenSCAD

Download the tarball with BOLTS for OpenSCAD from the Downloads page and extract it into a folder. Start OpenSCAD from this folder or Adjust your OpenSCAD library path to make sure OpenSCAD can find BOLTS. Then add this at the top of your scad file:

include <bolts.scad>

You can now use BOLTS to add standard parts like a washer:


For more information see the Documentation

Screenshot of a bolt from BOLTS in OpenSCAD

Quickstart: Using BOLTS for FreeCAD

Download the tarball with BOLTS for FreeCAD from the Downloads page and extract it into the FreeCAD macro directory. If you don't know where this is, you can look it up in the preferences dialog on the macro tab. You also have to make sure to have pyyaml installed.

After starting FreeCAD, choose Macros from the Macro menu and execute the start_bolts.FCMacro

A widget should appear. There you can select a part from the tree, give values for the parameters and add it to the current document.

For more information see the Documentation

Screenshot of a ball bearing from BOLTS in FreeCAD

Quickstart: Using BOLTS for IGES

Download the tarball with BOLTS for IGES from the Downloads page and extract it into a folder. This can require several hundred MByte of space.

IGES is a widely supported format, so almost every CAD tool can use it. The details depend on the specific application, but usually one has to open or import a IGES file to be able to use the part.

The files are structured in subdirectories, which correspond to the collections shown in the Parts list. Not all sizes or variants of all parts are available in BOLTS for IGES, if you miss something get in touch.

Illustrative screenshot of the many individual files in the IGES distribution of BOLTS