//On DocumentChanged internal void DocumentChanged(Autodesk.Revit.DB.Events.DocumentChangedEventArgs e) { List <string> commands = new List <string>() { "param", "Modify element attributes", "Family Types", "Add Parameter", "Delete Selection", "Delete Parameter", "Parameter Delete", "Parameter Change", "Change Parameter Name", "Project Units" }; if (_presenter != null && _presenter._enabled) { IList <String> operations = e.GetTransactionNames(); if (commands.Any(operations.Contains)) { _presenter.ThisDocumentChanged(); } } }
private void ControlledApplication_DocumentChanged(object sender, Autodesk.Revit.DB.Events.DocumentChangedEventArgs e) { Autodesk.Revit.DB.Document doc = e.GetDocument(); var app = doc.Application; string journalPath = app.RecordingJournalFilename; string user = app.Username; using (StreamWriter sw = new StreamWriter(Utills.journal)) { sw.WriteLine(journalPath); sw.Close(); } using (StreamWriter sw = new StreamWriter(Utills.userPath)) { sw.WriteLine(user); sw.Close(); } string versionBuild = app.VersionBuild; DateTime d = DateTime.Now; List <string> transactions = e.GetTransactionNames().ToList(); var modified = e.GetModifiedElementIds(); List <Element> modifiedElements = new List <Element>(); if (modified?.Count() > 0) { modifiedElements.AddRange(modified.Select(x => doc.GetElement(x))?.ToList()); } var added = e.GetAddedElementIds(); List <Element> addedElements = new List <Element>(); if (added?.Count() > 0) { addedElements.AddRange(added.Select(x => doc.GetElement(x))?.ToList()); } List <ElementId> DeletedIds = new List <ElementId>(); var deleted = updater.Deleteds; if (deleted?.Count() > 0) { DeletedIds.AddRange(deleted); } Utills.GetDataFromEvents(addedElements, modifiedElements, DeletedIds, transactions, user, out DataTable addtbl, out DataTable edittbl, out DataTable deletedtbl, out DataTable transtbl); addtbl.ToTXT(Utills.addPath); edittbl.ToTXT(Utills.editPath); deletedtbl.ToTXT(Utills.deletedPath); transtbl.ToTXT(Utills.transPath); }
private static void ControlledApplication_DocumentChanged(object sender, Autodesk.Revit.DB.Events.DocumentChangedEventArgs e) { var document = e.GetDocument(); var documentTitle = document.Title; var transactionNames = e.GetTransactionNames(); if (document.IsWorkshared) { var path = ModelPathUtils.ConvertModelPathToUserVisiblePath(document.GetWorksharingCentralModelPath()); documentTitle = Path.GetFileNameWithoutExtension(path); } var addedIds = e.GetAddedElementIds().Select(x => x.IntegerValue); var modifiedIds = e.GetModifiedElementIds().Select(x => x.IntegerValue); var deletedIds = e.GetDeletedElementIds().Select(x => x.IntegerValue); controller.DocumentChangedEvent.DocumentChanged(transactionNames, documentTitle, addedIds, modifiedIds, deletedIds); }