Parametric Toolbox Magnetic Label Maker (Harbor Freight US General font)

Organize and label your toolbox drawers (or anything) with some nice magnetic labels.
181
576
3
2909
updated November 30, 2025

Description

PDF

UPDATE 2025-11-25 v14: BETA TEST Major math calculation changes to ensure magnets never cut into text. Test with care, report bugs please. I have left v12 available for now.

Introduction

This is a magnetic label generator that I use to create my labels for my Harbor Freight US General series tool boxes/tool carts.

You can easily make a batch of custom labels for tool carts and tool boxes.

The label generator is written in OpenSCAD. The included .3MF project includes a ton of labels you can use on their own, but it was my intention that you would use this to make your own custom labels.

The included .3MF project is just a sample of some of the labels. You you can use it their own, but it was my intention that you would use the generator to make your own custom labels.

We print these labels with the magnet side down to the bed. The little amount of bridging needed means that supports should not be needed. By adjusting the parameters, you can change magnet size, label depth, magnet fitting clearances (so you can press-fit and skip glue).

Remix Differences

Originally written by Josh who produced a single label. This is complete rewrite of that code to support batch generation, the customizer, guardrails, and multi-part and multi-plate printing. His code was the inspiration for this code.

Usage

  1. Download the .SCAD file.
  2. Download/install desired fonts (see Getting the Fonts below).
  3. Install OpenSCAD development snapshot. The last official release is from 2021 but it is actively maintained and we use features that do not exist in the official release. Hint: if using a recent MacOS, you may need to remove the quarantine flag from the downloaded file before it will run.
  4. Go to OpenSCAD > Preferences > Features and enable lazy-union and text-metrics.
  5. Go to OpenSCAD > Preferences > Advanced and set the 3D Rendering backend to Manifold.
  6. Use the OpenSCAD customizer window or edit the source code to set the labels you wish to print. Labels are delimited with the “|” character.
  7. If using a different font, set the name of the font in OpenSCAD.
  8. Do a preview rendering (F5), if it looks good, do a slower full rendering (F6) , then Export the output as a .3MF file.
  9. Load the .3MF file into your slicer, answer Yes when the slicer prompts “Multi-part object detected.”
  10. Go to Objects menu, “OpenSCAD Model 1” represents all the bases, “OpenSCAD Model 2” is all of the text parts. Set desired colors or filament for each.

Getting the fonts

You can use any TTF font you want. You can either copy the font file into the same directory as the .scad file and uncomment one of the “use” directives, or install the new font it in your system fonts (I do this). The font that I use came from Fontspring and is their Avionic Wide Oblique Black.  In the sample code, I have referred to their Demo license copy. You can do all of your testing and print samples using the demo font, it will work just fine, but please consider changing fonts or buy a personal license for this font should you use this for a finished project or commercially. Artists need to get paid.

You can also use SD Prostreet for free for personal use, it's almost as close a match as Avionic, and unlike the demo of Avionic, all characters are present.

Interesting Customization Parameters/Variables

  • labels: label names, delimited with “|” like “SOCKETS|RATCHETS|ALLEN WRENCHES”
  • font: font to use
  • letter_size: 8mm default
  • label depth: 5mm default
  • base_shape: 0 default, a rectangle with rounded corners
    • 1 = experimental: Flows base shape to follow letter outlines. May produce more aesthetic results but can also look strange for letters with descenders or trailing Ls. Slower to render, but can be really cool.

It will only generate as many labels as will fit on the plate vertically, batch your jobs as necessary.

Source control

Original development sources are maintained in my repository GitHub if you want to collaborate with me. Please feel free to open issues or better yet send contributions via pull requests.

Previous Updates

2025-11-12 v12: Fix Autodetect for new version of MakerWorld PMM, allow override if it changes again.

2025-09-22 v11: Autodetect MakerWorld PMM, calculate Y label distance correctly, error if model is bigger than plate dimensions since PMM hides warnings.

2025-0917 v9: Allow for embedded magnets, larger fonts, clean up depth calculations for magnet holes

2025-08-04 v7: Multiple plate support, better fonts, better color and font picker, better documentation

Tags



Model origin

The author remixed this model.

Differences of the remix compared to the original

It's pretty much a 99% rewrite at this point.

The improvement to this label maker (from the original) are:

  • produces many labels at once
  • get's all of the hole sizes correct
  •  auto-sizes the bounding box for the labels
  • paints the text (during preview) so it's easier to read
  • checks to see if the labels will exceed the bed-size of your printer
  • labels vs bases are separate objects to make painting easier in the slicer

 

License