예제 #1
0
파일: ToBHoM.cs 프로젝트: BHoM/RAM_Toolkit
        /***************************************************/

        public static LoadCombination ToBHoMObject(IModel ramModel, ILoadCombination ramLoadCombination)
        {
            LoadCombination loadCombination = new LoadCombination();

            loadCombination.Name   = ramLoadCombination.strDisplayString;
            loadCombination.Number = ramLoadCombination.lLabelNo;

            ILoadCombinationTerms iLoadCombinationTerms = ramLoadCombination.GetLoadCombinationTerms();

            for (int i = 0; i < iLoadCombinationTerms.GetCount(); i++)
            {
                //Get LoadCombination Cases and Factors
                ILoadCombinationTerm iLoadCombinationTerm = iLoadCombinationTerms.GetAt(i);
                int        caseID     = iLoadCombinationTerm.lLoadCaseID;
                ILoadCases iLoadCases = ramModel.GetLoadCases(EAnalysisResultType.RAMFrameResultType);
                ILoadCase  iLoadCase  = iLoadCases.Get(caseID);

                //Convert Loadcase from RAM to BHoM
                Loadcase bhomLoadcase = ToBHoMObject(iLoadCase);
                //Add dict for load factor and loadcase
                loadCombination.LoadCases.Add(new Tuple <double, ICase>(iLoadCombinationTerm.dFactor, bhomLoadcase));
            }

            return(loadCombination);
        }
예제 #2
0
        /***************************************************/

        private List <LoadCombination> ReadLoadCombination(List <string> ids = null)
        {
            //Implement code for reading loadcombinations
            List <LoadCombination> bhomLoadCombinations = new List <LoadCombination>();

            ILoadCombinations ILoadCombinations = m_Model.GetLoadCombinations(COMBO_MATERIAL_TYPE.ANALYSIS_CUSTOM);

            for (int i = 0; i < ILoadCombinations.GetCount(); i++)
            {
                //Get LoadCombinations
                ILoadCombination ILoadCombination    = ILoadCombinations.GetAt(i);
                LoadCombination  bhomLoadCombination = BH.Adapter.RAM.Convert.ToBHoMObject(m_Model, ILoadCombination);
                bhomLoadCombinations.Add(bhomLoadCombination);
            }

            return(bhomLoadCombinations);
        }