What about step? I find it pretty hard to have a good idea of the step format... It looks like a perfect candidate, it can have complex hierarchy, scripted objects, it is in ascii text format, so it works well with version control systems. Maybe it is just too complicated? Yorik