Project ViP Graphical User Interface.

GUI Tool to Build 3D Models.

3D Printed Blueprint Nodes Being Used

What does this tool do?

This tool can be used to create both 3D nodes for UE4 Blueprints and also simple blocks containing both text and Braille.

It can be downloaded from Team 1's repository on GitHub. and, as it is written in Python, it will need to have Python 3 installed.

Once Python is installed and you have downloaded and unzipped Team1's repository form GitHub, run the program which can be found in the GUI folder. To do this either double click on the program in Windows Exploter or Finder. Alternatively, enter python3 in a command window.

The utility has four window;;

  • Input - here you specify where the input is or specify the input yourself.
  • Output - here you say where to save the output model and what format it should be in.
  • Summary - this shows you a summary of what the program is going to do.
  • Log - the result of generating the model(s).

Each window has buttons at the bottom to navigate. This allows you to run the program, go back and change an option and run again, to see what the effect is.

Project ViP GUI Clipboard

Input - Clipboard

To create the models for an UE4 Blueprint network, select the nodes you want in the the UE4 Blueprint Editor and hit control‐c. This will copy the source code for the network into your clipboard. NB You can select more than one node - this tool will process whole networks.

Then you need to select the clipboard button in the project ViP GUI and hit Next.

Project ViP GUI Input File Selector

Input - File

If you have saved the output from the UE4 Blueprint editors clipboard, you can select this as input to the ProjectViPGUI.

Project ViP GUI Blank input

Input - Blank

Rather than use the UE4 Blueprint editor, you can create your own nodes. You specify the title for the node and then, for each pin, specify it's type and text. The type can be either E for execute or D for Data. The execute and data pins are a different shape and each is printed with a hole in the middle, which enables nodes to be connected with male to male solder-less flexible breadboard jumper cable wires, as used by electronics such as the Arduino platform.


Once you select the output folder, in which to place the models(s) which are generated, you must select what format these models should take. There are three choices;

  • Compact - This will print the title, pins and text (with Braille) on a bed. This is the easiest to use but takes the longest to print.
  • Exploded - This is exactly the same as compact, except there is no base. These are the fastest to print.
  • Exploded With Lego Connectors - This is the same as exploded, but each pin and text block is produced with Lego connectors on the base. These can then be used with a Lego base. These may cause issues if the 3D printer used is not configured correctly.

Examples of each of these are shown below.

Project ViP GUI  Output Type Selection

Summary and Output

The summary windows shows the options you have selected. If you want to change something, just select Back to go back to the previous screen.

This windows will show the output from the Python scripts which create the model(s). If anything goes wrong, this is what you will need to read to find out what the issue was.

If you need help with fixing a problem, cut and paste this into the Forum to get help.

Project ViP GUI Output File in Finder

3D Models - Compact, Exploded and Exploded Lego.

Once the models have been generated, navigate to the output folder you specified and open the file in OpenSCAD.

This is an example of the Branch node, where you can see the title, pins and text. All text includes Braille, with numbers escaped as per.Braille level 1.

3D model with Lego connectors

Here are the models as Exploded and Exploded with Lego. One the right you can see the Lego conectors on the base.

Open Scad Logo

Next Steps

As seen above, once you have generated your models, open them in OpenSCAD. In this tool you can Preview the model (F5), to make sure it is what you want. If it is, Render it (F6) and then save it as an STL file.

The STL file can then be processed by your usual 3D printing toolchain. Some printers process STL files directly, some need the STL file to be converted to GCODE using a slicer, such as Slic3r or Cura.