3D surface mesh browser using superquadric-shaped, metal tools as part of an interaction model for exploring and visualizing relationships between structures that are often layered and occlude one another; the system would allow users to fluidly perform cuts, peels, constrained explosions, etc. to easily break apart a model for the purpose of understanding

View project onGitHub


Aperio is a 3D surface mesh browser using slidable superquadric-shaped, metal tools that can be stretched and planted onto surfaces as a way of marking up areas to be illustratively manipulated (transformed or deformed in a manner for the purpose of illustration and understanding).

The marked areas can be cut, peeled or the tools themselves can act as explosion paths. Superquadrics are defined by both implicit and parametric equations and are easily deformable (bendable, twistable, etc.) making them ideal for creating flexible shapes and paths.

The goal is to develop an intuitive and immediate exploration system using slidable tools (in the form of superquadrics) that lends itself to visual affordance (i.e. users can easily and intuitively combine tools such that they can perform various actions). It is primarily created for users who have little to no prior 3D modeling experience and just want to break apart a complicated system for the goal of better understanding relationships between parts of the 3D system.

It can be used by medical professionals on anatomical data or for visualizing any other geometric models. These pages document the use of the application.

Important Links (Dependencies)


Precompiled Libraries (Links)


1. Install QT 5.3.2 (32-bit) from qt-project.org (recommended version: Qt 5.3.2 for Windows 32-bit (VS 2013, OpenGL, 559 MB) [qt-opensource-windows-x86-msvc2013_opengl-5.3.2.exe])

It is also recommended to install Visual Studio Add-in 1.2.3 for Qt5 to work with Qt projects in Visual Studio. (From the same webpage)

2. Unzip GLEW from glew.sourceforge.net to C:\Program Files (x86)\glew-1.11.0\

3. Copy carve from carve.zip to C:\Program Files (x86)\carve\

4. Copy Assimp from Assimp.zip to C:\Program Files (x86)\Assimp\

5. Copy VTK folder from VTK.zip to C:\Program Files (x86)\VTK\

6. The OBJ files are optional and can be placed anywhere.

7. Press WindowsKey + R to open Run command, and type sysdm.cpl to open system environment variables Go to Advanced > Environment variables and make a new User Variable, PATH or if it already exists, prepend the following path to it : C:\Program Files (x86)\VTK\bin\RelWithDebInfo;C:\Qt\Qt5.3.2\5.3\msvc2013_opengl\bin;C:\Program Files (x86)\Assimp\bin;C:\Program Files (x86)\glew-1.11.0\bin\Release\Win32; (no spaces between semicolons)

You might also need to add an environment variable, QTDIR with the value, C:\Qt\Qt5.3.2\5.3\msvc2013_opengl

8. You can now run the visual studio solution! (Set configuration from Debug to RelWithDebInfo)


(Important) By default, Visual Studio uses the Debug Heap which is rather slow. To turn this off, Press WindowsKey + R to open Run command, and type sysdm.cpl to open system environment variables Go to advanced > Environment variables and make a new System Variable, _NO_DEBUG_HEAP and set it to 1

You may also need to add a version of QT to the QT plugin - Go to the QT5 menu > Qt Options > in the Qt Versions tab, click Add > Set path to C:\Qt\Qt5.3.2\5.3\msvc2013_opengl and click Ok

Optional Tools

  • Visual Assist 10.8 Visual studio plugin (Code assist)
  • Visual Studio Code Maid extension (Shows outline/summary of code)
  • Ghostdoc (Simplifies XML code commenting)
  • Doxygen (Autogenerates documentation from code comments)

© 2011-2015 David Tran