public ParkingBuilding(BlockReference blRef, string blName) : base(blRef, blName) { IdBlRef = blRef.Id; Height = Floors * 3; FriendlyTypeName = "Паркинг"; BuildingType = BuildingTypeEnum.Garage; var valPlaces = BlockBase.GetPropValue <string>(ParamPlaces, exactMatch: false); var resPlaces = AcadLib.Strings.StringHelper.GetStartInteger(valPlaces); if (resPlaces.Success) { Places = resPlaces.Value; } else { BlockBase.AddError($"Не определено кол машиномест из параметра {ParamPlaces} = {valPlaces}"); } // Полилиния контура var plContour = BlockBase.FindPolylineInLayer(LayerContour).FirstOrDefault(); if (plContour == null) { Inspector.AddError($"Не определена полилиния контура здания парковки на слое {LayerContour}.", IdBlRef, System.Drawing.SystemIcons.Warning); } else { IdPlContour = plContour.Id; } }
public SocialBuilding(BlockReference blRef, string blName, string layerPlContour) : base(blRef, blName) { Type = BlockBase.GetPropValue <string>("^ТИП", exactMatch: false); Height = Floors * 4; Places = GetPlaces(ParamPlaces); BuildingType = BuildingTypeEnum.Social; // Полилиния контура здания var plContour = BlockBase.FindPolylineInLayer(layerPlContour).FirstOrDefault(); if (plContour == null) { Inspector.AddError($"Не определена полилиния котура здания на слое {layerPlContour}.", System.Drawing.SystemIcons.Warning); } else { IdPlContour = plContour.Id; } }