We are huge supporters of open
source software. The complete architecture of the Shapeways web platform is
built around open source software (both commercial as non-commercial).In this post I
would like to go into the our contributions on Xj3D.

Xj3D is a Java toolkit
for working with VRML and X3D content.We use Xj3D
throughout our 3D file processing, conversion and validation chain. And more
visibly we also use it in our Shapeways Creators like the LightPoem or
Photoshaper creators
.

Shapeways has
contributed quite a lot of code to Xj3D (approx. 100,000 lines of code).

So what
have we added? An overview:

  • New filters:Combine Shapes –
    combine multiple shapes in one mesh
  • Flatten transform
    – change a transform hierarchy into global coordinates
  • Index – change
    non-indexed to indexed geometry
  • Reindex – detect
    shared coordinates and change them into shared indexes
  • Triangulation –
    turn any X3D geometry into a flat triangle array
  • Center Filter –
    center an object
  • Modify Viewpoint
    – change the view point or create a new one if not there

The most time went
into the ReIndex filter since it was the most difficult to get right. Although
the concept is simple rounding problems with float values gave us some
headaches. Collada (read)VRML97 (writing)STL (writing).

The great thing
about open source is that you do not have reinvent the wheel. We know that
Xj3D is also used by the American Navy, 
NASA and Emerson. And they also contribute back which benefits
Shapeways and you — our community. Photograph used under Creative Commons Attribution, Khrawlings