Skip to main content

A FreeCAD addon and a CLI tool to manage tool libraries

Project description

Better Tool Library (BTL)

Better Tool Library (BTL) is a FreeCAD addon (plugin) that replaces the built-in tool library for the Path workbench. It also provides a standalone tool if you want to use your library outside of FreeCAD.

Warning If you decide to switch back from BTL to the FreeCAD internal tool library, you may lose any extra information that was entered using Better Tool Library, like tool notes and hardware.

Warning I advise you make a backup of your tool library. I guarantee for nothing, there may be bugs.

Feature Comparison

Feature Better Tool Library FreeCAD internal library
Modern UI X -
Provides a shape browser X -
Tool search X -
Tool dimension sketch for built-in tools X -
Can be used standalone outside of FreeCAD X -
Provides built-in common shapes X -
Store tool notes and additional info X -
Auto-generates tool icons X -
Can be used with no document open X -
Provides CLI tool for import/export X -
Read BTL files X X
Write BTL files X Deletes BTL extra data!
Import from Camotics X -
Export to Camotics X X
Export to LinuxCNC X X

Installation via the FreeCAD addon manager

  • Open FreeCAD
  • Go to Edit -> Preferences -> Addon Manager
  • Click "+"
  • Enter the following Repository URL:
  • Enter the branch name main
  • Click confirm
  • Open the Addon Manager via Tools -> Addon manager
  • Search for Better Tool Library
  • Click it
  • Click Install

To run it, just open the Path workbench and there should be a new icon at the end of the toolbar:



Library Editor Shape Browser Tool Editor

Standalone mode

To use via standalone, you will have to install BTL via setuptools.

git clone
pip install . 

To run this, you need to point qbtl to your FreeCAD directories:

export PYTHONPATH=/usr/share/freecad/Ext/:/usr/lib/freecad/lib/
qbtl path/to/your/toollibrary/

CLI tool

Better Tool Library also comes with a CLI tool. After installation via setuptools (see above), you can use it as shown below.

Show the command line syntax

btl --help
btl -f camotics create --help

Print the whole library

btl fctooldir/ show all

(default for -f is freecad, so it can be omitted in that case)

Adding a tool to an existing library

btl fctooldir/ create tool endmill

Converting from FreeCAD to Camotics tool table

btl fctooldir/ export -f camotics camoticstooldir/

Converting from FreeCAD to LinuxCNC tool table

btl fctooldir/ export -f linuxcnc linuxcnc.tbl

Converting from Camotics to FreeCAD tool table

btl -f camotics camtest/ export -f freecad fctooldir/

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

btl-0.9.1-py3-none-any.whl (262.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page