Example #1
0
 public void AddResource(string key, Locale language, string text)
 {
     key = SanitiseKey(key);
     if (!TextMap.ContainsKey(key))
     {
         TextMap.Add(key, new Dictionary <Locale, string>());
     }
     TextMap[key][language] = text;
 }
Example #2
0
        public static Setting GetDefault()
        {
            Setting result = new Setting(Assembly.GetExecutingAssembly());

            TypeMap parameterMap_General = Core.Create.TypeMap();

            //AnalyticalModel
            parameterMap_General.Add(AnalyticalModelParameter.NorthAngle, typeof(ProjectInfo), "SAM_NorthAngle");
            parameterMap_General.Add(AnalyticalModelParameter.CoolingSizingFactor, typeof(ProjectInfo), "SAM_SizingFactorCooling");
            parameterMap_General.Add(AnalyticalModelParameter.HeatingSizingFactor, typeof(ProjectInfo), "SAM_SizingFactorHeating");

            //Aperture
            parameterMap_General.Add(typeof(Aperture), typeof(FamilyInstance), "GetWidth", "SAM_BuildingElementWidth");
            parameterMap_General.Add(typeof(Aperture), typeof(FamilyInstance), "GetHeight", "SAM_BuildingElementHeight");
            parameterMap_General.Add(typeof(Aperture), typeof(FamilyInstance), "Guid", "SAM_GUID");

            //ApertureConstruction
            parameterMap_General.Add(ApertureConstructionParameter.Color, typeof(FamilySymbol), "SAM_BuildingElementColor");
            parameterMap_General.Add(ApertureConstructionParameter.Transparent, typeof(FamilySymbol), "SAM_BuildingElementTransparent");
            parameterMap_General.Add(ApertureConstructionParameter.Description, typeof(FamilySymbol), "SAM_BuildingElementDescription");
            parameterMap_General.Add(ApertureConstructionParameter.DefaultFrameWidth, typeof(FamilySymbol), "SAM_BuildingElementFrameWidth");
            parameterMap_General.Add(ApertureConstructionParameter.IsInternalShadow, typeof(FamilySymbol), "SAM_BuildingElementInternalShadows");
            //MD 2021-02-25 this property will duplicate from default type
            //parameterMap_General.Add(typeof(ApertureConstruction), typeof(FamilySymbol), "ApertureType", "SAM_BuildingElementType");

            //Construction
            parameterMap_General.Add(ConstructionParameter.Color, typeof(HostObjAttributes), "SAM_BuildingElementColor");
            parameterMap_General.Add(ConstructionParameter.DefaultPanelType, typeof(HostObjAttributes), "SAM_BuildingElementType");
            parameterMap_General.Add(ConstructionParameter.Description, typeof(HostObjAttributes), "SAM_BuildingElementDescription");
            parameterMap_General.Add(ConstructionParameter.IsAir, typeof(HostObjAttributes), "SAM_BuildingElementAir");
            parameterMap_General.Add(ConstructionParameter.IsInternalShadow, typeof(HostObjAttributes), "SAM_BuildingElementInternalShadows");
            parameterMap_General.Add(ConstructionParameter.IsGround, typeof(HostObjAttributes), "SAM_BuildingElementGround");
            parameterMap_General.Add(ConstructionParameter.Transparent, typeof(HostObjAttributes), "SAM_BuildingElementTransparent");
            parameterMap_General.Add(ConstructionParameter.DefaultThickness, typeof(HostObjAttributes), "SAM_BuildingElementThickness");

            //InternalCondition
            parameterMap_General.Add(typeof(InternalCondition), typeof(Autodesk.Revit.DB.Mechanical.Space), "Name", "SAM_IC_ThermalTemplate");


            parameterMap_General.Add(InternalConditionParameter.VentilationSystemTypeName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_VentType");
            parameterMap_General.Add(InternalConditionParameter.HeatingSystemTypeName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_HeatingTypePrimary");
            parameterMap_General.Add(InternalConditionParameter.CoolingSystemTypeName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_CoolingTypePrimary");

            parameterMap_General.Add(InternalConditionParameter.OccupancyProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OccupacyProfile");
            parameterMap_General.Add(InternalConditionParameter.OccupancySensibleGainPerPerson, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OccupantSensGain");
            parameterMap_General.Add(InternalConditionParameter.OccupancyLatentGainPerPerson, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OccupantLatGain");
            parameterMap_General.Add(InternalConditionParameter.AreaPerPerson, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OccupantDensity");

            parameterMap_General.Add(InternalConditionParameter.EquipmentSensibleGainPerArea, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpecSmallPowerSens");
            parameterMap_General.Add(InternalConditionParameter.EquipmentSensibleProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SmallPowerSensProfile");
            parameterMap_General.Add(InternalConditionParameter.EquipmentLatentGainPerArea, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpecSmallPowerLat");
            parameterMap_General.Add(InternalConditionParameter.EquipmentLatentProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SmallPowerLatProfile");

            parameterMap_General.Add(InternalConditionParameter.LightingGainPerArea, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpecGenLighting");
            parameterMap_General.Add(InternalConditionParameter.LightingProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_GenLightingProfile");
            parameterMap_General.Add(InternalConditionParameter.LightingLevel, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_DesignLuxLevel");

            parameterMap_General.Add(InternalConditionParameter.InfiltrationAirChangesPerHour, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_CLGInfiltrationACH");
            parameterMap_General.Add(InternalConditionParameter.InfiltrationProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_InfiltrationProfile");

            parameterMap_General.Add(InternalConditionParameter.PollutantProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_PollutantProfile");
            parameterMap_General.Add(InternalConditionParameter.PollutantGenerationPerArea, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_PollutantGeneration_ghrm2");
            parameterMap_General.Add(InternalConditionParameter.PollutantGenerationPerPerson, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_PollutantGeneration_ghrperson");

            parameterMap_General.Add(InternalConditionParameter.HeatingEmitterRadiantProportion, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_HeatingEmmiterRadiantProportion"); // Add formula to copy value from System if InternalCondition has no value
            parameterMap_General.Add(InternalConditionParameter.HeatingEmitterCoefficient, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_HeatingEmmiterCoefficient");             // Add formula to copy value from System if InternalCondition has no value
            parameterMap_General.Add(InternalConditionParameter.HeatingProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpaceHeatingProfile");

            parameterMap_General.Add(InternalConditionParameter.CoolingEmitterRadiantProportion, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_CoolingEmmiterRadiantProportion"); // Add formula to copy value from System if InternalCondition has no value
            parameterMap_General.Add(InternalConditionParameter.CoolingEmitterCoefficient, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_CoolingEmmiterCoefficient");             // Add formula to copy value from System if InternalCondition has no value
            parameterMap_General.Add(InternalConditionParameter.CoolingProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpaceCoolingProfile");

            parameterMap_General.Add(InternalConditionParameter.HumidificationProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpaceHumidificationProfile");
            parameterMap_General.Add(InternalConditionParameter.DehumidificationProfileName, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_SpaceDehumidificationProfile");

            //Space
            parameterMap_General.Add(SpaceParameter.Area, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_Area");
            parameterMap_General.Add(SpaceParameter.Occupancy, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_NoPeople", null, "[SAM.Analytical.Query.CalculatedOccupancy(Object_1)]");
            parameterMap_General.Add(SpaceParameter.Volume, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_Volume");
            parameterMap_General.Add(SpaceParameter.FacingExternal, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_FacingExternal");
            parameterMap_General.Add(SpaceParameter.FacingExternalGlazing, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_FacingExternalGlazing");
            parameterMap_General.Add(SpaceParameter.CoolingSizingFactor, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OversizingFactorCooling");
            parameterMap_General.Add(SpaceParameter.HeatingSizingFactor, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OversizingFactorHeating");
            parameterMap_General.Add(typeof(Space), typeof(Autodesk.Revit.DB.Mechanical.Space), "Name", "SAM_SpaceName");
            parameterMap_General.Add(typeof(Space), typeof(Autodesk.Revit.DB.Mechanical.Space), "HeatingDesignTemperature", "SAM_WinterDesignTemperature", null, "[SAM.Analytical.Query.HeatingDesignTemperature(Object_1, AnalyticalModel)]");
            parameterMap_General.Add(typeof(Space), typeof(Autodesk.Revit.DB.Mechanical.Space), "CoolingDesignTemperature", "SAM_SummerDesignTemperature", null, "[SAM.Analytical.Query.CoolingDesignTemperature(Object_1, AnalyticalModel)]");
            parameterMap_General.Add(typeof(Space), typeof(Autodesk.Revit.DB.Mechanical.Space), "SpecificOccupancySensibleGain", "SAM_SpecOccupancySens", null, "[SAM.Analytical.Query.SpecificOccupancySensibleGain(Object_1)]");
            parameterMap_General.Add(SpaceParameter.SupplyAirFlow, typeof(Autodesk.Revit.DB.Mechanical.Space), "Specified Supply Airflow");
            parameterMap_General.Add(SpaceParameter.ExhaustAirFlow, typeof(Autodesk.Revit.DB.Mechanical.Space), "Specified Exhaust Airflow");
            parameterMap_General.Add(SpaceParameter.OutsideSupplyAirFlow, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_TotalZoneOutsideSupplyAirFlow");

            //SpaceSimulationResultParameter
            parameterMap_General.Add(SpaceSimulationResultParameter.Area, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_Area'");
            parameterMap_General.Add(SpaceSimulationResultParameter.Volume, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_Volume'");
            parameterMap_General.Add(SpaceSimulationResultParameter.OccupiedHours, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_OccupancyNoHoursYearly");
            parameterMap_General.Add(SpaceSimulationResultParameter.OccupiedHours25, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ComfNoHoursAbv25'");
            parameterMap_General.Add(SpaceSimulationResultParameter.OccupiedHours28, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ComfNoHoursAbv28'");
            parameterMap_General.Add(SpaceSimulationResultParameter.OccupiedHours25, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ComfNoHoursAbv25Perc'", null, "[SAM.Analytical.Revit.Query.OccupiedHours25Percentage(Object_1)]");
            parameterMap_General.Add(SpaceSimulationResultParameter.OccupiedHours28, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ComfNoHoursAbv28Perc'", null, "[SAM.Analytical.Revit.Query.OccupiedHours28Percentage(Object_1)]");
            parameterMap_General.Add(SpaceSimulationResultParameter.MaxDryBulbTemperature, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceDryBulbTemperature_Max'");
            parameterMap_General.Add(SpaceSimulationResultParameter.MinDryBulbTemperature, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceDryBulbTemperature_Min'");
            parameterMap_General.Add(SpaceSimulationResultParameter.MaxDryBulbTemperatureIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_Date_SpaceDryBulbTemperature_Max'", null, "[SAM.Analytical.Convert.ToString(Value)]");
            parameterMap_General.Add(SpaceSimulationResultParameter.MinDryBulbTemperatureIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_Date_SpaceDryBulbTemperature_Min'", null, "[SAM.Analytical.Convert.ToString(Value)]");
            parameterMap_General.Add(typeof(SpaceSimulationResult), typeof(Autodesk.Revit.DB.Mechanical.Space), "DateTime", "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ResultsImportTime'", null, "[SAM.Analytical.Convert.ToString(Value)]");
            parameterMap_General.Add(typeof(SpaceSimulationResult), typeof(Autodesk.Revit.DB.Mechanical.Space), "Reference", "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceGUID'");

            //Panel
            parameterMap_General.Add(PanelParameter.Transparent, typeof(HostObject), "SAM_BuildingElementTransparent");
            parameterMap_General.Add(PanelParameter.ThermalTransmittance, typeof(HostObject), "SAM_SrfUValue");
            parameterMap_General.Add(PanelParameter.LightTransmittance, typeof(HostObject), "SAM_SrfLightTransmittance");
            parameterMap_General.Add(PanelParameter.LightReflectance, typeof(HostObject), "SAM_SrfLightReflectance");
            parameterMap_General.Add(PanelParameter.DirectSolarEnergyTransmittance, typeof(HostObject), "SAM_SrfDirectSolarEnergyTransmittance");
            parameterMap_General.Add(PanelParameter.DirectSolarEnergyReflectance, typeof(HostObject), "SAM_SrfDirectSolarEnergyReflectance");
            parameterMap_General.Add(PanelParameter.DirectSolarEnergyAbsorptance, typeof(HostObject), "SAM_SrfDirectSolarEnergyAbsorptance");
            parameterMap_General.Add(PanelParameter.TotalSolarEnergyTransmittance, typeof(HostObject), "SAM_SrfgValue");
            //mapCluster.Add(typeof(Panel), typeof(HostObject), null, "SAM_NorthAngle"); //double

            //mapCluster.Add(typeof(Panel), typeof(HostObject), null, "SAM_FacingExternal"); //double
            //mapCluster.Add(typeof(Panel), typeof(HostObject), null, "SAM_FacingExternalGlazing"); //double

            //Aperture
            parameterMap_General.Add(ApertureParameter.ThermalTransmittance, typeof(FamilyInstance), "SAM_SrfUValue");
            parameterMap_General.Add(ApertureParameter.LightTransmittance, typeof(FamilyInstance), "SAM_SrfLightTransmittance");
            parameterMap_General.Add(ApertureParameter.LightReflectance, typeof(FamilyInstance), "SAM_SrfLightReflectance");
            parameterMap_General.Add(ApertureParameter.DirectSolarEnergyTransmittance, typeof(FamilyInstance), "SAM_SrfDirectSolarEnergyTransmittance");
            parameterMap_General.Add(ApertureParameter.DirectSolarEnergyReflectance, typeof(FamilyInstance), "SAM_SrfDirectSolarEnergyReflectance");
            parameterMap_General.Add(ApertureParameter.DirectSolarEnergyAbsorptance, typeof(FamilyInstance), "SAM_SrfDirectSolarEnergyAbsorptance");
            parameterMap_General.Add(ApertureParameter.TotalSolarEnergyTransmittance, typeof(FamilyInstance), "SAM_SrfgValue");

            //Material
            parameterMap_General.Add(typeof(Core.Material), typeof(FamilyInstance), "ThermalConductivity", "SAM_Material_Conductivity");
            parameterMap_General.Add(typeof(Core.Material), typeof(FamilyInstance), "SpecificHeatCapacity", "SAM_Material_SpecificHeat");
            parameterMap_General.Add(typeof(Core.Material), typeof(FamilyInstance), "Density", "SAM_Material_Density");
            parameterMap_General.Add(typeof(Core.Material), typeof(FamilyInstance), "Description", "SAM_Material_Description");
            parameterMap_General.Add(typeof(Core.Material), typeof(FamilyInstance), "Name", "SAM_Material_Name");
            parameterMap_General.Add(RevitMaterialParameter.TypeName, typeof(FamilyInstance), "SAM_Material_Type");
            parameterMap_General.Add(Core.MaterialParameter.DefaultThickness, typeof(FamilyInstance), "SAM_Material_Width");
            parameterMap_General.Add(MaterialParameter.VapourDiffusionFactor, typeof(FamilyInstance), "SAM_Material_VapourDiffusionFactor");

            //GasMaterial
            parameterMap_General.Add(GasMaterialParameter.HeatTransferCoefficient, typeof(FamilyInstance), "SAM_Material_ConvectionCoefficient");

            //TransparentMaterial
            parameterMap_General.Add(TransparentMaterialParameter.ExternalEmissivity, typeof(FamilyInstance), "SAM_Material_ExternalEmissivity");
            parameterMap_General.Add(TransparentMaterialParameter.ExternalLightReflectance, typeof(FamilyInstance), "SAM_Material_ExternalLightReflectance");
            parameterMap_General.Add(TransparentMaterialParameter.ExternalSolarReflectance, typeof(FamilyInstance), "SAM_Material_ExternalSolarReflectance");
            parameterMap_General.Add(TransparentMaterialParameter.InternalEmissivity, typeof(FamilyInstance), "SAM_Material_InternalEmissivity");
            parameterMap_General.Add(TransparentMaterialParameter.InternalLightReflectance, typeof(FamilyInstance), "SAM_Material_InternalLightReflectance");
            parameterMap_General.Add(TransparentMaterialParameter.InternalSolarReflectance, typeof(FamilyInstance), "SAM_Material_InternalSolarReflectance");
            parameterMap_General.Add(TransparentMaterialParameter.IsBlind, typeof(FamilyInstance), "SAM_Material_IsBlind");
            parameterMap_General.Add(TransparentMaterialParameter.LightTransmittance, typeof(FamilyInstance), "SAM_Material_LightTransmittance");
            parameterMap_General.Add(TransparentMaterialParameter.SolarTransmittance, typeof(FamilyInstance), "SAM_Material_SolarTransmittance");

            //OpaqueMaterial
            parameterMap_General.Add(OpaqueMaterialParameter.ExternalEmissivity, typeof(FamilyInstance), "SAM_Material_ExternalEmissivity");
            parameterMap_General.Add(OpaqueMaterialParameter.ExternalLightReflectance, typeof(FamilyInstance), "SAM_Material_ExternalLightReflectance");
            parameterMap_General.Add(OpaqueMaterialParameter.ExternalSolarReflectance, typeof(FamilyInstance), "SAM_Material_ExternalSolarReflectance");
            parameterMap_General.Add(OpaqueMaterialParameter.IgnoreThermalTransmittanceCalculations, typeof(FamilyInstance), "SAM_Material_IngnoreInUvalue");
            parameterMap_General.Add(OpaqueMaterialParameter.InternalEmissivity, typeof(FamilyInstance), "SAM_Material_InternalEmissivity");
            parameterMap_General.Add(OpaqueMaterialParameter.InternalLightReflectance, typeof(FamilyInstance), "SAM_Material_InternalLightReflectance");
            parameterMap_General.Add(OpaqueMaterialParameter.InternalSolarReflectance, typeof(FamilyInstance), "SAM_Material_InternalSolarReflectance");


            result.Add(Core.Revit.ActiveSetting.Name.ParameterMap, parameterMap_General);

            TextMap textMap_Zone = Core.Create.TextMap("Zone Map");

            textMap_Zone.Add(ZoneType.Cooling.Text(), "SAM_ZoneCoolingReference");
            textMap_Zone.Add(ZoneType.Heating.Text(), "SAM_ZoneHeatingReference");
            textMap_Zone.Add(ZoneType.Ventilation.Text(), "SAM_ZoneVentilationReference");
            result.Add(Name.ZoneMap, textMap_Zone);

            TypeMap parameterMap_Cooling = Core.Create.TypeMap();

            parameterMap_Cooling.Add(SpaceSimulationResultParameter.UnmetHours, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHoursCooling");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.UnmetHourFirstIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHourCoolingFirstInst");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.OccupiedHours, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHoursCoolingOccupied");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.SizingMethod, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SizingMethod'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.LoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_PeakDate'", null, "[SAM.Analytical.Convert.ToString(Value)]");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.LoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_PeakTime'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.DryBulbTempearture, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceDryBulbTemperature'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.ResultantTemperature, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceResultantTemperature'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.Load, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_CoolingLoad'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.SolarGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SolarGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.LightingGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_LightingGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.InfiltrationGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_InfVentGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.AirMovementGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_AirMovementGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.BuildingHeatTransfer, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_BuildingHeatTransfer'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.GlazingExternalConduction, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ExternalConductionGlazing'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.OpaqueExternalConduction, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_ExternalConductionOpaque'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.OccupancySensibleGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_OccupancySensibleGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.EquipmentSensibleGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_EquipmentSensibleGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.EquipmentLatentGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_EquipmentLatentGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.OccupancyLatentGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_OccupancyLatentGain'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.HumidityRatio, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceHumidityRatio'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.RelativeHumidity, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceRelativeHumidity'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.ApertureFlowIn, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceAperutreFlowIn'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.ApertureFlowOut, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpaceAperutreFlowOut'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.Pollutant, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_SpacePollutant'");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.DesignLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_DesSpecSensCoolLoad'", null, "[SAM.Analytical.Query.SpecificDesignLoad(Object_1)]");
            parameterMap_Cooling.Add(SpaceSimulationResultParameter.DesignLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_DesSensCoolingLoad'");// "[SAM.Analytical.Query.SpecificLoad(Object_1)]");
            parameterMap_Cooling.Add(AdjacencyClusterSimulationResultParameter.UnmetHours, typeof(ProjectInfo), "SAM_BuildingUnmetHoursCooling");
            parameterMap_Cooling.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneOutsideSupplyAirFlow", "SAM_ZoneCLGTotalOutsideSupplyAirFlow", null, "[SAM.Analytical.Query.CalculatedOutsideSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Cooling.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneSupplyAirFlow", "SAM_ZoneCLGSpecifiedSupplyAirflow", null, "[SAM.Analytical.Query.CalculatedSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Cooling.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneExhaustAirFlow", "SAM_ZoneCLGSpecifiedExhaustAirflow", null, "[SAM.Analytical.Query.CalculatedExhaustAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Cooling.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "HeatingSensibleLoad", "SAM_ZoneCLGHeatingSensLoad", null, "[SAM.Analytical.Query.DesignHeatingLoad(AdjacencyCluster, Object_1)]");
            parameterMap_Cooling.Add(ZoneSimulationResultParameter.MaxSensibleLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneCLGCoolingSensLoad");
            parameterMap_Cooling.Add(ZoneSimulationResultParameter.MaxSensibleLoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneCLGCoolingSensLoadPeakDate", null, "[SAM.Analytical.Convert.ToString(Value)]");
            result.Add(Name.ParameterMap_Cooling, parameterMap_Cooling);

            TypeMap parameterMap_Heating = Core.Create.TypeMap();

            parameterMap_Heating.Add(SpaceSimulationResultParameter.UnmetHours, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHoursHeating");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.UnmetHourFirstIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHourHeatingFirstInst");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.OccupiedHours, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_UnmetHoursHeatingOccupied");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.SizingMethod, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_SizingMethod'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.LoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_PeakDate'", null, "[SAM.Analytical.Convert.ToString(Value)]");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.LoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_PeakTime'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.DryBulbTempearture, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_SpaceDryBulbTemperature'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.ResultantTemperature, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_SpaceResultantTemperature'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.Load, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HeatingLoad'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.InfiltrationGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_InfVentGain'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.AirMovementGain, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_AirMovementGain'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.GlazingExternalConduction, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_ExternalConductionGlazing'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.OpaqueExternalConduction, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_ExternalConductionOpaque'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.HumidityRatio, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_SpaceHumidityRatio'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.BuildingHeatTransfer, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_HDD_BuildingHeatTransfer'");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.DesignLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_DesSpecSensHeatLoad'", null, "[SAM.Analytical.Query.SpecificDesignLoad(Object_1)]");
            parameterMap_Heating.Add(SpaceSimulationResultParameter.DesignLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_DesignSensHeatingLoad'");//"='SAM' + [SAM.Core.Revit.Query.ParameterNamePrefix(Object_1)] + '_Height'", null, "[SAM.Analytical.Query.Height(Object_1)]");
            parameterMap_Heating.Add(AdjacencyClusterSimulationResultParameter.UnmetHours, typeof(ProjectInfo), "SAM_BuildingUnmetHoursHeating");
            parameterMap_Heating.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneOutsideSupplyAirFlow", "SAM_ZoneHTGTotalOutsideSupplyAirFlow", null, "[SAM.Analytical.Query.CalculatedOutsideSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Heating.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneSupplyAirFlow", "SAM_ZoneHTGSpecifiedSupplyAirflow", null, "[SAM.Analytical.Query.CalculatedSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Heating.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneExhaustAirFlow", "SAM_ZoneHTGSpecifiedExhaustAirflow", null, "[SAM.Analytical.Query.CalculatedExhaustAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Heating.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "HeatingSensibleLoad", "SAM_ZoneHTGHeatingSensLoad", null, "[SAM.Analytical.Query.DesignHeatingLoad(AdjacencyCluster, Object_1)]");
            parameterMap_Heating.Add(ZoneSimulationResultParameter.MaxSensibleLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneHTGCoolingSensLoad");
            parameterMap_Heating.Add(ZoneSimulationResultParameter.MaxSensibleLoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneHTGCoolingSensLoadPeakDate", null, "[SAM.Analytical.Convert.ToString(Value)]");
            result.Add(Name.ParameterMap_Heating, parameterMap_Heating);

            TypeMap parameterMap_Ventilation = Core.Create.TypeMap();

            parameterMap_Ventilation.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneOutsideSupplyAirFlow", "SAM_ZoneVNTTotalOutsideSupplyAirFlow", null, "[SAM.Analytical.Query.CalculatedOutsideSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Ventilation.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneSupplyAirFlow", "SAM_ZoneVNTSpecifiedSupplyAirflow", null, "[SAM.Analytical.Query.CalculatedSupplyAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Ventilation.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "ZoneExhaustAirFlow", "SAM_ZoneVNTSpecifiedExhaustAirflow", null, "[SAM.Analytical.Query.CalculatedExhaustAirflow(AdjacencyCluster, Object_1)]");
            parameterMap_Ventilation.Add(typeof(Zone), typeof(Autodesk.Revit.DB.Mechanical.Space), "HeatingSensibleLoad", "SAM_ZoneVNTHeatingSensLoad", null, "[SAM.Analytical.Query.DesignHeatingLoad(AdjacencyCluster, Object_1)]");
            parameterMap_Ventilation.Add(ZoneSimulationResultParameter.MaxSensibleLoad, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneVNTCoolingSensLoad");
            parameterMap_Ventilation.Add(ZoneSimulationResultParameter.MaxSensibleLoadIndex, typeof(Autodesk.Revit.DB.Mechanical.Space), "SAM_ZoneVNTCoolingSensLoadPeakDate", null, "[SAM.Analytical.Convert.ToString(Value)]");
            result.Add(Name.ParameterMap_Ventilation, parameterMap_Ventilation);

            //File Names
            result.Add(Name.FileName_DefaultAirConstructionLibrary, "SAM_AirConstructionLibrary.JSON");

            result.Add(Name.ParameterMap_Tools, "ParameterMap_Tools");

            string path;

            path = Query.DefaultAirConstructionLibraryPath(result);
            if (System.IO.File.Exists(path))
            {
                result.Add(Name.Library_DefaultAirConstructionLibrary, Core.Create.IJSAMObject <ConstructionLibrary>(System.IO.File.ReadAllText(path)));
            }

            return(result);
        }
Example #3
0
        private TextMap GetTextMap(MetadataBuildResult metadata, ByteBuffer resources, ByteBuffer data)
        {
            TextMap map = new TextMap();

            map.Add(TextSegment.ImportAddressTable, SIZE_OF_IAT);
            map.Add(TextSegment.CLRHeader, (uint)ByteBuffer.SizeOf <CLRHeader>(), 8);
            map.Add(TextSegment.ILCode, (uint)metadata.ILCode.Length, 4);
            map.Add(TextSegment.Resources, (uint)resources.Length, 8);
            map.Add(TextSegment.Data, (uint)data.Length, 4);
            map.Add(TextSegment.StrongNameSignature, 0, 4);
            map.Add(TextSegment.MetadataHeader, GetMetadataHeaderLength());
            map.Add(TextSegment.TableHeap, (uint)metadata.Heaps.Tables.Length, 4);
            map.Add(TextSegment.StringHeap, (uint)metadata.Heaps.Strings.Length, 4);
            map.Add(TextSegment.UserStringHeap, (uint)metadata.Heaps.UserStrings.Length, 4);
            map.Add(TextSegment.GuidHeap, (uint)metadata.Heaps.Guids.Length, 4);
            map.Add(TextSegment.BlobHeap, (uint)metadata.Heaps.Blobs.Length, 4);
            map.Add(TextSegment.DebugDirectory, 0, 4);

            uint importDirRVA    = map.GetVirtualAddressAfter(TextSegment.DebugDirectory);
            uint importHintRVA   = BitArithmetic.Align(importDirRVA + 48u, 16u);
            uint importDirLength = (importHintRVA - importDirRVA) + 27u;
            uint startupStubRVA  = 2u + BitArithmetic.Align(importDirRVA + importDirLength, 4u);

            map.Add(TextSegment.ImportDirectory, new DataDirectory(importDirRVA, importDirLength));
            map.Add(TextSegment.ImportHintNameTable, new DataDirectory(importHintRVA, 0));
            map.Add(TextSegment.StartupStub, new DataDirectory(startupStubRVA, 6));

            return(map);
        }
Example #4
0
        static void Main(string[] args)
        {
            TextMap    textMap;
            string     fileName  = "map.dat";
            IFormatter formatter = new BinaryFormatter();


            //SerializeItem(fileName, formatter, textMap);
            //DeserializeItem(fileName, formatter, textMap);

            Console.Write("Откуда взять карту? \n" +
                          "1. Создать новую \n" +
                          "2. Открыть существующую \n");
            int.TryParse(Console.ReadLine(), out int func);

            switch (func)
            {
            case 1:
            {
                textMap = new TextMap();
                Console.WriteLine("Вступительный текст");
                string text = Console.ReadLine();
                textMap.Add(new TextPoint(text));
                break;
            }

            case 2:
            {
                textMap = DeserializeItem(fileName, formatter);
                break;
            }

            default:
                return;
            }

            do
            {
                Console.Clear();
                Console.Write("Выбирете действие: \n" +
                              "1. Создать элемент \n" +
                              "2. Посмотреть элемент \n" +
                              "3. Пройти по пути \n" +
                              "4. Отсечь ветку \n" +
                              "5. Посмотреть несуществующие ветки \n" +
                              "6. Посмотреть элементы с одним ответом \n" +
                              "7. Посмотреть финальные элементы \n" +
                              "0. Exit \n");
                int.TryParse(Console.ReadLine(), out func);

                switch (func)
                {
                case 0:
                {
                    SerializeItem(fileName, formatter, textMap);
                    break;
                }

                case 1:
                {
                    string ans = "", text, alter = "";
                    string colors = "Выберите цвет: \n" +
                                    "1. Нормальный \n" +
                                    "2. Пессиместичный \n" +
                                    "3. Весёлый \n" +
                                    "4. Злой \n" +
                                    "5. РаДуЖнЫй \n";
                    int num = 0, color = 0, yes = 0, no = 0, alt = 0, size = 0;

                    Console.Clear();
                    Console.WriteLine("Номер точки: ");
                    do
                    {
                        int.TryParse(Console.ReadLine(), out num);
                        if (num == 0)
                        {
                            Console.WriteLine("Не может быть 0");
                        }
                        if (textMap[num] != null)
                        {
                            Console.WriteLine("Такая точка сущесвует. Продолжить? (да/нет)");
                            do
                            {
                                ans = Console.ReadLine();
                            } while (ans != "да" || ans != "нет");
                        }
                    } while (num == 0 || textMap[num] != null && ans == "нет");

                    Console.Clear();
                    Console.WriteLine("Финальная точка? (да/нет)");
                    do
                    {
                        ans = Console.ReadLine();
                    } while (ans != "да" && ans != "нет");

                    Console.Clear();
                    Console.Write("Текст: ");
                    do
                    {
                        text = Console.ReadLine();
                    } while (text == "");

                    Console.Clear();
                    Console.Write("Размер текста: ");
                    do
                    {
                        int.TryParse(Console.ReadLine(), out size);
                    } while (size < 0);

                    Console.Clear();
                    Console.WriteLine(colors);
                    do
                    {
                        int.TryParse(Console.ReadLine(), out color);
                    } while (color < 1 || color > 5);


                    if (ans == "да")
                    {
                        if (size == 0)
                        {
                            textMap.Add(new TextPoint(text, color, num));
                        }
                        else
                        {
                            textMap.Add(new TextPoint(text, color, num, size));
                        }
                    }
                    else
                    {
                        Console.Clear();
                        Console.Write("Ответ да - ");
                        do
                        {
                            int.TryParse(Console.ReadLine(), out yes);
                        } while (yes < 0);

                        Console.Clear();
                        Console.Write("Ответ нет - ");
                        do
                        {
                            int.TryParse(Console.ReadLine(), out no);
                        } while (no < 0);

                        Console.Clear();
                        Console.Write("Альтенативный ответ - ");
                        do
                        {
                            int.TryParse(Console.ReadLine(), out alt);
                        } while (alt < 0);

                        if (alt != 0)
                        {
                            Console.Clear();
                            Console.Write("Текст альтентавиного ответа: ");
                            do
                            {
                                alter = Console.ReadLine();
                            } while (alter == "");
                        }

                        if (size == 0)
                        {
                            if (alt == 0)
                            {
                                textMap.Add(new TextPoint(text, color, num, yes, no));
                            }
                            else
                            {
                                textMap.Add(new TextPoint(text, alter, color, num, yes, no, alt));
                            }
                        }
                        else
                        {
                            if (alt == 0)
                            {
                                textMap.Add(new TextPoint(text, color, num, yes, no, size));
                            }
                            else
                            {
                                textMap.Add(new TextPoint(text, alter, color, num, yes, no, alt, size));
                            }
                        }
                    }

                    Console.ReadKey();
                    break;
                }

                case 2:
                {
                    int num = 0;

                    Console.Clear();
                    Console.Write("Номер элемента: ");
                    do
                    {
                        int.TryParse(Console.ReadLine(), out num);
                    } while (num < 0);

                    ViewPoint(textMap, num);

                    Console.ReadKey();
                    break;
                }

                case 3:
                {
                    int num = 0;
                    Console.Clear();
                    do
                    {
                        Console.Write("\nНомер элемента: ");
                        do
                        {
                            int.TryParse(Console.ReadLine(), out num);
                        } while (num < 0);
                    } while (ViewPoint(textMap, num));

                    Console.ReadKey();
                    break;
                }

                case 4:
                {
                    int num = 0;

                    Console.Clear();
                    Console.Write("Номер элемента: ");
                    do
                    {
                        int.TryParse(Console.ReadLine(), out num);
                    } while (num < 0);

                    if (textMap[num] == null)
                    {
                        Console.WriteLine("Элемента нет");
                    }
                    else
                    {
                        textMap.Remove(textMap[num]);
                        Console.WriteLine("Ветка удалена");
                    }

                    break;
                }

                case 5:
                {
                    Console.Clear();
                    ForEachInMap(textMap, point => textMap[point.NextTo(1)] == null ||
                                 textMap[point.NextTo(2)] == null ||
                                 textMap[point.NextTo(3)] == null);
                    Console.ReadKey();
                    break;
                }

                case 6:
                {
                    Console.Clear();
                    ForEachInMap(textMap, point => point.NextTo(3) == 0 &&
                                 point.NextTo(1) * point.NextTo(2) == 0);
                    Console.ReadKey();
                    break;
                }

                case 7:
                {
                    Console.Clear();
                    ForEachInMap(textMap, point => point.IsFinal, true);
                    Console.ReadKey();
                    break;
                }
                }
            } while (func != 0);
        }