Files
2026-02-23 14:58:05 +08:00

51 lines
1.5 KiB
C#

using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.Attributes;
using EncapsulationProgressBar.ViewModels;
using static UIFramework.WorksharingNotificationWindow;
namespace WPFMonitorProgress.Commands
{
[Transaction(TransactionMode.Manual)]
class ExcuteCmd : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
int count = 5;
try
{
System.Action<int> action = Method;
ProgressMonitorViewModel viewModel = new ProgressMonitorViewModel(doc)
{
ProcessTitle = "处理墙体",
MaxValue= count,
Action= action,
};
viewModel.ProgressModal();
}
catch (Exception e)
{
if (!(e is Autodesk.Revit.Exceptions.OperationCanceledException))
{
message = e.Message;
return Result.Failed;
}
}
return Result.Succeeded;
}
private void Method(int i)
{
//TaskDialog.Show("提示", "执行了");
}
}
}