Версия документа и количество сохранений
Александр Бушман (Alexander Buschmann) из компании IDAT Ingenieurbüro für Datenverarbeitung in der Technik GmbH прокомментировал статью о том, как отследить изменение семейства:
В Revit 2015 есть класс DocumentVersion, в котором есть свойства GUID и количество сохранений файла.
Имея эту информацию можно определить, были ли сделаны изменения или нет.
Можно сохранить эту информацию в параметр только для чтения и не надо изобретать никаких велосипедов по вычисления контрольной суммы.
DocumentVersion можно получить с помощью свойства BasicFileInfo.GetDocumentVersion.
Я не пробовал этот вариант, но не вижу причин чтобы он не работал.
CmdDocumentVersion
Основываясь на предложении Александра, я реализовал этот новую небольшую команду CmdDocumentVersion в примерах The Building Coder:
- [Transaction(TransactionMode.ReadOnly)]
- class CmdDocumentVersion : IExternalCommand
- {
- public Result Execute(
- ExternalCommandData revit,
- ref string message,
- ElementSet elements)
- {
- UIApplication uiapp = revit.Application;
- UIDocument uidoc = uiapp.ActiveUIDocument;
- Document doc = uidoc.Document;
- string path = doc.PathName;
- BasicFileInfo info = BasicFileInfo.Extract(
- path);
- DocumentVersion v = info.GetDocumentVersion();
- int n = v.NumberOfSaves;
- TaskDialog.Show("DocumentVersion", string.Format(
- "Документ '{0}' содержит GUID {1} и был сохранен {2} раз.",
- path, v.VersionGUID, n));
- //Util.InfoMsg(string.Format(
- // "Документ '{0}' содержит GUID {1} и был сохранен {2} раз.",
- // path, v.VersionGUID, n));
- return Result.Succeeded;
- }
- }
Выполнив команду на примере проекта архитектурной модели из поставки Revit получим вот такой результат:
Кстати еще один важный момент, заслуживающий внимания. BasicFileInfo теперь можно получить и для открытого в данный момент файла.
Спасибо Александу за совет.
Примеры The Building Coder и файлы проектов можно скачать из репозитория The Building Coder samples на GitHub
Версия примеров, обсуждаемых в статье – 2015.0.111.0
Источник: http://thebuildingcoder.typepad.com/blog/2014/08/document-version-guid-and-number-of-saves.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=936
Опубликовано 28.08.2014