Design your own eye-catching nameplate with a dynamic, wavy-text effect! This customizable OpenSCAD model extrudes each letter to a random height, giving a fun and modern look to names, labels, or signage. It also includes a mounting hole, perfect for stringing, pegging, or attaching to surfaces.
Features:
Randomized extrusion heights for a unique 3D effect
Custom per-character spacing using width estimates
Integrated mounting hole with adjustable position
Uses "Mont Heavy" font for bold, legible text
Easy to modify in OpenSCAD
How to Use:
Provide your text as an array of characters (e.g., ["H", "u", "x", "l", "e", "y"])
Adjust font size, hole position, and character widths as needed
Export to STL and print—no supports required
Perfect for desk nameplates, door signs, or personalized gifts!
Notes:
Download and install OpenSCAD, definitely do the nightly. They are safe and much faster to use.
Download and open the attached SCAD file and open it in OpenSCAD.
Then you will need to do some manual tweaking, letter by letter. See this code block:
names = [
[["B", "r", "o", "o", "k", "l", "y", "n"], [0, 0.7, 1.05, 1.8, 2.5, 3.1, 3.3, 3.9], 4],
[["M", "I", "c", "h", "a", "e", "l", "l", "a"], [0, 1.2, 1.4, 2, 2.7, 3.5, 4.2, 4.4, 4.65], 4],
[["R", "o", "b"], [0, 0.7, 1.45], 3]
];
Notice each name, letter by letter. Add your text, and remove others, for example:
names = [
[["H", "u", "x", "l", "e", "y"], [0, 0.8, 1.47, 2.1, 2.35, 2.95], 3.7]
];
No, each number, in the list:
[0, 0.8, 1.47, 2.1, 2.35, 2.95]
These represent the left/right position of each letter, 0 is the first letter “H”. 0.8 is “u”, and so on. Just tweak these values to get the correct amount of overlap for each letter. Make sure they are overlapping. Be generous with the overlapping.
Finally, the last value
3.7
That is the left/right position of the lanyard hole.
Each time you hit save it will re-calculate the thickness of each letter. So just keep hitting save until your happy with the results. Once complete, export to stl/3mf and import into your slicer. Keep in mind, if you are doing more than 1 name tag, your slicer (for example prusa slicer) can split the part apart into individual objects. Its a good way to test to make sure all the letters are joined.
Finally, letters like “i” with the dangling “dot” at the top, I just changed that to a lower case “l” (L) and it gave the same effect. I also removed spaces. So you need to be mindful of characters which will not be joined with the main tag.
Once in your slicer, scale it up/down to suit your needs.
For printing, just use your favourite TPU, PLA, PETG, etc. filaments. Nothing special at all. I will typically use 3 or 4 perimeters but thats just meet. Also color changes might be effective since the letters are on alternative heights.
The author marked this model as their own original creation.