| | |
| | | msg = "Revit json 字符串为空"; |
| | | return default; |
| | | } |
| | | try |
| | | { |
| | | //try |
| | | //{ |
| | | var model = new Model.RevitModel(); |
| | | |
| | | //解析结构json |
| | |
| | | } |
| | | |
| | | return model; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return default; |
| | | } |
| | | //} |
| | | //catch (Exception ex) |
| | | //{ |
| | | // msg = ex.Message; |
| | | // return default; |
| | | //} |
| | | |
| | | } |
| | | |
| | |
| | | if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) |
| | | { |
| | | reservoir.PoolElev = elevOfElevation / 1000f; |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre.HasValues) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | reservoir.PoolElev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) |
| | | { |
| | | tank.PoolElev = elevOfElevation / 1000f; |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre.HasValues) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | tank.PoolElev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | if (jobject[RevitJsonProp.ElevOfElevation].MatchNumeric(out double elevOfElevation)) |
| | | { |
| | | waterbox.PoolElev = elevOfElevation / 1000f; |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre.HasValues) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | waterbox.PoolElev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | |
| | | #endregion |
| | | a |
| | | |
| | | #region MinVol |
| | | |
| | | if (jobject[RevitJsonProp.MinVol].MatchNumeric(out double minVol)) |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | junction.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | junction.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | blunthead.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | blunthead.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | elbow.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | elbow.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | threelink.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | threelink.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | fourlink.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | fourlink.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | nozzle.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | nozzle.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | hydrant.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | hydrant.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | cooling.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | cooling.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | meter.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | meter.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region CurrentFlow |
| | | |
| | | if (jobject[RevitJsonProp.CurrentFlow].MatchNumeric(out double currentFlow)) |
| | | { |
| | | flowmeter.CurrentFlow = currentFlow; |
| | | } |
| | | else |
| | | { |
| | | flowmeter.UpdatePropStatus(nameof(flowmeter.CurrentFlow), ePropStatus.Abnormal, "[流量信息]缺少或者数据格式错误"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | return flowmeter; |
| | | } |
| | | |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | pressmeter.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | pressmeter.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | else |
| | | { |
| | | pressmeter.UpdatePropStatus(nameof(pressmeter.MinorLoss), ePropStatus.Abnormal, "[局阻系数]缺少或者数据格式错误"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region CurrentPress |
| | | |
| | | if (jobject[RevitJsonProp.CurrentPress].MatchNumeric(out double currentPress)) |
| | | { |
| | | pressmeter.CurrentPress = currentPress; |
| | | } |
| | | else |
| | | { |
| | | pressmeter.UpdatePropStatus(nameof(pressmeter.CurrentPress), ePropStatus.Abnormal, "[压力信息]缺少或者数据格式错误"); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | |
| | | if (jobject.ParseString(RevitJsonProp.Flags, out string flags)) |
| | | { |
| | | pipe.Flags = RevitFlagsHelper.ToList(flags); |
| | | pipe.Flags = FlagsHelper.ToList(flags); |
| | | if (!string.IsNullOrEmpty(flags)) |
| | | { |
| | | if (pipe.Flags == null || pipe.Flags.Count < 1) |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | translation.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | translation.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | else |
| | | { |
| | | translation.UpdatePropStatus(nameof(translation.Material), ePropStatus.Abnormal, "缺少[材质信息]"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region Diameter |
| | | |
| | | if (jobject[RevitJsonProp.DiameterInfo].MatchNumeric(out double diameter)) |
| | | { |
| | | translation.Diameter = diameter; |
| | | } |
| | | else |
| | | { |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Abnormal, "[直径信息]缺少或者格式错误"); |
| | | } |
| | | |
| | | if (translation.Diameter < 1) |
| | | { |
| | | if (jobject[RevitJsonProp.InternalDiameter].MatchNumeric(out double internalDiameter)) |
| | | { |
| | | translation.Diameter = internalDiameter; |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Lack, "[直径信息]通过[内径]进行修复]"); |
| | | } |
| | | else |
| | | { |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Abnormal, "[直径信息]无法通过[内径]进行修复]"); |
| | | } |
| | | } |
| | | |
| | | if (translation.Diameter < 1) |
| | | { |
| | | if (jobject[RevitJsonProp.DN].MatchNumeric(out double dn)) |
| | | { |
| | | translation.Diameter = dn; |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Lack, "[直径信息]通过[公称直径]进行修复]"); |
| | | } |
| | | else |
| | | { |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Abnormal, "[直径信息]无法通过[公称直径]进行修复]"); |
| | | } |
| | | } |
| | | |
| | | if (translation.Diameter < 1) |
| | | { |
| | | translation.Diameter = 500; |
| | | translation.UpdatePropStatus(nameof(translation.Diameter), ePropStatus.Lack, "[直径信息][内径]解析错误,使用默认值(500mm)修正]"); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | pump.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | pump.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | valve.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | valve.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | exchanger.Elev = elevOfElevation / 1000f; |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | |
| | | if (!jre.HasValues) |
| | | { |
| | | |
| | | } |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | exchanger.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | exchanger.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var jre = jobject[RevitJsonProp.Elev]; |
| | | if (jre != null) |
| | | { |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | if (jre.HasValues) |
| | | { |
| | | compressor.Elev += facade / 1000f; |
| | | if (jre[RevitJsonProp.ElevFacade].MatchNumeric(out double facade)) |
| | | { |
| | | compressor.Elev += facade / 1000f; |
| | | } |
| | | } |
| | | } |
| | | } |