Ejemplo n.º 1
0
        /***************************************************/
        /**** Private methods                           ****/
        /***************************************************/

        private List <ContourLoadSet> ReadContourLoadSets(List <string> ids = null)
        {
            //Implement code for reading Contour Load Sets
            List <ContourLoadSet>            bhomContourLoadSets = new List <ContourLoadSet>();
            Dictionary <int, UniformLoadSet> bhomUniformLoadSets = ReadUniformLoadSets().ToDictionary(x => (int)GetAdapterId(x));

            //Get stories
            IStories IStories   = m_Model.GetStories();
            int      numStories = IStories.GetCount();

            // Get all elements on each story
            for (int i = 0; i < numStories; i++)
            {
                IFloorType floorType = IStories.GetAt(i).GetFloorType();
                //Get contour load sets per story
                ISurfaceLoadSets srfLoadSets = floorType.GetSurfaceLoadSets2();
                int numSrfLoads = srfLoadSets.GetCount();

                for (int j = 0; j < numSrfLoads; j++)
                {
                    ISurfaceLoadSet srfLoadSet = srfLoadSets.GetAt(j);
                    ContourLoadSet  srfLoad    = srfLoadSet.ToBHoMObject(IStories.GetAt(i));
                    int             propUID    = srfLoadSet.lPropertySetUID;
                    srfLoad.UniformLoadSet = bhomUniformLoadSets[propUID];
                    bhomContourLoadSets.Add(srfLoad);
                }
            }

            return(bhomContourLoadSets);
        }
Ejemplo n.º 2
0
        /***************************************************/

        public static ContourLoadSet ToBHoMObject(this ISurfaceLoadSet ramSrfLoadSet, IStory ramStory)
        {
            // Get srf load outline
            List <Point> srfLoadContourPts = new List <Point>();
            double       elev = ramStory.dElevation;

            IPoints srfPolyPts = ramSrfLoadSet.GetPoints();

            Polyline srfLoadContour = ToPolyline(srfPolyPts, elev);

            ContourLoadSet srfLoad = new ContourLoadSet
            {
                Contour = srfLoadContour
            };

            // Unique RAM ID
            RAMId RAMId = new RAMId();

            RAMId.Id = ramSrfLoadSet.lUID;
            srfLoad.SetAdapterId(RAMId);

            return(srfLoad);
        }