Exemple #1
0
 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
                ));
 }
Exemple #2
0
        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
                       ));
        }
Exemple #3
0
 /// <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
                ));
 }
Exemple #4
0
        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));
        }
Exemple #5
0
 /// <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
                ));
 }
Exemple #6
0
 /// <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
                ));
 }