/mayo

3D CAD viewer and converter based on Qt + OpenCascade

Primary LanguageC++BSD 2-Clause "Simplified" LicenseBSD-2-Clause

What is Mayo

Mayo is a 3D viewer and converter inspired by FreeCad

Made compatible for Linux Debian 10 buster with QT. See the end of the .pro file how to install opencascade and how to link your path. Have fun !

Overview

  • View and convert 3D files in different formats
  • Explore assembly trees and view properties
  • Cross platform: runs on Windows and Linux
  • Underlying toolkits: OpenCascade and Qt

Current features

  • Support of multi-documents, user can open many files in the session
  • Support of STEP/IGES assemblies(product structure and colors)
  • Area and volume properties for meshes and shapes
  • Editable name of STEP/IGES entities
  • Editable 3D properties of the imported items, eg. material, color, display mode, ...
  • 3D clip planes with configurable capping
  • 3D view cube providing intuitive camera manipulation
  • Perspective/orthographic 3D view projection
  • Save image(snapshot) of the current 3D view

3D viewer operations :

  • Rotate : mouse left + move
  • Pan : mouse right + move
  • Zoom : mouse wheel(scroll)
  • Window zoom : mouse wheel + move
  • Instant zoom : space bar

Supported formats

Formats Import Export Notes
STEP AP203, 214, 242(some parts)
IGES v5.3
OpenCascade BREP
OBJ Requires OpenCascade ≥ v7.4.0
glTF Requires OpenCascade ≥ v7.4.0 (supports 1.0, 2.0 and GLB)
VRML v2.0 UTF8
STL ASCII/binary

Build instructions

Mayo requires Qt5 and OpenCascade ≥ 7.3.0

It uses the CSF_OCCTIncludePath and CSF_OCCTLibPath environment variables to locate OpenCascade include and library paths. On Windows these two variables are set by the env.bat script which can be found within OpenCascade's base folder, it is recommended to run this script and then build Mayo :

cd .../mayo
qmake
(n)make

In case you don't want to run OpenCascade env.bat you can use the CASCADE_INC_DIRand CASCADE_LIB_DIR qmake variables instead :

qmake "CASCADE_INC_DIR=occ_include_dir" "CASCADE_LIB_DIR=occ_library_dir"

Screenshots