using Autodesk.Revit.Attributes; using Autodesk.Revit.UI; using Nice3point.Revit.Toolkit.External; using Nice3point.Revit.Toolkit.External.Handlers; namespace Sai.RvKits.RvCommon; [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class AutoSaveCmd : ExternalCommand { private readonly System.Timers.Timer timer = Variables.Timer; public override void Execute() { if (string.IsNullOrEmpty(Document.PathName)) { ErrorMessage = "当前文件尚未保存,请先保存文件"; Result = Result.Failed; return; } AutoSaveViewModel viewModel = new(); AutoSaveView view = new() { DataContext = viewModel }; view.ShowDialog(); if (view.DialogResult == true) { if (Properties.Settings.Default.AutoSave) { if (Properties.Settings.Default.AutoSaveIntervalTime >= 1) { timer.Interval = Properties.Settings.Default.AutoSaveIntervalTime * 60 * 1000; } Properties.Settings.Default.Save(); //timer.Enabled = Properties.Settings.Default.AutoSave; timer.Start(); } else { timer.Stop(); } } Result = Result.Succeeded; } }