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.

  • Deelip

    I started a huge article just before we started DEVELOP3D and I never got around to finishing it up (it stacked up at around 8,000 words near the end). Anyway, I put together the thoughts and what I discovered about 3dxml at the time and I'll cut/paste it here so you've got a bit more information. Bear in mind, this was done in 2007/8 and I've not had a chance to update it so things might have changed. That said: Here you go mate.

    Dassault announced 3DXML back in 2004 with the immortal words from Dassault CEO, Bernard Charles, “JT is dead.” Two years later [now 5 years later], and while the 3DXML format has finally been documented and released, Dassault’s visions of taking on the JT format with its new technology have singularly failed to materialise.

    3DXML is an amalgamation of two technologies and you can think about splitting it into two parts – 3D part and the XML based part.

    The XML part is standards-based, in that it relies upon the eXtensible Mark-up Language that’s common throughout the IT world for definition of text-based data. It’s this component of 3DXML that defines and stores the product structure and pretty much anything else you want to include in it – namely metadata.
    While the XML portion is pretty much standard, having looked into it, when you look at how 3DXML holds 3D geometry isn’t as cut and dried as you would have thought. If you believed the hype surrounding 3DXML, the use of the XVL technology would mean that you could have ultra compact files, but retain the exact geometry of your native CAD file.

    Take this snippet from the press release “3D XML compresses highly complex data, with file sizes up to 99 percent smaller than those of existing formats. …it provides rapid file transmission and shorter load times while maintaining the exact geometry of the files exchanged.” The problem is that this is not exactly the case.

    The 3DXML specification allows for three methods of geometry definition. The method that’s referred to most is the Exact format (referred to as Level 3) – based on the XVL technology from Lattice. Things are further complications when you realise that the standard XVL format uses two methods of geometry specification – the Mesh and the Surface.

    The Surface component is surface data represented by Gregory Patches – an efficient form of geometry definition. Meanwhile, the Mesh is a polygon mesh that consists of topologies, faces, edges, vertices and rounding weights which, when interpreted and rebuild, recreate the Surface component.

    Both datasets have the same topology and you can switch between the two without any geometry inaccuracies or approximation being introduced. If you have the Lattice Mesh, although it’s a very small data file, this can be used to create the corresponding Lattice surface mesh. If this instance, 3DXML uses a modified version of this, with 3DXML containing the ultra efficient mesh component, which the interpreting software (such as the viewer or Catia V5) uses to rebuild and display the highly accurate surface model.

    When it comes to the ‘Tessellated’ method, there are two formats – Version 1 and 2. Version 1 is an XML-based triangulated mesh for ‘simple geometry exchange’. Tessellated Version 2 uses a triangular mesh with file size optimisation which gives “quick loading and compact documents” – and this is analogous to the CGR tessellated geometry display technology within Catia.


    As it’s a Dassault initiative, its being pushed out across all of the associated brands and product groups, so not only can Catia read and write 3DXML, so can the likes of the Delmia and Enovia products – as can SolidWorks. Or can it? While within the Catia/V5 platform and products, the use of 3DXML can be pervasive if you choose to adopt it when you take a look around the Dassault web-site, you’ll see that the organisation is making a great deal of noise about the fact that all of the Dassault products are 3DXML enabled. The truth is that when it comes to SolidWorks, there are a few restrictions. Firstly, SolidWorks, from 2007 onwards, allows the user to create 3DXML files – but not read them. Also, what’s not documented anywhere is that the SolidWorks implementation of 3DXML is based on output using Version 1 ASCII defined tessellation – in other words, SolidWorks has the lowest level of 3DXML support. The files are pretty large (in our tests a 34Mb assembly set output as a 20Mb 3DXML file) and only as an output option. Dassault claim that 3DXML “allows any software program to read, write, and enrich 3D XML content using standard tools” – but even within their own product group, there’s some form of influence at play that are hampering the adoption of 3DXML – even with products and user communities that all contribute to their bottom line.

    I asked Aaron Kelly, Director of Product Development [at the time] at SolidWorks about this situation and the root causes in the mismatch between the two Dassault organisations and he replied “We support the first level which is the most open, which reveals tessellated graphics data. Most users that are collaborating need to visualize the components they are collaborating on. In order to support the “XVL level” of 3D XML files, we would need to invest time in our development cycle to implement. SolidWorks 2007 was just launched. We have decided to wait for customer demand until we decide on investing further development time to read in the “XVL level” into SolidWorks.”

    Personally speaking, I think the three most interesting words in Kelly’s reply are these “the most open.” While each vendor claims to be opening up their formats, fact of the matter is that these initiatives are there for one reason and one reason alone – to assist them sell more software. Vendors may claim that the release of a viewing application, likes the JT ToGo application, the 3DXML player, or eDrawings, DWF Viewer etc means that they’re giving away functionality, but most are restrictive viewing applications.

  • Brian Hall

    This sounds good in theory, but the vendors are already doing things outside this to make reading in file formats from other vendors possible. What kind of bearing does that have on development of this format?

  • Ken

    Sounds very similar to the Siemens “PLMXML” format which can also include JT and/or Parasolid data.

  • Al gave us all the details. I want to add that it looks like DS has more or less replaced 3D XML by the Seemage technology they acquired. Both format are everything but “open” (which the “XML” tag should have implied I guess …); Evan Yares has a nice T-shirt regarding that: http://www.evanyares.com/the-cad-industry/2008/

  • well, I have been looking at the 3dxml player but it's programability seems limited. … What exactly does the license cover?

  • Thanks a landlord it! I acquired yet some insight. Life is so colorful, we should be able to live in, such as Korea and honor the planet. Human life is like rivers, slowly flowing, flowing rivers, flowing through the snow, flows through the prairie and ultimately into the sea, return to the embrace of nature, start a new reincarnation. Allow us to feel the meaning of life will come only to those you have those memories http://www.chaneloutletstores.com/Chanel-bikini.html