Tactile Universe add-on V4.0

Sine we first released our Tactile Universe add-ons two years ago Blender has undergone a significant update.  Blender 2.80 vastly improved the user interface and many other changes under the hood.  It took a bit of time, but today we have released V4.0 of our add-on that is fully compatible with the latest version of blender (2.82 as of Feb 2020).  In addition to this compatibility the new version of the add-on also includes many different quality of life improvements to the model making process.  Below I will walk you through everything that is new.

Edit March 2022

V4.0 of the plugin works with Blender 3.1 (the current latest version) as well!

Setting up Blender

This is a recap of 1. How to get started with Blender using the latest version of Blender.

1. Download

To make your own models you will need to download:

  1. The latest version of Blender (2.82 at the time of this post)
  2. The latest version of the Tactile Universe add-on (4.0 at the time of this post)

After unzipping the TU add-on you will see it has a TU_startup.blend file and a tactile_universe_plugin.zip file among others.  These two files will be used below.

2. Adjust settings

When you first open blender you will see the following default cube, light, and camera.  Let’s ignore those for the time being and instead adjust some of the settings.

The default Blender user interface.
Default Blender user interface

The settings are found in the Edit > Preferences menu.

Blender with the Edit menu open and the Preferences option selected.
Edit > Preferences

Within the interface tab the resolution scale option will make the default font size of the user interface larger.  I find the default to be a bit on the small side.

Blender preferences window with the Interface tab selected. A red box is drawn around the Resolution Scale option.
Change the user interface font size

If you are working on a laptop you can adjust some of the input settings to make things easier.

Blender preferences window with the Input tab selected. A red box is been drawn around the Emulate Numberpad, Default to Advanced Numeric Input, and Emulate 3 Button Mouse options.
Change the keyboard and mouse settings (if needed)

3. Activate Import Images as Planes add-on

To import images into blender easier we will be using the Import Images as Planes add-on.  This can be activated in the Add-ons tab.  Search for “import” and check the box next to the Import Images as Planes add-on to activate it.

Blender preferences window with the Add-ons tab selected. Red boxes are drawn around the search box and the Import-Export: Import Images as Planes add-on.
Activate Import Images as Planes add-on

4. Install and activate Tactile Universe add-on

To install the TU add-on click the Install button in the add-ons tab and navigate to the tactile_universe_plugin.zip folder you downloaded earlier.  This will install the emboss plane, TU name plate, TU back frame, and TU holder add-ons all in one go.  TU back frame and TU name plate are helper functions that emboss plane uses, although they can be used on their own, it is not recommended.

Blender's add-on installation window with the tactile_universe_plugin.zip file selected.
Install the Tactile Universe add-on

Once installed activate the TU add-on by checking the box next to its name.

Blender preferences window with the Add-ons tab selected. A red box is drawn around the Mesh: Tactile Universe add-on.
Activate the Tactile Universe add-on

5. Set up a default scene

You can open up the TU_startup.blend file and skip directly to the “save startup” step, or you can set it up by hand by following this step.

Select all the objects in the scene by pressing a.  Delete the objects by pressing x followed by clicking Delete in the popup prompt.

Blender with all the default objects selected and a dialog window asking to Delete everything.
Delete the default objects

Next we will set up blender to use the correct units.  3D printers expect models to be made with the base unit of millimeters.  In the lower right hand panel go to the scene tab (the 5th one down) and go to the Units section.  Set unit system to metric, unit scale to 0.001 and length to millimeters.

Blender in top down view in the view-port. A red box is drawn around the Units section of the scene panel.
Change to the correct units

Save these settings as your startup file by going to File > Defaults > Save Startup File and clicking on the confirm button in the popup prompt.

Making your own models

This is a recap of 2. How to make your own models using the latest version of the TU add-on.

1. Import an image

To import an image press shift + a to bring up the add object menu, go to Image > Image as Planes.

In the file selection box navigate to the image you want to make a model for.  On the right hand side of the window make sure to set the height of the model in millimeters.  We typically use a height of 112 mm.  The add-on includes and image of M51 you can use for testing.

Blender's file selection window. A red box is drawn around the Height option.
Select and image and set the height

2. Use the Emboss Plane add-on

To use the emboss plane add-on the plane you just added needs to be in edit mode.  This can be done by pressing tab or using the mode menu highlighted in the image below.

Note: the mode menu might appear along the bottom of the view port rather than the top, this is dependent on blender’s window size.

Blender with the view-prot in Edit mode. A red box is drawn around the mode toggle menu.
Enter Edit mode

Once in edit mode click Mesh > TU Emboss Plane to activate the add-on.

3. Adjust the parameters

Once activated you will see a galaxy model in the view-port using the default settings.  These defaults can be adjusted by expanding the add-on’s parameter box in the lower left of the view-port.

Blender's view-port showing the result of using the emboss plane add-on. A red box is drawn around the add-on's minimized properties box.
Expand the add-on’s properties box

Once expanded you will see the settings are broken into tree different sections:

  • Emboss Properties: These will change the base mesh the image is applied to
  • Filter Properties: These are used for cleaning up noise and foreground stars
  • Name Plate Properties: These can be used to add a name plate to the model

Let’s go over what each parameter does.

The emboss plane add-on's property box expanded out and showing the default values.
The default properties

Faces per unit

This changes the density of the base mesh. The higher this number is the more detailed the resulting model will be.  It will default to 2 faces per millimeter, a reasonable value for hand sized models.  For illustration let’s change the value to 1 face per millimeter.

The result of change the Faces Per Unit value from 2 to 1. A red box is drawn around this value in the properties panel.
Result of changing Faces Per Unit

After this change you can see the galaxy model has far fewer faces (represented by the black dots across the model).

Emboss Thickness

This sets how high the brightest part of the image (pure white) will be in relation to the darkest part (pure black).  This is indicated by the arrow in the image below.

For larger models this value should be increase and the faces per unit decreased.

Side view of the galaxy model with a red arrow indicating what the Emboss Thickness parameter changes.
What Emboss Thickness changes

Invert Image

This will invert the direction of the height map.  Black will be the highest point and white the lowest.

Side view of the galaxy model showing the result of using the Invert Image button. The galaxy model pops-in instead of popping-out.
What Invert Image does

Base Thickness

This is how far below the image the model extends.  This distance is indicated by the arrow in the image below.

Side view of the galaxy model with a red arrow indicating what the Base Thickness parameter changes.
What Base Thickness changes

Border Width

How thick the border around the outside is.  This is shown by the arrow in the image below.

Side view of the galaxy model with a red arrow indicating what the Border Width parameter changes.
What Border Width changes

External Edge

This dropdown menu allows you to pick an edge to printed as a separate object.  The external edge is automatically placed in the correct spot for printing (models are printed stand on their edge, see image near the end of this post for more information).  Notches and wedges are also added to help align the edge when attaching it to the model.

Inclined view of the galaxy model showing the top edge as a separate part. A red box is drawn around the External Edge value in the properties panel.
What External Edge changes

Back Frame and Back Frame Gap Size

These settings add a frame on the back side of the model that can be used to hold an image printed on paper.  The gap size is how much space is left between the back of the model and the frame (i.e. the thickness of the paper being inserted).

Inclined view of the galaxy model showing a frame on the back side of the model. A red box is drawn around the Back Frame and Back Frame Gap Size values in the properties panel.
Adding a Back Frame

Nose Filter Size

This setting can be used to smooth out any noise in the image.  A value of 1 indicates no filtering is done, and increasing the value increases the smoothness.  To show the effects of this easier we will put the faces per unit value back up to 2 and turn off the black dots across the image (highlighted button in the top right of the view-port).

A front on view of the galaxy model with the Noise Filter Size set to the default value of 1.
The default Noise Filter Size of 1

Increasing the filter size to 5 we can see how much smoother the background of the image is.

A front on view of the galaxy model with the Noise Filter Size set to 5. This has the effect of smoothing out the lower areas of the model.
Noise Filter Size of 5

Spike Removal, Spike Threshold, and Spike Reduction Factor

An image with lots of foreground stars can turn out quite spiky.  These spikes can end up being quite sharp once printed, so these options will allow them to be reduced in size.

Inclined view of the galaxy model showing how spiky foreground stars are in the model. A red box is drawn around the Spike Removal properties in the panel.
Foreground stars can be quite spiky

By turning on spike removal any single vertex spikes are identified and lowered in size.  All spikes higher than the threshold value are reduced in height by the reduction factor value.  When the vertex dots are visible any identified spikes will be highlighted.

Inclined view of the galaxy model showing what the Spike Removal parameter do when turned on.
Foreground stars are lowered when Spike Removal is turned on

Name Plate, Name Plate Height, Name Plate Text, and Name Plate Text Size

A name plate can be added to a model using these settings.  The height, text, and font size can be set with these parameters.  If an external edge is being used this will replace it, otherwise it is place along the top of the model.

After creating the model the font used for the text can be changed on the text object.  We do not recommend using a braille font, as getting it to be the correct spacing can be quite challenging.  Instead we recommend making a blank name plate (i.e. set the text to be blank) and attaching braille stickers to the model after printing.

Inclined view of the galaxy with a name plate added. A red box is drawn around the Name Plate properties in the panel.
A name plate can be included with the model

4. Export as STL

Once done, enter back into object mode with the tab key or using the mode menu.

Blender with the view-prot in Object mode. A red box is drawn around the mode toggle menu.
Enter Object mode

Go to File > Export > Stl to export the model.

In the export dialog box make sure the Apply Modifiers box is checked and set Z Forward and -Y Up.  This will ensure the model is facing the correct direction when imported in the 3D printer slicing program.

The export STL window. Red boxes are drawn around the Forward, Up, Apply Modifiers, and Name options of the window.
Set the direction for Forward and Up

5. Slice and print

Import the STL file into your printer’s slicing program.  It should be oriented on its edge (see image below) to ensure the best quality print.  For more information about this process see our slicing and printing blog post.

The finished galaxy model inside a 3D printer slicing program
Slice and print

Making a holder

This is a recap of 7. Making a Model Holder using the latest version of the TU add-on.

1. Make a holder for all your prints

The next add-on we will look at is the TU Model Holder.  This is used to create a holder these 3D models can be placed in.  To make one start with an empty scene.  Press shift + a to bring up the add menu and go to Add > Mesh > TU Model Holder.

2. Adjust the settings

These settings will change the size of the holder in various ways.

  • Number of slots: This is the number of slots the holder will have
  • Width of slots: This is how much space will be between each slat
  • Height of models: This is how high the models will be when placed in the holder
  • Length of models: This sets how wide the holder will be
  • Thickness of slot walls: This sets the thickness of the slats
  • Thickness of outside walls: This sets the thickness of all outside walls

This creates both a holder (right hand side) and a lid (left hand side).  All parts of the holder will be selected when the add-on is done running.

A galaxy model holder in is shown in the view-port with the holder parameter panel open.
Adjust the holder parameters

3. Export the holder

The holder and lid together are too big to print in one go, so we will export them as separate STL files.  With the holder selected go to File > Export > Stl.

In the export window make sure Selection Only is selected, Y Forward is set, and Z Up is set.

The export STL window. Red boxes are drawn around the Selection Only, Forward, Up, and Name options of the window.
Export the holder

4. Invert selection and export the lid

Next we will select the lid by going to Select > Invert and export it just like we did the holder.

The export STL window. Red boxes are drawn around the Selection Only, Forward, Up, and Name options of the window.
Export the holder

5. Slice and print

The holder STL can be imported into your printer’s slicer.  See our slicing and printing blog post for more information on this process.

The finished holder inside a 3D printer slicing program
Slice and print

How to make models on the command line

This is an update of 3. How to make models on the command line with the latest version of blender.  This is mostly the same as before, so only sections that have changed will be covered here.

Setting up Blender to run from the command line

To get started we need to set up blender to be run from the command line.  This is outlined nicely in the official documentation.  For me this involved setting up an alias to the blender executable on my Mac (bash shell):

echo "alias blender=/Applications/Blender.app/Contents/MacOS/blender" >> ~/.bash_profile

On the Windows (cmd.exe) this is:

DOSKEY blender="C:\Program Files\Blender Foundation\Blender\blender.exe"

Making configuration files

The command line script requires a configuration json file to be passed in, this file contains all the information needed to crate a model.  This file is structured as follows:

{
  "input_file_path": "M51_i.png",
  "plane_height": 112,
  "emboss_plane_keywords": {
    "Fpu": 2,
    "Emboss_height": 3,
    "Invert_image": false,
    "Base_height": 3,
    "Border_width": 3,
    "External_edge": "TOP",
    "Back_frame": true,
    "Gap_size": 1,
    "Noise_filter": 1,
    "Spike_removal": true,
    "Spike_threshold": 0.75,
    "Spike_reduction_factor": 0.75,
    "Name_plate": true,
    "Name_plate_Y": 20,
    "Name_plate_text": "M51 i >",
    "Name_plate_text_size": 18
  },
  "stl_keywords": {
    "axis_forward": "Z",
    "axis_up": "-Y"
  },
  "output_path": "/path/to/output/folder",
  "output_name": "M51_i"
}

See the previous sections of this post for an overview of what these settings do.  Any keywords not specified will use the defaults shown in the previous sections of this post.

How to make holders on the command line

This is exactly the same as before, see the end of 7. Making a Model Holder for instructions.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s