MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Customizable Filament Swatch (Filament test)

by makkuro Jan 10, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

So.. The Customized STLs are'nt working with Cura and there are some Design flaws in it. First if i try to print it at 0.2 layer heigh, the first layer is completly missing and most of the test stuff will remain on the Build Plate. On the other Hand if i try to print it with 0.1 Layer Height i got the first layer but the last one somehow gets an odd shape. Also i think the Text on the Steps should be designed as Perimeters instead of top Layers there is also the last piece of the wall thickness test that is printed without perimeters and just as a top layer. Same with the complete length of the overhang test.

Edit: Sorted that one with the Font out.. Using "Owald" instead of "Pathway Gothic One" fixed it for me, and he now wants to print it as Perimeters. But still.. The Swatch has the complety wrong height for the 0.2 layer. You put a 0.1mm wall there which is why he can't slice it using 0.2mm layer height.

Edit 2: Okay.. It's the fault of the damn Customizer.. Just tried to change the Numbers on the Steps to the correct ones which is always -0.1 less than the printed one.. And what is that damn thing doing? Of course changing the whole thickness... Anyway.. The Swatches are completly useless like this, because you will always see numbers which are'nt the real values. And this is really a no go for me. Because if i want to see how much light goes through a 0.2 Layer or 1mm layer and he printed with a totaly different height i can't do anything with it.

Ok, thats weird. So the main bug is that an .2 mm step size is not really .2mm in Cura.
I cannot reproduce this problem in simplify3D or in Slic3r or in Slic3r PE.

I uploaded a new version of the swatch, where you have an additional setting:

//USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING: In case your steps are not in the right heigt, add here some little bit of thickness to your step height. This might help e.g. if you use cura to slice. Its not needed for Simplify3D or Slic3r.

Set this to e.g. 0.1 mm and let me know if the cura slicer works correctly then.

Good. The first layer issue on the Steps is now solved, and Cura can slice it with a correction of 0.3. But i still have the Issue with the last Layer that still is'nt sliced probably and still looks the same as in Screenshot 2.

Edit: He prints the complete last Layer if i go to a thickness in the Customizer of 2.5mm but the test pattern are'nt sliced correctly and miss the connection to the swatch itself. Oh and btw.. The P L A Text on the side is just printed with the Test Pattern enabled.. If you are already trying to solve the slicing problems with Cura.. Could you please also inplant it, that this Text is always printed?

Hm, seems that the slicer Cura has issues with thin layers. On older versions it was a "fix horrible" setting which messed with the geometry, in newer versions its e.g. an "Union Overlapping Volumes" setting which does strange things. You could try to deactivate those options. Also if all fails, check out e.g. Slic3r.

An adder of .3 is excessive, it would mean cura only accepts layers of .2+.3mm = .5mm. There must be a setting you can tweak. Unfortunately, I never used Cura, so you would have to check that yourself.

Fixed: The text on top is always included now, that was indeed a bug. Thanks!

Again, please tell me:

  • Which test patterns are not connected? All?

Found it. After a few hours of enabled, changing and disabling a few settings back and forth i finally found the reason! It was the Slicing Tolerance Option in Cura that needed to be changed, and now he even prints the first layer correctly without your thickness correction. And everything looks like it should when sliced.

But still.. I don't even know what the setting is actually doing and why he can't slice it on a few of the selections.

Super! Then I will remove the extra option again. It will just confuse others.

Could you give a quick hint what the "Slicing Tolerance Option" should be set to? Then Ill take that up in the description as a hint.

Of course, it got 3 selectable settings, and the "middle" one worked for me. But i also got good results on "inclusive" when the thickness of the swatch was still a bit larger. So.. It's that Option but the users have to try it for themself

Ok, cool, thanks, Ill add that to the description.

Not a mention of or thanks to the person that created this. Nice.


Swatch Toolkit (+Customizer)
by Jaxel

Hi, i am a big fan of giving credit. Of course i credited Jaxel and I am in contact with him. I also credited all the previous swatches via the very long "remix from" list, including the one from venegade which precedes the one from Jaxel. You can see the explicit credit to both of them in the "Thing details" text. I also added a "thank you" note in the comment section of the respective designs from Jaxel and vengade. I assume you might have overlooked all these three credits given.

See from the "thing details" section:
"As they are, the swatches fit into the configurable box from Jaxel. You can see the box in the 2nd picture. The box shown is also added here as .STL."
"Insipration came from different swatch cards here on thingiverse, all attached in the "remix", and they seem to all go back to the design from venegade."
Venegades design is of June 2018 (its earlier). Jaxels design is of January 2019, where text is done by a label printer and he added the nice box.

Still, I will change the quoted texts above to add an explicit "thank you" note, thats better.

Swatch Toolkit (+Customizer)
by Jaxel
Filament Swatch Card with Label

This is a really good swatch design. However, there are a few issues with your OpenSCAD code:

1) There is an extraneous comma at the start of the "texttop predefined" selections which prevents the drop-down selection from being active when running OpenSCAD locally.

2) You have two fonts in your list that have the style specified. They need to be in quotes for this to work properly both in the customizer and locally run OpenSCAD. So [Oswald:style=Bold,PT Sans Narrow:style=Bold] should be ["Oswald:style=Bold","PT Sans Narrow:style=Bold"]

3) I had to disable the text for the thickness steps because I reduced the swatch width to 52 mm and set the thickness steps to match my layers of 0.2 for the first layer and 0.12 for all other layers: [-0.6, 0.2, 0.32, 0.44, 0.56, 0.68, 0.8]. There isn't enough room for all that text and scaling the text down to fit makes the text too small to be sliced and printed. Having a parameter to enable/disable the text might be a good idea. I know your instructions say to print this at 0.2 mm, but there's no point in printing a swatch unless it matches the settings that I normally print with. Note that 52 mm is plenty wide enough for all the information and all test circles if the first text string has the color and the third text string has the brand and type of filament.

4) I wanted to set the swatch height to 25 mm, but the bridge was floating in the air instead of being attached to the swatch. The minimum swatch height is 26 mm if you want the bridge.

5) What you are calling "side idents" should be "side indents".

I'd also recommend you put some constraint limits on your numerical parameters so that people can't specify ridiculous values. Doing that also provides a user-friendly slider to set the value. See https://customizer.makerbot.com/docs if you don't know how to do that.

Also, the customizer says "If you run OpenSCAD on your own PC, use Aldo as font." My PC doesn't even have that font and I don't think many would. Why are you recommending to use it?

Thanks for the review! I integrated your findings and mentioned you on in the description.
3) The .2 mm layer height are just a recommendation if you want to compare to the other swatches users post her as a "make". For the steps-fontsize entry box i had given the hint that the text can be disabled by setting it to 0. I now made that a separate option with a drop-down box as it was easy to overlook before.
4) Swatch height should be >=26mm, correct. I added that as a hint as well. You can make the swatch height smaller by reducing the wall thickness and roundness, so i didnt restrict this setting by a fixed slider.

Thanks for creating this! I've never had any interest in making swatches, but with all the features of yours, I'll now be printing one for every spool of filament I have.

As awesome as your swatches are, I really like to minimize the material and print times for things that I will be printing repeatedly, such as your swatches. So I hacked your code with that goal in mind (and made a couple other changes too). With the changes I made I was able to reduce the height to 23 mm without changing the wall thickness or roundness. By decreasing the swatch size from your default of 79.5x30x2.2 to my preferred size of 50x23x2.2, the material needed and the print time are both decreased 43%, with the material required going from 1.51 m to 0.86 m.

I also nudged the top text up so that it isn't present in the bottom layer and increased the wall width between the steps area and the overhangs area from 0.61 mm to 0.81 mm so that it's two full nozzle widths wide.

Below is the diff of the code. Feel free to incorporate any of those changes or ignore them as you wish. You probably don't want to incorporate my changes directly as they are quick hacks and are untested for any parameter settings other than the ones I'm using.

$ diff -w Configurable_Filament_Swatch_VS.scad Configurable_Filament_Swatch_VS-hacked.scad
< linesep=1.4;
> linesep=1.15;
<         translate([x-wall,y-fontdepth,z-.2]) 
>         translate([x-wall,y-fontdepth,z-.1]) 
<             translate([ wall*stepareadistance,wall*stepareadistance,(steps_thickness[i]<0?-.1:steps_thickness[i]) ])
>             translate([ wall*stepareadistance,wall*stepareadistance+0.2,(steps_thickness[i]<0?-.1:steps_thickness[i]) ])
<                 rounded_square(steparea_w,steparea_h,th*2,round-wall);
>                 rounded_square(steparea_w,steparea_h+2,th*2,round-wall);
<                 translate([ -one_steparea_w+gap,wall*stepareadistance,th-(-steps_thickness[i])-textheight_bridge ])
<                     cube([one_steparea_w-gap, steparea_h, -steps_thickness[i]]);
>                 translate([ -one_steparea_w+gap,wall*stepareadistance-2,th-(-steps_thickness[i])-textheight_bridge ])
>                     cube([one_steparea_w-gap, steparea_h+4.5, -steps_thickness[i]]);

I will have a look!

Is there a way to disable 0. padding for the layer heights? e.g. just have .2, .4 instead of 0.2, 0.4. I've been poking around the SCAD code trying to puzzle it out with no luck

Thanks for the idea! I integrated the removal of the leading zeroes. Its a configurable option now. By default its off as others might have printed swatches already and might want the same design.
I also put you into the description :)

I've been printing swatches out for all my filaments. Once I have all the filament I have documented with these swatches I'll be submitting a "Post a Make" page here.

My last step in creating a customized profile in Slic3rPE for each filament type after tuning linear advance, extrusion multiplier, and a temperature tower to choose the best print temperature for my hot-end, I print one of these swatches out with two pieces of the "Lucky Extrusion Gauge" by Kwaad2. The swatch goes into the box I printed in Natural PLA (so I can see the colors through the box), and the two gauge pieces are put together and taped to the outside of the box. Eventually I'm going to print out a storage box out of a transparent red to hold the swatches from spools that I've run out of. For each new color of a filament type I simply print out a swatch and a pair of gauge pieces.

But I'm close to running into a small issue. I'm about to start tuning a profile for ColorFabb nGEN, but I don't see an edge text appropriate. I don't have OpenSCAD installed so I do all my customizations in the Thingiverse Customizer, here. Can you add to the drop-down list more items for the ColorFabb special co-polymers (or even just a "C o P O L Y" item)? Thanx. I'm not sure of the flexibility of the customizer, but maybe instead a way of allowing a user to enter text or use the drop-down of the more common filament types. (Leaving the drop down can also be used as a style guide when making one's own text). I'm thinking the flexibility option would keep people like me from bugging you to add to the list for some of the more exotic types.

Excellent workflow and process! I like the "Lucky extrusion gauge" as well.

For the side-text:
I put additionally these entries: "PA", "HT", "PHA","AM1800","AM3300","NGEN_FLEX","PUR","FL6000",
Armadillo and Ninjaflex are TPU variants.
Cheetah is Polyurethane, so PUR.
AM1800 is XT
AM3300 is nGen.

If something is missing, let me know.
But you can also just use the configurable field as well which will override the drop-down selection box.
And i put you in the text-description of my entry :)

Nice thank you for doing this so quickly.

I'm not sure if I'm going to use the AM3300 or the AM1800 as I doubt I will remember what those are (and those numbers aren't readily available on the packaging). I tried several variations, printing them out 8n the only nGEN that I currently have (red transparent) and linked are the results. (I used TinkerCAD to trim the full swatches down to just the corners to save on filament and print time.) I printed these out with a layer height of 0.1mm, and I think I'll be using the "n G E N" for my swatches.

I've been printing all my swatches at 0.1mm layer height, otherwise the side text is hard to read with my old eyes. ;-)

Photo link: https://photos.app.goo.gl/zEiWoF6ZPQEvxr3p7

Wow, nice! Ill add nGEN as well.


Great design and very helpful with sharing the OpenSCAD source. I've briefly looked and can't see an easy way to rotate the text on the steps 90 degrees anti clockwise, to allow more space. Is this something you could do, or advise what to replace in the source?

The main reason for the request is that with a 0.4 nozzle, smaller font doesn't all get printed and larger fonts go off the end of the steps.

I'm planning to learn how to use the tool/write my own things but haven't had the time yet.

Ok, i added another option to rotate the text.
to rotate all numbers.

Brilliant thank you, i'll give this a go.


Awesome Design - Very handy indeed. I open the file in OpenSCAD (2015.03-2) and the Advanced shapes (Circles) are not rendering. Any idea why?

Can you try to install an OpenSCAD development snapshot? These are way better, faster, etc, and some things are not even possible with the old version.

If you have any issues then, let me know!

Thanks a lot for the thing! Every filament gets a Marvin and y swatch now :)

I printed the box yesterday and wanted to go on now with the swatches. But I encountered the attached error with OpenSCAD. Can you have a look at it? It's something with the dot at r_corner.

What software did you use? Which Version?

If one slices at 0.2mm layer thickness, isn't the 1.5mm thick section inaccurate? Shouldn't it be either 1.4 or 1.6?

100% agreed. I changed it to 1.6 in version L
Nice catch!

Hey. This looks great. I just found this.

Curious though what settings you're printing this at.

.15 and 100 percent infill or something else?


I printed at .2mm and 20% infill.

Can you please add this information to the description?

Good idea - done.

Can you please say how many perimeter and solid layers you use? So we can use constant parameters.

Layer height .2mm
2 Perimeter2
5 Solid layers
20% infill (fill pattern grid, fill angle 45 degree)

and i put it into the description

Perfect! Thank you :-)

Thanks for the idea

¡Bienvenido! Si imprime algo, por favor toma una foto. Utilice el botón "Post a make".

What size nozzle did you use? The raised text isn't slicing well for me with a 0.4 nozzle.

I have a Prusa i3 MK3 with a 0.4 nozzle.
I use Slic3r, but the Prusa edition.
You might try to switch on the "thin walls" option in your slicer?

With thin wall enabled (Slic3r PE), still some part of text are missing. With thin wall disabled, the previously missing part became visibile, but we miss other parts :)

nice thing!
Which font is that in your main picture? i like it

It's the "Aldo" Font. You can install it on your system and then use OpenSCAD to generate the .STL