[Danny Berger](https://dpb587.me/ "Home")

# 3D Printing, Filament Labels

[3D Printing Journal](https://dpb587.me/topics/3d-printing/journal) · August 24, 2026

My new workbench arrived, so I got it assembled and moved the equipment on to it (and then ran a recalibration). I also added desiccant to the printed filament spool containers and installed them. Then I started learning more about OpenSCAD...

## Filament Labels

There are almost too many models on MakerWorld for labels and swatches, but none of them quite matched my preferences. I wanted something fairly simple (not articulated), medium size (not small/nano), label sticker with QR note links (not 3D-printed names; preferably for 30336 size I already use), and didn't require special attachments for keeping it with filament spools.

At some point, I found a [filament sample](https://makerworld.com/en/models/37649-filament-sample#profileId-36104) which included its OpenSCAD model file, so I was able to see how it worked and realize I could easily recreate my own layout. After some trial & error and a couple printed iterations, I ended up on a version that I think will work for me.

![Filament samples hanging on air-tight containers](https://dpb587.me/entries/20260824-3d-printing-filament-labels/media/applied-labels.jpg)

Filament samples hanging on air-tight containers

Filament Sample 3D Model

Print Timelapse - Filament Sample

Source Code

The OpenSCAD model I used...

[FilamentSample.scad](https://github.com/dpb587/dpb587.me/blob/main/appendix/2026-08-24-3d-printing-filament-labels/FilamentSample.scad)

```
$fn = $preview ? 32 : 512;

module rounded_cube(size, radius, height) {
  hull() {
    translate([radius, radius, 0]) {
      cylinder(h = height, r = radius);
    }

    translate([size[0] - radius, radius, 0]) {
      cylinder(h = height, r = radius);
    }

    translate([radius, size[1] - radius, 0]) {
      cylinder(h = height, r = radius);
    }

    translate([size[0] - radius, size[1] - radius, 0]) {
      cylinder(h = height, r = radius);
    }
  }
}

module rounded_cylinder(w, r, h) {
  hull() {
    translate([r, r, 0]) {
      cylinder(h = h, r = r);
    }

    translate([w - r, r, 0]) {
      cylinder(h = h, r = r);
    }
  }
}

difference() {
  rounded_cube([64, 64], 5, 2);

  // label
  translate([4, 4, 1.8]) {
    rounded_cube([56, 27], 2.5, 0.2);
  }

  // notch
  translate([17, 57, 0]) {
    rounded_cylinder(30, 2.5, 3);
  }

  translate([16.6, 56.6, 0]) {
    rounded_cylinder(30.8, 2.9, 0.2);
  }

  translate([16.8, 56.8, 0]) {
    rounded_cylinder(30.4, 2.7, 0.4);
  }

  translate([16.6, 56.6, 1.8]) {
    rounded_cylinder(30.8, 2.9, 0.2);
  }

  translate([16.8, 56.8, 1.6]) {
    rounded_cylinder(30.4, 2.7, 0.4);
  }
    
  // swatch
  translate([7, 38, 0.2]) cube([10, 6, 1.8]); 
  translate([12, 44, 0.4]) cube([10, 6, 1.6]);
  translate([17, 38, 0.6]) cube([10, 6, 1.4]);
  translate([22, 44, 0.8]) cube([10, 6, 1.2]);
  translate([27, 38, 1.0]) cube([10, 6, 1.0]);
  translate([32, 44, 1.2]) cube([10, 6, 0.8]);
  translate([37, 38, 1.4]) cube([10, 6, 0.6]);
  translate([42, 44, 1.6]) cube([10, 6, 0.4]);
  translate([47, 38, 1.8]) cube([10, 6, 0.2]);
}

```

The basic HTML template I used...

[Label-30336.html](https://github.com/dpb587/dpb587.me/blob/main/appendix/2026-08-24-3d-printing-filament-labels/Label-30336.html)

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Label 25-60-8.pdf</title>
        <style>
            @page {
                size: 58mm 25mm;
                margin: 0; 
            }
        </style>
        <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
    </head>
    <body class="m-0">
        <div class="w-[58mm] h-[25mm] py-[1mm] px-[2mm]">
            <div class="px-[2mm] h-full w-full flex justify-between">
                <div class="pb-1 pt-0.5 flex min-w-0 flex-col justify-between h-full leading-none">
                    <div>
                        <div class="line-clamp-2 text-[13pt]">Denim</div>
                    </div>
                    <div class="space-y-0.5 text-[10pt]">
                        <div class="text-[10pt] truncate">Inland</div>
                        <div class="truncate"><span class="font-bold">PLA</span> Matte</div>
                    </div>
                </div>
                <div class="flex-none font-bold font-mono text-[7pt] text-right pl-1">
                    <img class="mr-0 ml-auto size-[14mm] mb-[3px]" alt="QR" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=https%3A%2F%2Fexample.com%2F">
                    <div class="flex justify-end items-center space-x-[2pt]">
                        <span>190<span class="font-extralight">-</span>230</span>
                        <img class="w-[3mm] h-auto" alt="monitor_bed_temp.svg" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNzQ1MzkgMkM0Ljc0NTM5IDIuODA1NjggMy4xMTcxOSAyLjgwNTY4IDMuMTE3MTkgMy42MDk3NkMzLjExNzE5IDQuNDE1NDQgNC43NDUzOSA0LjQxNTQ0IDQuNzQ1MzkgNS4yMjExMUM0Ljc0NTM5IDYuMDI2NzkgMy4xMTcxOSA2LjAyNjc5IDMuMTE3MTkgNi44MzI0N0MzLjExNzE5IDcuNjM4MTUgNC43NDUzOSA3LjYzODE1IDQuNzQ1MzkgOC40NDM4MkM0Ljc0NTM5IDkuMjQ5NSAzLjExNzE5IDkuMjQ5NSAzLjExNzE5IDEwLjA1NTIiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTkuMTIwMzkgMkM5LjEyMDM5IDIuODA1NjggNy40OTIxOSAyLjgwNTY4IDcuNDkyMTkgMy42MDk3NkM3LjQ5MjE5IDQuNDE1NDQgOS4xMjAzOSA0LjQxNTQ0IDkuMTIwMzkgNS4yMjExMUM5LjEyMDM5IDYuMDI2NzkgNy40OTIxOSA2LjAyNjc5IDcuNDkyMTkgNi44MzI0N0M3LjQ5MjE5IDcuNjM4MTUgOS4xMjAzOSA3LjYzODE1IDkuMTIwMzkgOC40NDM4MkM5LjEyMDM5IDkuMjQ5NSA3LjQ5MjE5IDkuMjQ5NSA3LjQ5MjE5IDEwLjA1NTIiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTEzLjQ5NjkgMkMxMy40OTY5IDIuODA1NjggMTEuODY4NyAyLjgwNTY4IDExLjg2ODcgMy42MDk3NkMxMS44Njg3IDQuNDE1NDQgMTMuNDk2OSA0LjQxNTQ0IDEzLjQ5NjkgNS4yMjExMUMxMy40OTY5IDYuMDI2NzkgMTEuODY4NyA2LjAyNjc5IDExLjg2ODcgNi44MzI0N0MxMS44Njg3IDcuNjM4MTUgMTMuNDk2OSA3LjYzODE1IDEzLjQ5NjkgOC40NDM4MkMxMy40OTY5IDkuMjQ5NSAxMS44Njg3IDkuMjQ5NSAxMS44Njg3IDEwLjA1NTIiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHJlY3QgeD0iMi41IiB5PSIxMi4xMDU1IiB3aWR0aD0iMTEuODYyNyIgaGVpZ2h0PSIxLjg4MTYiIHJ4PSIwLjk0MDgiIHN0cm9rZT0iIzAwMDAwMCIvPgo8L3N2Zz4K">
                    </div>
                    <div class="flex justify-end items-center space-x-[2pt]">
                        <span>25<span class="font-extralight">-</span>60</span>
                        <img class="-mt-px w-[3mm] h-auto" alt="monitor_nozzle_temp.svg" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjQ3NTkgNy4wNjgyMkgxMy43NTYyTDguNzQyNjMgMTEuMjI2OEM4LjUxNCAxMS40MTYgOC4xMDQzMSAxMS40MTYgNy44NzU1NCAxMS4yMjdDNy44NzU0NSAxMS4yMjY5IDcuODc1MzYgMTEuMjI2OCA3Ljg3NTI4IDExLjIyNjhMMi44NjE2NyA3LjA2ODIySDQuMTQyQzQuNTQ4NzcgNy4wNjgyMiA0LjkzNjEzIDYuOTQzMzggNS4yMzI2NyA2LjcxOTc0QzUuNTI4OTMgNi40OTYzMyA1Ljc2MDA0IDYuMTQ5NjcgNS43NjAwNCA1LjcyNTA2VjEuODQzMTZDNS43NjAwNCAxLjgwNDAzIDUuNzgwNDkgMS43MjkxMSA1Ljg4OTUzIDEuNjQ2ODhDNS45OTgyNyAxLjU2NDg4IDYuMTY5OTMgMS41IDYuMzc4MDkgMS41SDEwLjIzOThDMTAuNDQ4IDEuNSAxMC42MTk2IDEuNTY0ODggMTAuNzI4NCAxLjY0Njg4QzEwLjgzNzQgMS43MjkxMSAxMC44NTc5IDEuODA0MDMgMTAuODU3OSAxLjg0MzE2VjUuNzI1MDZDMTAuODU3OSA2LjE0OTY3IDExLjA4OSA2LjQ5NjMzIDExLjM4NTIgNi43MTk3NEMxMS42ODE4IDYuOTQzMzggMTIuMDY5MSA3LjA2ODIyIDEyLjQ3NTkgNy4wNjgyMlpNMi4zNjk3OSA3LjA5NDUyQzIuMzY3NzMgNy4wOTU1NSAyLjM2NjU4IDcuMDk2IDIuMzY2NTIgNy4wOTU5N0MyLjM2NjQ1IDcuMDk1OTQgMi4zNjc0OCA3LjA5NTQyIDIuMzY5NzkgNy4wOTQ1MlpNMTQuMjQ3NSA3LjA5NDU2QzE0LjI0OTggNy4wOTU0NSAxNC4yNTA4IDcuMDk1OTYgMTQuMjUwNyA3LjA5NkMxNC4yNTA3IDcuMDk2MDMgMTQuMjQ5NSA3LjA5NTU4IDE0LjI0NzUgNy4wOTQ1NloiIHN0cm9rZT0iIzAwMDAwMCIvPgo8cGF0aCBkPSJNMy44MDM4OSAxMC42NjhDMy41ODY5OSAxMC43NzQyIDMuNDI4MjIgMTAuOTAwNyAzLjQyODIyIDExLjA4OTVDMy40MjgyMiAxMS42NzMgNC45NTk5NCAxMS42NzMgNC45NTk5NCAxMi4yNTQ4QzQuOTU5OTQgMTIuODM4MyAzLjQyODIyIDEyLjgzODMgMy40MjgyMiAxMy40MkMzLjQyODIyIDE0LjAwMzUgNC45NTk5NCAxNC4wMDM1IDQuOTU5OTQgMTQuNTg3QzQuOTU5OTQgMTUuMTcwNCAzLjQyODIyIDE1LjE3MDQgMy40MjgyMiAxNS43NTM5IiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjxwYXRoIGQ9Ik04LjYzNDY3IDE0LjEzNDhDOC44ODI4OCAxNC4yNDc3IDkuMDc1MTggMTQuMzgxIDkuMDc1MTggMTQuNTg2N0M5LjA3NTE4IDE1LjE3MDIgNy41NDM0NiAxNS4xNzAyIDcuNTQzNDYgMTUuNzUzNiIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTEuODkzIDExLjQzMTZDMTIuMzIyMyAxMS43MDY1IDEzLjE4OTkgMTEuODE2MSAxMy4xODk5IDEyLjI1NDZDMTMuMTg5OSAxMi44MzggMTEuNjU4MiAxMi44MzggMTEuNjU4MiAxMy40MTk4QzExLjY1ODIgMTQuMDAzMyAxMy4xODk5IDE0LjAwMzMgMTMuMTg5OSAxNC41ODY3QzEzLjE4OTkgMTUuMTcwMiAxMS42NTgyIDE1LjE3MDIgMTEuNjU4MiAxNS43NTM3IiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=">
                    </div>
                </div>
            </div>
        </div>
    </body>
</html>
```

## AMS 2 Pro Filament Tag Holder Print

I printed a tag holder for the AMS, reusing one of the public models which my swatches happen to fit. I used mostly the default settings based on the strong suggestion in the MakerWorld description, but it printed extremely slowly. I assume it was overly-configured for what seems like a simple print; next time I would look more closely.

[Clip-On Filament Tag Holder for AMS & AMS 2 Pro - Free 3D Print Model - MakerWorld](https://makerworld.com/en/models/3072960-clip-on-filament-tag-holder-for-ams-ams-2-pro#profileId-3514778)

[makerworld.com](https://makerworld.com/en/models/3072960-clip-on-filament-tag-holder-for-ams-ams-2-pro#profileId-3514778)

[Download this free 3D print file designed by MMSK2. Clip-On Filament Tag Holder for AMS & AMS 2 ProIf you like to keep your Filament Tags with the spools loaded in your AMS, simply hang the matching tags on the Filament Tag Holder whenever you load or swap a spool. ⚠️ Please read the print profile descriptions carefully before printing.This Clip-On Filament Tag Holder consists of two separately printed parts, and a snug fit between them is essential for the holder to work properly. You need to print both the Filament Tag Holder and the Retainer Clip. Different printers, materials, and print settings can affect the tolerances between these parts. Alternative retainer clip clearances are provided if needed. Compatible with Filament Tags for Dry Boxes: https://makerworld.com/nl/models/3002234-filament-tags-for-dry-boxes#profileId-3370859Key DetailsCompatible with both the Bambu Lab AMS and AMS 2 ProSecure snap-on fit with a separate retainer clipNo screws, magnets, glue, or other hardware requiredClean, minimalist design that blends in with the printer and AMSDoesn't block the display on AMS silica gel holder systems with a center-mounted hygrometerPrinting⚠️ Two Print Profiles – You Need Both!This model requires two separate print profiles:V2 - Filament Tag HolderV2 – Retainer Clip – standard 0.10 mm clearanceYou need to print BOTH profiles to install and use the Clip-On Filament Tag Holder. The holder is not designed to be used without the Retainer Clip.Fit & ClearanceThe Filament Tag Holder and Retainer Clip should fit snugly and securely together. This fit is important for keeping the holder securely attached to your AMS. Small differences between printers, filament types, and print settings can affect the tolerances between the two parts. I recommend starting with the 0.10 mm clearance Retainer Clip, included in the second print profile: V2 – Retainer Clip. If the clip is too loose, use the additional Alternative Retainer Clips print profile to find the clearance that works best for your setup. Each test clip takes only a few minutes to print and uses just a few grams of filament, making it easy to compare them and keep the one that fits best. If a Retainer Clip is too tight, try holding it in warm (not boiling) water for a few seconds to soften it slightly. Then press it into the Filament Tag Holder on a flat, smooth surface. Let it cool for a few moments before installing the holder on your AMS. The Clip-On Filament Tag Holder has been extensively tested with Bambu Lab PLA Basic on my P2S Combo. For the best results, I recommend using the included print profiles without changing the settings. Explore the Filament Tag CollectionThis model is part of the growing Filament Tag Collection: a series of compatible tags and accessories designed to keep your filament collection organized. Want to stay up to date? Follow the collection to be notified whenever new accessories and print profiles are released. https://makerworld.com/nl/collections/31429718-filament-tag-collection Available NowFilament Tags for Dry Boxeshttps://makerworld.com/nl/models/3002234-filament-tags-for-dry-boxes#profileId-3370859 FIlament Tag Holder for AMS & AMS 2 Prohttps://makerworld.com/nl/models/3211195-filament-tag-holder-for-ams-ams-2-pro#profileId-3634893 Clip-On Filament Tag Holder for AMS & AMS 2 Prohttps://makerworld.com/nl/models/3072960-filament-tag-holder-for-ams-ams-2-pro#profileId-3459611 FIlament Tag Holder for AMS HT https://makerworld.com/nl/models/3163270-filament-tag-holder-for-ams-ht#profileId-3575239 Universal Mount for Filament Tagshttps://makerworld.com/nl/models/3240935-universal-mount-for-filament-tags#profileId-3672021 Filament Tag Gridfinity Storage Trayhttps://makerworld.com/nl/models/3087041-filament-tag-gridfinity-storage-tray#profileId-3477638 Magnetic Filament Tag Holdershttps://makerworld.com/nl/models/3102881-magnetic-filament-tag-holders#profileId-3497685 Filament Tag Holder for SKÅDIS Pegboardhttps://makerworld.com/nl/models/3078831-filament-tag-holder-for-skadis-pegboard#profileId-3467169 Missing Something?Looking for a different filament brand, material, color collection, or mounting option? Just leave a comment! Boost MeA Boost, Like or Review is always greatly appreciated. And if you print it, I'd absolutely love to see a photo of your setup in the comments! ](https://makerworld.com/en/models/3072960-clip-on-filament-tag-holder-for-ams-ams-2-pro#profileId-3514778)

Print Timelapse - AMS 2 Pro Filament Sample Holder

## Albuquerque Topology Print

I tried a topology print of my area - the Sandia Mountains and Rio Grande valley - that was listed publicly. It seemed like someone's experiment since it had some excess ground layers, so I tried some more of the BambuStudio tools to trim it. I also tried scaling the Z axis for slightly more exaggeration of the elevations.

[Albuquerque and Sandia Mountain - Free 3D Print Model - MakerWorld](https://makerworld.com/en/models/1188696-albuquerque-and-sandia-mountain#profileId-1200103)

[makerworld.com](https://makerworld.com/en/models/1188696-albuquerque-and-sandia-mountain#profileId-1200103)

[Download this free 3D print file designed by cheeks. This model was created with elevation data of Albuquerque, NM USA and Sandia Mountain. Albuquerque rests on the Rio Grande rift valley. On the eastern edge of the rift, the Sandia Mountains were lifted up and tilted. In the model you can see the gentle slope on the east side and the dramatic cliffs on the west side which form the view for people in the city. At sunset the west facing cliffs glow a deep purple, which is how they got their name (sandia is spanish for watermelon). The print profile has a relatively high infill (25%) which I did to cause slightly faster color change with rainbow filament. It prints fine with less infill so adjust to taste.](https://makerworld.com/en/models/1188696-albuquerque-and-sandia-mountain#profileId-1200103)

Print Timelapse - Albuquerque Topology

## ABS Galaxy Black

I ran a drying cycle for the ABS Galaxy Black (70º for 6hr). After it was complete, I was going to print a swatch sample, but got a warning that ABS apparently should not be used with the external extruder? Tried to move it inside the AMS 2 Pro, but the spool was slightly too large and couldn't rotate properly. Still need to figure out how it should normally be handled.

## Related

[3D Printing Journal](https://dpb587.me/topics/3d-printing/journal/)

[**3D Printing, Week 2**](https://dpb587.me/entries/20260822-3d-printing-week-2/)

[Previous · 2026-08-22](https://dpb587.me/entries/20260822-3d-printing-week-2/)

[Dessicant spools; Paris](https://dpb587.me/entries/20260822-3d-printing-week-2/)

Copyright © 2026 // [dpb587.me](https://dpb587.me/) is a [personal](https://dpb587.me/projects/website), [open source](https://github.com/dpb587/dpb587.me/blob/main/content/post/2026/20260824-3d-printing-filament-labels/_index.md) site.
