X3D Export and Import
The following applications are known to have X3D or VRML output capabilities. Additional entries are welcome.
The easiest way to convert VRML to X3D is to use a text editor: open the file and change the first line from #VRML 2.0 to #VRML 3.0 and Save As yourfile.x3dv! More details available here: X3D and VRML
- Autodesk 3DS Max and Maya exports VRML. 3rd party tools for X3D include InstantExport (Max) and Bacon XjF for Maya
- Blender supports X3D and VRML import /export
- Chemistry Markup Language (CML) examples in the public X3D Basic Examples Archive show how to covert CML models into X3D using a simple stylesheet.
- Chimera by UCSF is a highly extensible program for interactive visualization and analysis of molecular structures and related data. Chimera exports X3D and VRML97.
- Clara.io can be used to create or import models, animate them and render online. Support is provided for multiple import/export data exchange formats.
- CURA by Ultimaker can import X3D files and then generate g-code for 3D printing
- Daz3D exports VRML
- ESRI ArcScene with 3D Analyst extension can export an assembled GIS scene to VRML and optionally GeoVRML.
- Foundry / Modo exports X3D
- Jmol is an open-source Java viewer for three-dimensional chemical structures, with features for chemicals, crystals, materials and biomolecules. Jmol can illustrate most molecular-model features via VRML97 and X3D (XML) export.
- Live Interior 3D Pro includes export to VRML and X3D.
- Maple provides powerful math-oriented technical computing software for engineers, mathematicians, and scientists. Maple 13 exports X3D.
- Mathematica is a powerful computational tool for numerics of any precision, symbolics, or visualization. Mathematica can export X3D and VRML.
- MatLab and Simulink support import and export of X3D and VRML as well having a 3D World Editor tool
- NIH 3D Print Exchange supports X3D preview and export
- NetFabb by Autodesk supports the import of X3D and VRML files
- OpenJSCAD (github, discussion) provides a programming approach to develop models for 3D printing. OpenJSCAD is inspired byOpenSCAD, the Programmers Solid 3D CAD Modeller.
- Okino Polytrans has excellent X3D and VRML support (import and export to many industrial-strength DCC (including Cinema4D) and CAD filed types)
- PMOD 3D Imaging Rendering Tool (P3D) enables interactive investigation of volumetric medical data and imagery as part of modeling tool suite.
- Rhino includes VRML export and apparently X3D export as well.
- Shapeways supports X3D and VRML
- SketchUp Pro by Trimble can export VRML files
- SOLIDWORKS by Dassault Systemes includes VRML import and export
- VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3D graphics and built-in scripting. VMD is designed for modeling, visualization, and analysis of biological systems such as proteins, nucleic acids, lipid bilayer assemblies, etc. and may be used to view more general molecules. Export features include support for X3D, VRML97 and VRML 1.0.
- VRMLout for AutoCAD and VRML Translator for Inventor can publish AutoCAD 3D models and Autodesk Inventor assemblies on the Web.
- ZBrush exports VRML and X3D
Related: also see an exhaustive list of X3D Resources: Conversions and Translation Tools.
There are three versions of text based scenegraph files which are commonly referred to as VRML
A. VRML, also referred to as VRML 1.0
B. VRML97, also referred to as VRML 2.0
C. Classic VRML encoding of an X3D scenegraph
To the majority of 3D content users and authors the distinctions between these dialects are unimportant and they are all thought of as VRML. Moreover, when an application supports VRML import or export it is usually not clear which of the A,B,C options are supported, but it can be determined from an inspection of the exported file. Files which are referred to a X3D for import and export are usually, in the ISO 19775 terminology. The forward compatibility is such that if you want to change a file from B to C you simply change the first line from #VRML V2.0 utf8 to #X3D V3.3 utf8.
D. XML Encoding of an X3D scenegraph.
In most cases when a user or feature support of an application says "X3D" it really means files of type D.
So the terms "X3D is VRML" and "VRML is X3D" can be explained as: Files of types C and D are completely interoperable and conform to the same scenegraph structure. The scene graphs are specified by the X3D standard, ISO 19975. X3D abstract scene graph (C and D) evolved some new nodes from VRML (B).
X3D is an evolving standard, currently at version 3.3. Backward compatibility among versions has been a principle of X3D development. Moreover, it a full-featured standard, with levels of support specified by profiles. So, for example, a file of type D "X3D" which conforms to version 3.3 of the standard, and conforming to the "Interchange" profile, can be losslessly converted to a file of type C, "VRML" at the same version/profile. Whether an application can read this as a VRML file depends on that application's support for the scenegraph features of X3D scenegraph at this version and profile.
VRML files of types B and C are syntactically equivalent, and the feature set of VRML97 is a subset of the feature set of X3D - ISO-19775. This combined with the backwards compatibility of X3D evolution, means we can convert B --> D files losslessly. The conversion of XML "D" files --> VRML "B" files will run into the feature issue you mentioned; how to support rich X3D features in VRML97, and resolution of the issue really depends on applications' development to support rich features, or to accomodate unknown features in a controlled way. This feature support mismatch problem is common among all evolving file formats, including applications' native file formats.