Why is it that AutoCAD software allows saving files in formats compatible with earlier versions, while Revit, despite also being Autodesk software, does not? Here, I aim to provide some insights based on my understanding to help everyone better grasp how Revit works.
Everyone knows that Revit has two key features. First, when you adjust parameters related to geometry, the geometric shape of elements updates accordingly—this is known as parameterization. Second, there is a strong correlation between pieces of information. For example, if you modify the width of a door on a wall, the corresponding door opening on that wall adjusts automatically to match the new width.
These two features create a tightly linked relationship within Revit model data. As new features are continuously added and bugs fixed, the attribute lists of elements undergo constant changes—attributes may be added, deleted, or modified. Sometimes, attributes of one element need to be moved to another. These attributes correspond to one or more fields in the data storage. Modifying any element’s attributes (or fields) requires changes to the file structure, which leads to new file version upgrades.
Officially, Autodesk releases major versions that incorporate numerous small file version updates. In reality, a jump between two major versions (for example, from 2012 to 2013) includes many small incremental file version changes.
For different file versions, if a new Revit version were to support saving files back to old versions, it would need to restore the old version’s data content from the new version’s data. Some data loss might be acceptable, but the key is that the old version’s data must be reconstructible from the new version.
Another possibility is that Revit retains almost all the code logic for handling data changes across versions. When saving to an older version, it would use the older version’s processing logic. However, this approach would impose an enormous burden on a complex system like Revit. Moreover, retaining old logic means preserving bugs and errors present in earlier versions. Therefore, Autodesk cannot realistically adopt this method.
Let’s consider whether it’s feasible to reconstruct old version data from new version data. Suppose in an old version, an element had two integer attribute fields: A and B. Later, based on user feedback, developers realized that these fields should be replaced by a single field C, where C = A + B. In the new file version, there are no longer separate fields A and B; only C exists.
When saving back to the old version, Revit would need to extract values for A and B from C. However, this is impossible because multiple combinations of A and B can produce the same sum C. For example, if C equals 5, A and B could be 1 + 4, 2 + 3, 3 + 2, or 4 + 1, assuming only positive integers. There’s no way to determine the original values uniquely.














Must log in before commenting!
Sign Up