You can prevent data corruption in your model by understanding the types of corruption and how they occur.
Types of Corruption
Understanding the different types of data corruption is an important step to determining and preventing the causes of corruption.
Element-Level Corruption
- When model elements are modified, the modification can affect other objects that interact with the first modified object. Other elements can be affected by the modification as the change is propagated through the model.
- Each element is expected to have properties and parameters that can be modified in predefined ways. Elements are said to be corrupt when they are changed to a state in which they have properties or values that they should not have.
- A corrupt element can exist within the project without leading to errors if
Revit LT does not try to refresh, redraw or interact with the corrupted element. However, when
Revit LT tries to modify the object and the unexpected state of the element causes the modification to fail,
Revit LT attempts to recover. If the failure is severe, or if there are too many corrupt elements, the current operation will fail and
Revit LT will try to restore to a prior state. If this fails, an error displays.
Symptoms of Element-Level Corruption
- Error: Element <Element ID> has become corrupt at some time before this session. Performing an audit may clear this problem if there are not too many corrupt elements.
- Failure to modify certain elements.
- Failure to open certain views.
- Failure to save the model.
- Instability when performing certain operations, such as Synchronize with Central, Transfer Product Standards and Audit, Purge Unused.
- Failure to open the model. Many objects are redrawn/refreshed during this process.
The following list contains some common symptoms of element-level corruption.
Project-Level Corruption
- Missing elements - one or more elements referenced in the model are missing.
- Data streams with bad information or no information at all - The RVT format is compressed, and when the model is opened, the data streams are decompressed into the %TMP% folder. If Revit cannot decompress the data, or deserialize the stored data into memory, Revit will be unable to open the model.
- Unreadable data streams - If the model is not fully or properly written to the storage media, Revit may not be able to read one or more of the data streams as it tries to decompress the model.
Symptoms of Project-Level Corruption
- Failure to open the model.
- Instability when opening certain views.
- Instability when performing certain operations, such as Synchronize with Central, Transfer Product Standards and Audit, Purge Unused.
The following list contains some common symptoms of element-level corruption.
Corruption can also occur at the project level. This can result in the following occurrences.
Causes of Corruption
Some causes of corruption are listed below.
- Read/write failure to and from the storage media.
- Revit LT is unstable, especially when writing data to the RVT model.
- An add-in that modifies elements in ways that are impossible or undesirable through the user interface.
- Untested operations or series of operations - for example, canceling a synchronization or using the Undo command after synchronizing.
Best Practices to Prevent Data Corruption
Follow the guidelines in this section to prevent data corruption.
Ensure that you have a backup copy of the model. Corruption can be introduced during an editing session. When this happens, each save operation causes a valid backup to be lost and a corrupt backup to be created. If the number of automatic backups is fewer than the number of save operations, all valid backups are lost. To ensure you that have a valid backup, do one or both of the following.
- Increase the number of automatic backups to a number greater than the number of saves that will be made within a single editing session. For example, if you save on average fewer than 50 times per editing session, increase the number of backups to more than 50.
- Create manual backups. Create a separate copy of the project in addition to the automatic backups.
Audit the model periodically. It's good practice to audit the model once a week, but if the rate of change is higher, audit more frequently. As the number of errors increases, Revit LT will eventually be unable to continue operating. Using audit data can clear out problematic data and serve as a warning if auditing begins to fail.
Ensure that Revit LT is updated. As Autodesk identifies issues that lead to corruption, the code is modified to prevent these problems. Install the latest updates to ensure that all fixes are present.
Keep non-workshared files and local workshared files on the local hard drive. Writing directly to a network path increases the chance of a read/write failure.
Ensure that at least 5 GB (or the amount specified in the system requirements) of hard disk space is available. If Revit LT is unable to write to the hard drive because it is full, the resulting model will be incomplete and unusable.
Ensure that the %TMP% folder is emptied periodically. When an RVT file is opened, it is decompressed into the temp folder, and Revit works from this location. If Revit is unable to read/write to this folder, the result may be corruption or false corruption messages. Ensure the %TMP% folder is located on the local hard drive.
Avoid using the Undo command after synchronizing or canceling a synchronize process. These processes can place the model in an inconsistent state where some parts are updated and other parts are not.
Keep the number of warnings to a minimum. Warnings point to possible problems with the project. Numerous warnings increase the chance that Revit LT will have difficulties when updating the associated elements.
Upgrade the model periodically to ensure that you have a version of Revit LT that can open the model without upgrading. When encountering errors in the upgrade process, there are times when changes must be made in the model to allow the upgrade to succeed. However, if model data is archived without change for long periods of time, the original version of the software may no longer be available. To avoid this situation, periodically upgrade the archived model data, addressing errors as they occur. Depending on future project needs and available storage space, you may want to maintain both the original model data and the upgraded copies.