public static string RunTaskAdvanced( string taskScriptFilePath, IEnumerable <string> revitFileList, UseRevitVersion useRevitVersion, BatchRvt.CentralFileOpenOption centralFileOpenOption, bool discardWorksetsOnDetach, bool deleteLocalAfter, bool openLogFileWhenDone, string logFolderPath, int fileProcessingTimeOutInMinutes, bool fallbackToMinimumAvailableRevitVersion, string taskData, string testModeFolderPath ) { return(RunTask( taskScriptFilePath, revitFileList, // Input is a list of Revit file paths. BatchRvt.RevitProcessingOption.BatchRevitFileProcessing, useRevitVersion, centralFileOpenOption, discardWorksetsOnDetach, deleteLocalAfter, openLogFileWhenDone, logFolderPath, fileProcessingTimeOutInMinutes, fallbackToMinimumAvailableRevitVersion, taskData: taskData, testModeFolderPath: testModeFolderPath )); }
public static string RunSingleTask( string taskScriptFilePath, UseRevitVersion useRevitVersion, bool openLogFileWhenDone, string taskData, string testModeFolderPath ) { if (useRevitVersion == UseRevitVersion.RevitFileVersion) { throw new ArgumentException("useRevitVersion argument must specify a specific Revit version!"); } return(RunTask( taskScriptFilePath, null, // Revit File list is N/A for single task processing BatchRvt.RevitProcessingOption.SingleRevitTaskProcessing, useRevitVersion, BatchRvt.CentralFileOpenOption.Detach, // N/A for single task processing discardWorksetsOnDetach: true, // N/A for single task processing deleteLocalAfter: true, // N/A for single task processing openLogFileWhenDone: openLogFileWhenDone, logFolderPath: null, fileProcessingTimeOutInMinutes: 0, // N/A for single task processing fallbackToMinimumAvailableRevitVersion: false, taskData: taskData, testModeFolderPath: testModeFolderPath )); }
/// <summary> /// Runs a Revit Batch Processing task, with advanced options available. The Revit file list is provided by the specified Excel or text file path. /// </summary> /// <param name="toggleToExecute"></param> /// <param name="taskScriptFilePath"></param> /// <param name="revitFileListFilePath"></param> /// <param name="useRevitVersion"></param> /// <param name="centralFileOpenOption"></param> /// <param name="discardWorksetsOnDetach"></param> /// <param name="deleteLocalAfter"></param> /// <param name="openLogFileWhenDone"></param> /// <param name="logFolderPath"></param> /// <param name="fileProcessingTimeOutInMinutes"></param> /// <param name="fallbackToMinimumAvailableRevitVersion"></param> /// /// <returns></returns> public static string RunTaskOnListFile( bool toggleToExecute, // TODO: reconsider if this is needed here. string taskScriptFilePath, string revitFileListFilePath, // Input is a file path to a list of Revit file paths. UseRevitVersion useRevitVersion, CentralFileOpenOption centralFileOpenOption, bool discardWorksetsOnDetach, bool deleteLocalAfter, bool openLogFileWhenDone, string logFolderPath, int fileProcessingTimeOutInMinutes, bool fallbackToMinimumAvailableRevitVersion ) { return(BatchRvtTasks.RunTask( taskScriptFilePath, revitFileListFilePath, BatchRvt.RevitProcessingOption.BatchRevitFileProcessing, (BatchRvtTasks.UseRevitVersion)useRevitVersion, (BatchRvt.CentralFileOpenOption)centralFileOpenOption, discardWorksetsOnDetach, deleteLocalAfter, openLogFileWhenDone, logFolderPath, fileProcessingTimeOutInMinutes, fallbackToMinimumAvailableRevitVersion, taskData: null, testModeFolderPath: null )); }
public static string RunTask( string taskScriptFilePath, object revitFileListInput, BatchRvt.RevitProcessingOption revitProcessingOption, UseRevitVersion useRevitVersion, BatchRvt.CentralFileOpenOption centralFileOpenOption, bool discardWorksetsOnDetach, bool deleteLocalAfter, bool openLogFileWhenDone, string logFolderPath, int fileProcessingTimeOutInMinutes, bool fallbackToMinimumAvailableRevitVersion, string taskData, string testModeFolderPath ) { var batchRvtRevitFileProcessingOption = ( useRevitVersion == UseRevitVersion.RevitFileVersion ? BatchRvt.RevitFileProcessingOption.UseFileRevitVersionIfAvailable : BatchRvt.RevitFileProcessingOption.UseSpecificRevitVersion ); // NOTE: can be any version if useRevitVersion is set to RevitFileVersion. var taskRevitVersion = ( useRevitVersion == UseRevitVersion.Revit2015 ? RevitVersion.SupportedRevitVersion.Revit2015 : useRevitVersion == UseRevitVersion.Revit2016 ? RevitVersion.SupportedRevitVersion.Revit2016 : useRevitVersion == UseRevitVersion.Revit2017 ? RevitVersion.SupportedRevitVersion.Revit2017 : useRevitVersion == UseRevitVersion.Revit2018 ? RevitVersion.SupportedRevitVersion.Revit2018 : RevitVersion.SupportedRevitVersion.Revit2019 ); var batchRvtSettings = BatchRvtSettings.Create( taskScriptFilePath, (revitFileListInput as string) ?? string.Empty, revitProcessingOption, centralFileOpenOption, deleteLocalAfter, discardWorksetsOnDetach, BatchRvt.RevitSessionOption.UseSeparateSessionPerFile, batchRvtRevitFileProcessingOption, taskRevitVersion, fileProcessingTimeOutInMinutes, fallbackToMinimumAvailableRevitVersion ); var commandSettingsData = new CommandSettings.Data(); commandSettingsData.RevitFileList = revitFileListInput as IEnumerable <string>; commandSettingsData.Settings = batchRvtSettings; commandSettingsData.LogFolderPath = logFolderPath; commandSettingsData.TaskData = taskData; commandSettingsData.TestModeFolderPath = testModeFolderPath; return(RunTask(commandSettingsData, openLogFileWhenDone)); }
/// <summary> /// Runs a single (non-batch) Revit task. Any file processing is left up to the task script to manage! /// </summary> /// <param name="toggleToExecute"></param> /// <param name="taskScriptFilePath"></param> /// <param name="useRevitVersion"></param> /// <param name="openLogFileWhenDone"></param> /// <returns></returns> public static string RunSingleTask( bool toggleToExecute, // TODO: reconsider if this is needed here. string taskScriptFilePath, UseRevitVersion useRevitVersion, bool openLogFileWhenDone ) { return(BatchRvtTasks.RunSingleTask( taskScriptFilePath, (BatchRvtTasks.UseRevitVersion)useRevitVersion, openLogFileWhenDone, taskData: null, testModeFolderPath: null )); }
/// <summary> /// Runs a Revit Batch Processing task. The Revit file list is provided as a list of strings. /// </summary> /// <param name="toggleToExecute"></param> /// <param name="taskScriptFilePath"></param> /// <param name="revitFileList"></param> /// <param name="useRevitVersion"></param> /// <param name="centralFileOpenOption"></param> /// <param name="discardWorksetsOnDetach"></param> /// <param name="deleteLocalAfter"></param> /// <param name="openLogFileWhenDone"></param> /// <returns></returns> public static string RunTask( bool toggleToExecute, // TODO: reconsider if this is needed here. string taskScriptFilePath, IEnumerable <string> revitFileList, UseRevitVersion useRevitVersion, CentralFileOpenOption centralFileOpenOption, bool discardWorksetsOnDetach, bool deleteLocalAfter, bool openLogFileWhenDone ) { return(BatchRvtTasks.RunTask( taskScriptFilePath, revitFileList, // Input is a list of Revit file paths. (BatchRvtTasks.UseRevitVersion)useRevitVersion, (BatchRvt.CentralFileOpenOption)centralFileOpenOption, discardWorksetsOnDetach, deleteLocalAfter, openLogFileWhenDone, taskData: null, testModeFolderPath: null )); }