Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/RvCommon/AutoSaveCmd.cs

43 lines
1.2 KiB
C#
Raw Normal View History

2024-09-22 11:05:41 +08:00
using Autodesk.Revit.Attributes;
using Nice3point.Revit.Toolkit.External;
2025-04-24 20:56:44 +08:00
namespace ShrlAlgoToolkit.RevitAddins.RvCommon;
2024-09-22 11:05:41 +08:00
[Transaction(TransactionMode.Manual)]
public class AutoSaveCmd : ExternalCommand
{
private readonly System.Timers.Timer timer = Variables.AutoSaveTimer;
2024-09-22 11:05:41 +08:00
public override void Execute()
{
if (string.IsNullOrEmpty(Document.PathName))
{
ErrorMessage = "当前文件尚未保存,请先保存文件";
Result = Result.Failed;
return;
}
AutoSaveViewModel viewModel = new();
AutoSaveView view = new()
{
DataContext = viewModel
};
view.ShowDialog();
2025-04-24 20:56:44 +08:00
if (RevitAddins.Properties.Settings.Default.IsActiveAutoSave)
2024-09-22 11:05:41 +08:00
{
2025-04-24 20:56:44 +08:00
if (RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime >= 1)
2024-09-22 11:05:41 +08:00
{
2025-04-24 20:56:44 +08:00
timer.Interval = RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime * 60 * 1000;
RevitAddins.Properties.Settings.Default.Save();
2024-09-22 11:05:41 +08:00
}
//timer.Enabled = Properties.Settings.Default.AutoSave;
timer.Start();
}
else
{
timer.Stop();
2024-09-22 11:05:41 +08:00
}
Result = Result.Succeeded;
}
}