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);
        }
Example #2
0
        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);
        }