Creating embossed cups

Written by
Lizabeth Arum

This tutorial, inspired by Joris van Tubergen's 2013 Cup a Week, will demonstrate how to take a tessellated pattern and apply it to an inverted truncated cone. Concepts covered include tessellations, UV mapping, displacement mapping, and taking advantage of Cura settings to print quickly.



Set up model for UV texture mapping in Blender

UV mapping is a process of projecting a 2D image onto a mesh in 3D modeling.Each pixel of the image is assigned to the surface of the polygonal mesh. The U and the V in the term refer to the X and Y axes of the 2D image, and are employed to distinguish the 2D axes from the X, Y and Z 3D axes.

UV coordinates, or texture coordinates can be generated for each vertex in the polygonal mesh. One way to map the 2D image to the 3D model is to unfold, or unwrap the triangle mesh at the seams, laying the triangles out on a flat plane. Once the model is unwrapped, the 3D artist can use the unwrapped mesh as a template for applying pixels.

The basic steps involved in UV mapping are:

  • unwrapping
  • creating the texture
  • applying the texture

  1. If you do not have Blender, navigate to and download and install the latest version. Otherwise, open your copy of Blender.

  2. Click anywhere in the Blender window to begin.

  3. Select the Cube, type X and press RETURN/ENTER to delete the object:

    Delete cube

  4. Click on the Add Button and select Mesh:Cone:

    Add Cone

  5. A truncated cone is one with the top cut off. The base is the larger circle, the top surface is the smaller circle. The slant height is the shortest distance between the two circles, the lateral surface is the surface without the circles. If you invert the truncated cone, you will end up with a cup shape.

    Set the properties of the cone like this to create an inverted truncated cone:

    Radius 1=2
    Radius 2=3

    Make sure the object is positioned at 0,0,0.

    User tip: To change a number in a field, click in the field and type the number you want.

    Set Cone Properties

  6. Press Tab to go from Object mode to Edit mode:

    edit mode

  7. In Edit mode click button to enable "select edges":

    select edges

  8. Enable the "select visible" where you see both sides:

    select see through option

  9. Press A to deselect everything, then press B for Boundary select and drag a box over the top vertices.

    Select top edge

  10. Press CTRL+E and select Mark Seams:


  11. Press A to deselect the top edge. Press B, drag a box around the bottom of the cone, press CTRL+E and click on Mark Seam:

    Bottom Edge

  12. Press A to deselect the bottom edge. Press B, drag a box around one of the vertical edges:

    Vertical edge

  13. Press CTRL+E and click on Mark Seam:

    Third seam

  14. Press A to deselect all. Press B, drag a box around all of the vertical edges. Then press W and click on Subdivide:


  15. Set the Cuts to 30:

    Set cuts

  16. Open another Viewport:

    Open another viewport

  17. Set the new Viewport to UV Editor


  18. You need to add a plugin to help with the UV Mapping. The UVSquare addon is what you need. It will take a curved UV and straighten it. You can download it from Github.

  19. To install the add on select File:User Preferences or type Command+comma:


  20. Click on Install from File and navigate to the downloaded files.

    Install from file

  21. Select the 2 python files:

    Install from file

  22. You might have to search for the addon. Once you have located it, enable the addon:

    enable addon

  23. To ensure that you can use the addon in additional Blender sessions, click on the Save User Settings button:

    Save User Settings

  24. In the 3D Viewport press A to deselect all, then press A again to select all. Press U and click on Unwrap:


  25. You'll notice that the cone unwrapped in a U-shape. This will be hard to map a tessellated pattern to:


  26. What you really want is a rectangle. In the UV Editor Viewport, Press T, select Misc, and enable To Grid By Shape:


  27. Your curve should have straightened out, but make sure that the rectangle's boundaries fall within the grid:


  28. If your rectangle exceeds the edges of the grid, press S and scale in just a bit:


  29. Now that you have your layout, you need to export it so that you can apply your pattern to it in Photoshop.

    Under the UVs menu select Export UV Layout:

    export layout

  30. Save the layout as a PNG:

    Save as png

  31. Save your Blender file. You don't need to close it, but after you save it, you can.


Aligning pattern in Photoshop

Now that you you have your layout template, you want to find a tessellating pattern. You can search google for Indian patterns or visit

Once you have found a pattern like this one, you can open your layout template in Photoshop:

Damask Wallpapers

  1. Click on Layer0 and press Command+J to make a duplicate:

    Make dupe of layer0

  2. Click on layer0 to make it the active layer:

    click on layer0

  3. Make new layer above layer0. Click on the New Layer Icon in the Layers palette or press Command+Shift+N. Press D to switch to default colors and then fill the new layer with white (the background color) by pressing Command+Delete:

    Make new layer fill with white

  4. Click on the top layer (layer0 copy) and use wand tool(W) to select just the background:

    Click on top use wand to select background

  5. Invert the selection by pressing Command+Shift+I. Make new layer and fill then selection with black. Use Edit:Fill:Black:

    Invert make new layer fillI

  6. Use the line tool (U) to help you locate the center of the rectangle. Drag a guide to the center. Finding the center is important as you will need this to align part of your design:

    Create lines to find center_of_rectangle

  7. Open the pattern you found previously:

    find and open a tessellated pattern

  8. Paste the pattern into your layout document and reposition the image along the centerline. Press Command+T to transform the image. If you aligned the right side of the image to the centerline, resize the image so that the left side aligns with the left side of the rectangle:


  9. Make copy of the image by selecting the layer with the pattern and press Command+J. Switch to the Move tool (V) and slide the duplicated layer to the other side of the centerline:


  10. Delete the circles in the black layer, then Command click on the image icon in the black layer to select it:


  11. Click on the layer with the pattern:

    Click on the layer with the pattern

  12. Press Command+J to make a duplicate of the selection, then turn off the pattern layer below the new layer:

    Press command j turn off pattern

  13. Turn off all layers except the top layer. Then press Command, Option, Shift + S (Save for web and devices) and save as a png-8 file.


Displacement mapping in Blender

  1. Return to Blender.

  2. Click on the wrench to add a modifier:

    Add Modifier

  3. Add the Displace modifier:

    Displace modifier

  4. Add a texture by clicking on the New button:

    Add New Texture

  5. Click on the Show texture in Texture tab button:

    Show texture in Texture tab

  6. Click on the Open button to bring up a navigation window that will allow you to select your PNG file:

    Click on the open button

  7. Select the PNG file and click on the Open button in the upper right hand corner:

    Select the PNG

  8. In Image Mapping, set the Extension to Clip:

    In image setting, set to clip

  9. Back in the Displace modifier set to a value of Strength to a number between .1 and .01:

    Back in the Displace modifier set to a value between .1 and .01

  10. Set the Texture Coordinates to UV:

    Set to UV

  11. Add the Subdivision Surface modifier:

    Add another modifier

  12. Move the modifier up in the stack by clicking on the up button:

    Move the modifier up in the stack

  13. Adjust the subdivisions:

    Adjust the subdivisions

  14. Adjust the subdivisions:

    Adjust the subdivisions

  15. If your seam is not quite right, you can adjust it in the Image Mapping palette:

    Mismatch Fixed

  16. Save your Blender file.


Cleaning up model in Meshmixer

  1. If you don't have Meshmixer, download and install it from here, then open the application.

  2. Click on the Import button to bring your STL file into the application:

    Click on import

  3. Once imported, your file may be below the work plane:


  4. Click on the Edit Icon, then click on Transform:

    Click on Transform

  5. Click on green arrow and move the cup up above the workplane:

    Click on green arrow and move the cup up above the  workplane

  6. Click on the Accept button to accept the transformation:

    Click on accept

  7. Select Plane Cut:

    Plane Cut

  8. Click on the blue arrow and move the plane down to the bottom of the cup. You want to just trim the bottom of the cup a bit. Then click on the Accept button:

    Click on the blue arrow and move the plane down

  9. Click on the Transform button:


  10. Set the X rotation to 180. Press ENTER and then click on the Accept button:

    Type in 180 for X rotation, press enter and then accept

  11. Click on Plane Cut:

    Plane Cut

  12. Click on the blue arrow and move the plane down, just slightly above the bottom edge. then click on the Accept button:

    Adjust the plane

  13. Click on Transform:


  14. Set the X rotation to 180. Press ENTER and then click on the Accept button:


  15. Export the STL:

    Set the X rotation to 180. Press ENTER and then click on the Accept button:


Using the Spiralize setting in Cura

If you print something like a vase, Cura has a mode called "spiralize." This mode increases the z-height continuously throughout the print. When spiralize is not selected, Cura completes one layer, lowers the bed, and then lays down the next layer. By constantly moving the bed down while printing, as with the spiralize mode, the z-scar is eliminated.

When you enable spiralize the wall thickness is your nozzle diameter. So if you've set your wall thickness to 0.8mm cura will now attempt to print a single outer wall that is 0.8mm thick. This is a huge increase in output and you will need to make sure your speed and temperature is set appropriately to handle it.

  1. Launch Cura.

  2. Select your printer

    Select Printer

  3. Open your STL by clicking on the file menu or by dragging the STL into the application:

    Open the file

  4. Loading will take a bit of time. Be patient:


  5. Your model will be small:

    Your model will be small

  6. Click on the model, then click on scale and change the value from 100 to 1000:


  7. Adjust your settings to the following values:


  8. Export your gcode to an SD card.

  9. Make sure you have a 0.8mm nozzle on your Ultimaker.

  10. Print.