The Team

About the Slicer Project

This project is an effort to create an easy to use graphical user interface for the MACFAM 3d slicer system. The GUI and the 3d Slicer source code is developed using Python.

The MACFAM 3d slicer is robotic printing arm used to perform curvilinear print jobs to create parts and part reinforcements for the aerospace and prosthetics industries.

The slicer application allows a user to load component files and combine them into parts. The parts can then be manipulated through various means to translate and rotate them in space, as well as changing various settings like the nozzle orientation for the robot arm. When these manipulations are done, the parts can be visualized and then output to gcode, krl and csv files, which contain instructions for the print.

Getting Started

In order to run the the user is expected to have python 3.6 installed (see for some good examples on various operating systems). Then the user can set up a project specific environment using pipenv which will install all of the dependencies for the user.

*NOTE: some of the dependencies (VTK), require a 64-bit OS environment.


All the user needs to install is pipenv:

pip install pipenv

Running the Application

To run the current working application, download or clone the repository, then:

First setup the project environment:

pipenv install

Next enter the environment and run the application as a script

pipenv shell

Alternatively, after the environment is set up the user can run without entering the environment shell by running:

pipenv run python

Slicer Demo

Click the video for a demonstration of the slicer application

Application Screenshots

File Select Tab

Geometry Settings Tab

Part Visualization

Print Settings Tab with Part Selected

Export File Tab

Export File Tab with Part Filament Information Displayed


Unit Testing

Running Unit Tests:

python -m unittest -v test/

Behavior Testing


To run initial behavior testing:

java -jar <File Name>.jar