public static BatchRvtSettings Create( string taskScriptFilePath, string revitFileListFilePath, BatchRvt.RevitProcessingOption revitProcessingOption, BatchRvt.CentralFileOpenOption centralFileOpenOption, bool deleteLocalAfter, bool discardWorksetsOnDetach, BatchRvt.RevitSessionOption revitSessionOption, BatchRvt.RevitFileProcessingOption revitFileVersionOption, RevitVersion.SupportedRevitVersion taskRevitVersion, int fileProcessingTimeOutInMinutes, bool fallbackToMinimumAvailableRevitVersion ) { var batchRvtSettings = new BatchRvtSettings(); // General Task Script settings batchRvtSettings.TaskScriptFilePath.SetValue(taskScriptFilePath); batchRvtSettings.ProcessingTimeOutInMinutes.SetValue(fileProcessingTimeOutInMinutes); // Revit Processing settings batchRvtSettings.RevitProcessingOption.SetValue(revitProcessingOption); // Revit File List settings batchRvtSettings.RevitFileListFilePath.SetValue(revitFileListFilePath); // Central File Processing settings batchRvtSettings.CentralFileOpenOption.SetValue(centralFileOpenOption); batchRvtSettings.DeleteLocalAfter.SetValue(deleteLocalAfter); batchRvtSettings.DiscardWorksetsOnDetach.SetValue(discardWorksetsOnDetach); // Revit Session settings batchRvtSettings.RevitSessionOption.SetValue(revitSessionOption); // Single Revit Task Processing settings batchRvtSettings.SingleRevitTaskRevitVersion.SetValue(taskRevitVersion); // Batch Revit File Processing settings batchRvtSettings.RevitFileProcessingOption.SetValue(revitFileVersionOption); batchRvtSettings.IfNotAvailableUseMinimumAvailableRevitVersion.SetValue(fallbackToMinimumAvailableRevitVersion); batchRvtSettings.BatchRevitTaskRevitVersion.SetValue(taskRevitVersion); batchRvtSettings.AuditOnOpening.SetValue(false); // TODO: implement this option for this function? return(batchRvtSettings); }
public static bool IsBatchRvtAddinInstalled(RevitVersion.SupportedRevitVersion revitVersion) { bool isAddinInstalled = false; var revitAddinsBaseFolders = new [] { Environment.SpecialFolder.CommonApplicationData, Environment.SpecialFolder.ApplicationData }; var revitAddinsFolderPaths = revitAddinsBaseFolders.Select(f => RevitVersion.GetRevitAddinsFolderPath(revitVersion, f)).ToList(); foreach (var revitAddinsFolderPath in revitAddinsFolderPaths) { var batchRvtAddinFilePath = Path.Combine(revitAddinsFolderPath, BATCHRVT_ADDIN_FILENAMES[revitVersion]); if (File.Exists(batchRvtAddinFilePath)) { isAddinInstalled = true; } } return(isAddinInstalled); }