Support for X3D / WRL / STL

I have an undergrad student who will be doing some Avogadro development this term.

As a “starter” project, I’d like to have him add support for 3D printing file formats. I can see a few options:

  • VRML 97 (WRL)
  • X3D
  • STL

Since STL does not support color maps, I’m inclined to have him start with WRL:

Transform {
 translation -2.28948 -3.56063 -0.663445
 children Shape {
  geometry Sphere {
   radius 3.36
  appearance Appearance {
   material Material {
    diffuseColor 0.9 0.9 0.9

So I’d go for VdW spheres, ball and stick, etc. first and meshes next (e.g., so people can print electrostatic maps or maybe orbitals).

The feature should add a little “scale” bar, since most services interpret one unit = one meter (so 0.01 = 1 cm):

First off would be implementation for Avogadro v1.x.

One question - would it be worth an estimate on costs for 3D printing (i.e., the volume is ~X cm3)?