What Exactly is 3D XML?

Dassault Systemes’s definition of 3D XML states that it is “a universal lightweight XML-based format for quick and easy sharing of 3D data“. If you have dabbled a little in HTML and XML you might think that all XML-based files can be opened in a text editor, have HTML like tags and look something like this:

<?xml version=”1.0″ encoding=’UTF-8′?>
<img src=”madonna.jpg” alt=’Foligno Madonna, by Raphael’/>
<caption>This is Raphael’s “Foligno” Madonna, painted in

I took this example from Wikipedia’s XML page. The 3D XML file format is a bit different. A 3D XML file is actually a ZIP file containing other files. To see this for yourself, simply rename a .3dxml file to .zip, open it in WinZip or similar and extract the contents into a folder. You may be surprised to find one or more files with a .3dxml extension. These are actual text XML files (like the one I listed above) and the reason why Dassault Systemes can call 3D XML a “XML-based” format.

You will also find one or more .3DRep files, one for each object in the 3D model. These 3DRep files are quite interesting because they can either be text XML files containing the tessellation of the objects in the model or proprietary CATIA V5 files, possibly a CATIA Graphics (CGR) file or some variant. However, I don’t believe 3D XML file can contain the NURBS model which is the actual intellectual property. That’s why Dassault Systemes describes it as a lightweight format. If anyone can shed some light on this please leave a comment.