49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|