Beispiel #1
0
        /***************************************************/
        /****               Public Methods              ****/
        /***************************************************/

        public static BH.oM.Geometry.SettingOut.Level LevelFromRevit(this Level revitLevel, RevitSettings settings = null, Dictionary <string, List <IBHoMObject> > refObjects = null)
        {
            settings = settings.DefaultIfNull();

            oM.Geometry.SettingOut.Level level = refObjects.GetValue <oM.Geometry.SettingOut.Level>(revitLevel.Id);
            if (level != null)
            {
                return(level);
            }

            level      = BH.Engine.Geometry.Create.Level(revitLevel.ProjectElevation.ToSI(UnitType.UT_Length));
            level.Name = revitLevel.Name;

            //Set identifiers, parameters & custom data
            level.SetIdentifiers(revitLevel);
            level.CopyParameters(revitLevel, settings.ParameterSettings);
            level.SetProperties(revitLevel, settings.ParameterSettings);

            refObjects.AddOrReplace(revitLevel.Id, level);
            return(level);
        }