using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
namespace Revit.SDK.Samples.ScheduleToHTML.CS
{
///
/// The external command exporting the active schedule to HTML.
///
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
class ScheduleHTMLExportCommand : IExternalCommand
{
#region IExternalCommand Members
///
/// The implementation of the command.
///
///
///
///
///
public Result Execute(ExternalCommandData commandData, ref string message, Autodesk.Revit.DB.ElementSet elements)
{
Document doc = commandData.Application.ActiveUIDocument.Document;
View activeView = commandData.View;
if (activeView is ViewSchedule)
{
ScheduleHTMLExporter exporter = new ScheduleHTMLExporter(activeView as ViewSchedule);
Autodesk.Revit.ApplicationServices.Application revitApplication = commandData.Application.Application;
bool bInteractive = revitApplication.IsJournalPlaying() ? false : true;
return exporter.ExportToHTML(bInteractive, ref message) ? Result.Succeeded : Result.Cancelled;
}
message = "Unable to proceed: Active view must be a schedule.";
return Result.Cancelled;
}
#endregion
}
}