projekte:2024:cat-ear-mate-tag:en

Cat Ear Mate Tag (OpenSCAD)

On this years GPN, which was my first big chaos/hacker event of all time, i saw a lot of Club-Mate bottles with the widespread Mate Tags and asked myself why i don't have one myself. As I got back into the space, it wasn't enough for me to put some values into a template. Coming up with the idea of decorating my Mate Tag with cat ears forced me to deal with the OpenSCAD language i didn't know a lot about at that point.

So anyways, after i posted the pictures of my brand-new innovation on the Fediverse after a sleepless night, i got a lot of reception and requests for a template and ever since almost half a year has passed.

But after endless procrastination and many adjustments the template is finally finished.

Update 2025-01-07: In outlook on the next Chaos Communication Congress, emilia and me have decided to print Mate Tags in trans and non-binary pride colors. Additionally we could paint the texts and logos of the tags, thanks to the AMS (Automatic Material System) that was available to us in the hacKNology Hackerspace. If we tried to print more different flags, we would've needed way more filaments and even multiple AMS, so we limited ourselves to those two.

Besides the tags we printed for anyone that requested one for 38C3 in advance, we actually got the opportunity to print these at the venue for all creatures that just learned about them there as well because the Bambu Lab P1S printer with AMS was transported all the way from Constance to Hamburg. (Thank you, Wolfgang! <3) I was just present on day 0 and 1 myself, but learned about the impact we made there with the tags.

So, with this, it's time to expand the documentation.

After you've installed OpenSCAD and downloaded the template you can open the cat_ear_mate_tag.scad file in the program.

As soon as you open the template in OpenSCAD, the functionality is pretty easy to understand. You can edit the many parameters I've built into this template in the Customizer panel. Many of them have a slider so you won't break the template with your values. The parameters and their effects are also explained there.

In the template, OCR-A is specified as a font. If it's not installed, OpenSCAD will use another default font.

The opening screen of OpenSCAD. The file picker in OpenSCAD. The folder with the project directory is shown. OpenSCAD: Customizer-Panel. Various parameters are defined by text fields and sliders here.

  • General:
    • $fn: Chnanges the polygons of the tag.
    • name: The name written on the tag.
    • font: The font for the name.
    • logo: The path of the used logo. Can be left empty
    • ears: Checkbox option for the Ears
  • Tag:
    • bottle neck radius: Radius of the bottle neck, is the same for most glass bottles, in mm.
    • bottle angle: Changes the shape of the tag to adjust to different bottles, in degrees.
    • tag height: The height of the tag, may be reduced with no logo to save filament, in mm.
    • tag thickness: The thickness of the tag, it shouldn't break but still be flexible, in mm.
    • gap angle: The size of the gap to clip your bottle through. in degrees.
    • relief: Text and Logo can either be extruded with a positive value or incised with a negative value, each in mm.
  • Text/Name:
    • text size: Font size for the name, in mm.
    • text space: Extra or with negative values less space between the letters, in mm.
    • text vertical move: Moves the text up, or down with negative values, in mm.
    • text horizontal move: Moves the text to the right, or left with negative values, in mm.
  • Logo:
    • logo size: Size of the chosen logo, in mm.
    • logo vertical move: Move your logo up, or down with negative values, in mm.
    • logo horizontal move: Move your text to the right, or to the left with negative values, in mm.
    • logo spin: Spin the logo around itself, clockwise, in degrees.
  • Ears:
    • ear size: Size of the ears, in mm, other values make it appear smaller.
    • ear thickness: Thickness of the ears, they don't have to be flexible, in mm.
    • ear move down: Move the ears down into the tag, 0 → on top of the clipping piece, in mm.
    • ear angle: The position of the ears, relative to the front, in degrees.
    • ear rounding: Rounding the upper edge of the ears, radius, in mm.
    • ear stretch: How far the ears should stretch, orientated at the bottom radius, in mm.

To use your own logo, you need to have it in a 50x50mm SVG or DXF File, since this is the only way the program can read it. The dimensions are important, because with them the logo is scaled onto the tag correctly.

You can scale the SVG File on 50x50mm by yourself in Inkscape for example. It is done by creating a new document and set 50mm each for height and width in the Document Properties… (Ctrl + Shift + D). After you've imported (Ctrl + I) the logo, you set it's height and width in Transform (Ctrl + Shift + M) under Scale to 50mm as well. If the logo isn't a square, check Scale proportionally and only set the higher value to 50mm. Eventually, you can center the logo on the horizontal and vertical axis in Align and Distribute (Ctrl + Shift + A).

Inkscape, Dokument Properties: Height and width are set to 50mm Inkscape, Transform: Height and width of the logo are set to 50mm Inkscape, Align and Distribute: Buttons for horizontal and vertical centering are highlighted.

After exporting (Ctrl + Shift + E) your logo to the project path, preferably to a subfolder, you can put the file path into the logo-Parameter in OpenSCAD.

Inkscape, Export: Logo is exported as "mylogo.svg" to the logos subfolder in the project directory.

Apart from this it, as long as you're familiar with vector graphics, it can also make sense to further edit the logo if it has too many details that are too small for the printer, like small texts for instance. Like with the vspace.one logo where I removed the texts completely, altered the rocket and made the border thicker, so that printing errors can be avoided.

Inkscape, Comparison between normal and edited vspace.one logo like described.

Generally, any installed font can be used for your name on the tag.

To see which fonts can be used, you can find the Font List Window under Help at the top. The font styles for the respective fonts are listed there as well. To use a specific font style it has to be declared additionally in the font parameter. If you, for instance, would like to use the FreeSans Font in the Bold style, you would have to state FreeSans:style=Bold.

OpenSCAD, Fontlist Window: Here the detected fonts and their styles are listed.

The cat_ear_mate_tag.json File declares some extra templates for different tags for different bottles. Those are read by OpenSCAD automatically if it's in the same directory and can be chosen in a drop down menu, as well as further adapted in the Customizer panel. So far, there are templates for 3 bottle shapes, each with a version without ears and logo.

OpenSCAD, Slim Mate Tag with my name, ears and vspace.one logo. OpenSCAD, Wide Mate Tag with my name, ears and vspace.one logo. OpenSCAD, Regular Mate Tag, just with my name in a bigger text size.

When you're done in OpenSCAD, you can render (F6) the tag and export it as an STL (F7). With that the tag is ready to be sliced and printed.

For the most, printing their tag with one filament will suffice. The advantage is that a tag like this can be printed in half an hour by a Bambu Lab P1S Printer. If there's an AMS, a design where the filament changes are merely along the layers will not take much longer, while it also can be printed without an AMS if you put pauses at the intended layers, but this might get annoying. As soon as you decide to make the text and logo have their own filament to have a better visibility for them, the printing time will skyrocket to 3.5 hours and an AMS becomes a necessity.

A screenshot of a printing preview of an entirely purple Mate Tag in OrcaSlicer. The printing time is 30 minutes and 12 seconds. A screenshot of a printing preview of a mate tag in trans colors in OrcaSlicer. The printing time is 38 minutes and 48 seconds. 5 filament switches are necessary. A screenshot of a printing preview of a mate tag in non binary colors, a black logo and white text. The printing time is 3 hours and 42 minutes. 118 filament switches are necessary.

It's unthinkable to print a tag like this without AMS, because of filament switches happening every layer. As there is no AMS in the vspace.one, these can't be printed by ourselves. Anyways, like already mentioned, thanks to hacKNology, we could print multiple batches of tags for different visitors of the 38th Chaos Communication Congress and of course ourselves.

Because many other spaces that were on the congress as well, that actually have an AMS, asked us about how we made them, here's additional documentation for this.

At first, I painted the Tags with the Color Painting Tool in OrcaSlicer, which got annoying real quick, since the most efficient option for the text and logo with it is to paint every surface with the fill option. To not impose this on anyone else who wants a tag like this, i edited the original SCAD-File to add the tag_parts and split_relief parameters.

tag_parts has the function to split the tag horizontally and evenly a given times. If an uneven split is wanted, you can experiment with a higher number of splits where you assign multiple sections the name filament. Anyways, if you, for instance, split the tag in 4 sections, you can assign them their filament in the slicer at will.

split_relief is a boolean value that decides whether the text and logo will get separated from the Tag and can be assigned their own Filament respectively. Otherwise they're included in tag_parts. It should be mentioned that any detached element will be their own part. Therefore not entirely connected logos or for example i-dots will be their own part.

With the final STL exported from OpenSCAD and imported into OrcaSlicer, it can be Split into parts with the according button in the toolbar. A problem is now, that these parts get numbered more or less randomly, which is why you first need to find out which number each parts is. Though if you click onto one of them in the list, the focussed part will be shown in the preview immediately.

Depending on whether you're connected to your printer ot not, the filaments loaded into the AMS can be synchronized in the slicer and you can paint the tag with them. If not, the order of the filaments in the slicer should be matching with the order in the AMS. If everything is painted how it's wanted, the tag can finally be sliced and printed.

A screenshot in the "prepare" view in OrcaSlicer that shows a completely white mate tag and the toolbar above. The "Split into parts" button is highlighted. A screenshot in OrcaSlicer that shows the object list of the project. It shows that "split_cat_ear_mate_tag.stl" was split into 9 parts, each numbered. A screenshot in Orcaslicer that shows the filament selection, the object list and the preview of the Mate Tag. In the numbered order from 1 to 4 shows the filament colors white, yellow, purple and black, each as "Generic PLA". The tag is already painted in yellow at the top and black at the bottom. The rest is yet white.

Like already mentioned, the print for a single tag with the text and logo having their own colors is takes way longer than these that don't. The filament cost is significantly higher as well. Because of this, it might be favorable to print multiple tags at a time like we did for the congress. Of course, this is only possible if you know enough people that want one with the same colors. While different texts and logo might lead to some more filament switches adding up with multiple tags, the printing time additional printing time for adding another tag to the print is only marginal.

To give an overview, I've taken the respective printing time for different numbers of different tags from the Slicer and also calculated the relative printing time for a single tag in every case. There should be a mention that I cloned the same tag for these numbers so in reality the printing times for the last category would be tendentially higher, but they would follow a similar trend.

Priting time 1 Tag 2 Tags 3 Tags 5 Tags 10 Tags 25 Tags Printing time divided by quantity 1 Tag 2 Tags 3 Tags 5 Tags 10 Tags 25 Tags
Single-colored 29:27min 34:21min 41:16min 1:02h 1:57h 4:43h Single-colored 29:27min 17:10min 13:45min 12:24min 11:42min 11:19min
5 color sections 38:48min 48:48min 58:34min 1:20h 2:15h 5:04h 5 color sections 38:48min 24:24min 19:31min 16:00min 13:30min 12:09min
4 color sections and highlighted relief 3:42h 3:52h 4:03h 4:25h 5:19h 8:04h 4 color sections and highlighted relief 3:42h 1:56h 1:21h 53:00min 31:54min 19:21min

A line chart that shows the visualized data from the previous table for "Printing time". The x-axis represents the quantity and the y-axis the time. The line for "Single-colored is purple and has triangle markings, for "5 color sections" it's orange with circle markings and for "4 color sections and highlighted relief" it's green and has sqaure markings. All curves are paralell, while the green curve is significantly higher than the orange curve being slightly above the purple one. A line chart that shows the visualized data from the previous table for "Printing time divided by quantity". The x-axis represents the quantity and the y-axis the time. The line for "Single-colored is purple and has triangle markings, for "5 color sections" it's orange with circle markings and for "4 color sections and highlighted relief" it's green and has sqaure markings. All three curves are approahing the area of 15 minutes while the pruple and orange curve start near the bottom, the green curve declines exponentially starting from the top.

Note that the curves are not consistent because of the arbitrary numbers.

  • projekte/2024/cat-ear-mate-tag/en.txt
  • Zuletzt geändert: 2025/01/07 18:37
  • von faye