Example 3D model files downloaded from https://grabcad.com/library/helical-bevel-gear-80/details?folder_id=11502171
import warnings
warnings.filterwarnings('ignore')
# Install the pip package trimesh in the current Jupyter kernel
import sys
!{sys.executable} -m pip install trimesh[easy]
# Install the pip package gmsh-sdk in the current Jupyter kernel
!{sys.executable} -m pip install gmsh-sdk
import trimesh
#General info found on https://trimsh.org/trimesh.interfaces.gmsh.html
#Returns a surface mesh from CAD model in Open Cascade Breap (.brep), Step (.stp or .step) and Iges formats Or returns a surface mesh from 3D volume mesh using gmsh.
#For a list of possible options to pass to GMSH, check: http://gmsh.info/doc/texinfo/gmsh.html
mesh = trimesh.Trimesh(**trimesh.interfaces.gmsh.load_gmsh(file_name = 'helical bevel gear.STEP', gmsh_args = [
("Mesh.Algorithm", 1), #Different algorithm types, check them out
("Mesh.CharacteristicLengthFromCurvature", 50), #Tuning the smoothness, + smothness = + time
("General.NumThreads", 10), #Multithreading capability
("Mesh.MinimumCirclePoints", 32)]))
scene = mesh.scene()
scene.show()