[meshconv] 3D model converter
binvox thinvox viewvox meshconv
Introductionmeshconv converts to and from several popular 3D file formats. Currently only geometry conversion is supported.
- input and output formats:
- nearly 100% VRML 2.0 support (input 2.0, output 1.0 and 2.0)
- simple geometry only support for Wavefront OBJ, Geomview OFF, Autocad DXF, PLY, 3DS (reading only), three.js JSON (writing only), XML3D (writing only), and STL
Downloadversion 1.29, added 7 May 2019
- Linux 64 bit executable
compiled under CentOS 6.7, kernel 2.6.32, let me know if it doesn't work for you
- Windows executable
64 bit, compiled using a cross-compiler
- Mac OS X (Yosemite) executable
compiled under OS X 10.10.3
(after download on Linux/Mac, you may have to do chmod 755 meshconv first)
UsageRun meshconv without parameters for a usage summary.
Example: to convert a VRML 2.0 model to PLY, triangulated:
meshconv -c ply -tri mymodel.wrl
Note to Mac users: The browser may have added a .dms extension after download. To remove it:
mv meshconv.dms meshconv
And you may have to make the file executable:
chmod 755 meshconv
FAQQ: can you publish the source code for meshconv?
A: sorry, the program is part of a large codebase, it would take too much of my time to make it open source.
CreditIf you use meshconv for your (published) work, please add a reference to me and to this web page. Here's a sample BibTeX entry:
Note that meshconv is free to download and use (in any environment). However, you are not allowed to charge others for the program. Type meshconv -license for more information.
meshconv uses the lib3ds library for reading .3ds files.
FeedbackPlease send me e-mail (to patrick.n.min at gmail dot com) with your questions/comments/suggestions/bug reports.
I'm also interested to hear about what you use meshconv for.
- properly process VRML 1.0 Switch node
- transfer colour information when converting from VRML to OBJ
Changelog1.29: added support for writing normal info to OBJ files (7 May 2019)
1.28: disabled some debugging output (17 February 2019)
1.27: fixed bug that caused a segfault for STL files with long filenames
1.26: fixed bug where normal info was not stored when loading STL files (22 August 2017)
1.25: removed spurious debug output, reduced VRML Sphere/Cylinder/Cone complexity, changed floating point datatype from 'double' to 'float' (13 July 2017)
1.24: added support for converting VRML materials to PLY materials (use -mat parameter)
1.23: fixed bug with -sg option for STL and OBJ files
1.22: fixed problem with PLY ASCII output precision, and added PLY 64 bit float support
1.21: statically linked Linux version
1.20: fixed bug with loading .3ds files on Mac OS X
1.19: added support for writing XML3D files
1.18: added -ti parameter
1.17: added processing output for VRML conversion, fixed inefficiency when processing VRML normals
1.16: Windows only update: changed from 32 to 64 bit executable
1.14: static linking of the lib3ds library
1.13: fix for converting VRML top level nodes to OBJ groups
1.12: fixed bug when handling very long group names in OBJ files
1.11: added support for writing binary three.js (.js and .bin files) (geometry only, version 3.1)
1.1: added support for writing .js three.js JSON format (geometry only, version 3.1)
1.0: added support for reading .3ds files using the lib3ds library
0.9: added support for VRML 2.0 Extrusion beginCap and endCap, fixed triangulation + plane equation of concave polygons
0.85: added support for non-standard STL ASCII files
0.84: added fixes to VRML 2.0 export so "PeopleMaker" software can parse it
0.83: added feature to keep groups when converting from VRML to OBJ
0.82: added "relay textures" option when converting from VRML to OBJ
0.81: bug fix when processing VRML files with textures
0.8: added support for -ascii parameter for STL output
0.79: fixed triangulation bug for VRML Sphere node
0.78: added -kd "keep duplicate vertices" option
0.77: fixed missing ENDSEC for DXF output. Disabled exponential notation output for ASCII formats
0.76: fixed polygon counting error when zero area triangles were removed, when exporting to OBJ or STL
0.75: fixed problem when exporting to VRML
© Patrick Min, 1997 - 2021 (meshconv online since 2009)