Example #1
0
        /// </structural_toolkit_2015>

        /// <summary>
        /// Read from Revit parameters common for all selected elements and stores them in cref="CommonParametersBase".
        /// </summary>
        /// <param name="listElementStatus">List identyficators of elements with result status.</param>
        /// <param name="server">Acces to cref="Server".</param>
        /// <param name="data">Acces to cref="ServiceData".</param>
        /// <returns>Common parameters.</returns>
        protected CommonParametersBase ReadCommonParameters(List <Tuple <ElementId, ResultStatus> > listElementStatus, Server.Server server, Autodesk.Revit.DB.CodeChecking.ServiceData data)
        {
            Autodesk.Revit.DB.CodeChecking.Storage.StorageService  service         = Autodesk.Revit.DB.CodeChecking.Storage.StorageService.GetStorageService();
            Autodesk.Revit.DB.CodeChecking.Storage.StorageDocument storageDocument = service.GetStorageDocument(data.Document);

            Guid activePackageId = storageDocument.CalculationParamsManager.CalculationParams.GetInputResultPackageId(server.GetServerId());

            Autodesk.Revit.DB.ExtensibleStorage.Framework.SchemaClass calcParams = EngineData.ReadCalculationParameter(data);

            List <ElementId> listCombinationId = new List <ElementId>();

            if (server.LoadCasesAndCombinationsSupport())
            {
                listCombinationId = storageDocument.CalculationParamsManager.CalculationParams.GetLoadCasesAndCombinations(Server.Server.ID);
            }

            CommonParametersBase parameBase = new CommonParametersBase(listElementStatus, listCombinationId, activePackageId, calcParams);
            CommonParametersBase parameters = EngineData.CreateCommonParameters(data, parameBase);

            return(parameters);
        }