Skip to content

myousefi2016/VR-STL-Viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VR-STL-Viewer

This code creates a STL (3D triangular mesh) in virtual reality environment. Furthermore, there are pure C++ built-in features that are able to find non-manifold edges, duplicate triangles, and flipped normals in your 3D triangular mesh. Note that you need to use STL format file that is written in ASCII and Binary format (Now binary STL is supported in this current version). The dependencies that are needed to build this code are:

  • CMake >=3.8.
  • C++ compiler such as GCC, CLang, Visual C++, etc. (Note that this code is currently tested on a machine with Windows 10 and Visual Studio 2019 installed in it).
  • OpenVR SDK.
  • VTK built with OpenVR enabled.
  • Qt >=6
  • SteamVR

This code is tested on a machine that has Windows 10 with Visual Studio 2019 and SteamVR installed that is connected to a HTC Vive VR headset. If you encountered any problem or issue, please open an issue in this repository. If you use this piece of code in your work, please give proper citation and attribution to this repository.

Using binary pre-built package

If you don't want to build this code, you can use the binary pre-built install package for Windows 10 that is provided in Release section of this repository. Note that you need to install Qt >=6 and put the correct path in your environment variables. For example put C:\Qt\6.2.0\msvc2019_64\bin into your environment variable and then you should be able to use the software.

Benchmark

In order to observe how the mesh cleaner to remove the duplicate triangles, identify the flipped normals and non-manifold edges would be scaled by increasing the number of triangles in the 3D mesh, a benchmark for a 3D mesh of a turbine blade is done here, where its topology remained the same but the number of meshes are decimated from 1.7M to 100K and the runtime of 3D mesh cleaner part is measured in second and plotted here:

benchmark

Number of Triangles Runtime (s) Decimation (%)
176519 11.44300 90
353062 12.72900 80
529606 11.96500 70
706148 13.45300 60
882692 16.23100 50
1059230 22.90900 40
1235769 21.43700 30
1412310 22.91600 20
1588848 27.86000 10
1765388 31.75200 0

VR Viewer in action

VR.View.2021-06-11.14-14-00.mp4
VR.View.2021-06-11.15-43-00.mp4