| | |
| | | /// </summary> |
| | | public class SectionShapePara |
| | | { |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | public int Index { get; set; }//æé¢åºå· 第8æé¢å°±æ¯8 ç¬¬ä¸æé¢å°±æ¯1 |
| | | public double Gama_Left { get; set; }//è§åº¦1 |
| | | public double Gama_Right { get; set; }//è§åº¦2 |
| | |
| | | public double BaseCircleRadius { get; set; }//åºé¨ååå¾ å°±æ¯D3/2 |
| | | public eSectionShapeType ShapeType { get; set; } |
| | | |
| | | public void Initialparameters(int index, SectionBaseInfo sectionBaseInfo) |
| | | { |
| | | this.Index = index; |
| | | this.Gama_Left = sectionBaseInfo.GaMa1[index]; |
| | | this.Gama_Right = sectionBaseInfo.GaMa2[index]; |
| | | this.H = sectionBaseInfo.H[index]; |
| | | this.R_out = sectionBaseInfo.R_out; |
| | | this.R_Left = sectionBaseInfo.R_Left[index]; |
| | | this.R_Right = sectionBaseInfo.R_Right[index]; |
| | | this.ShapeType = sectionBaseInfo.ShapeType;// |
| | | this.BaseWidth = sectionBaseInfo.BaseWidth; |
| | | this.BaseCircleRadius = sectionBaseInfo.BaseCircleRadius; |
| | | } |
| | | |
| | | public string DeriveArgument(ViewModel.SectionBaseInfo sectionBaseInfo) |
| | | { |
| | | var jsonArray = new StringBuilder("[\n"); |
| | | for (int i = 1; i < sectionBaseInfo.GaMa1.Count - 1; i++) |
| | | { |
| | | Initialparameters(i, sectionBaseInfo); |
| | | jsonArray.Append(" {\n"); |
| | | jsonArray.AppendFormat(" \"Index\":{0},\n", this.Index); |
| | | jsonArray.AppendFormat(" \"Gama_Left\":{0:F2},\n", this.Gama_Left); |
| | | jsonArray.AppendFormat(" \"Gama_Right\":{0:F2},\n", this.Gama_Right); |
| | | jsonArray.AppendFormat(" \"H\":{0:F2},\n", this.H); |
| | | jsonArray.AppendFormat(" \"R_out\":{0:F2},\n", this.R_out); |
| | | jsonArray.AppendFormat(" \"R_Left\":{0:F2},\n", this.R_Left); |
| | | jsonArray.AppendFormat(" \"R_Right\":{0:F2},\n", this.R_Right); |
| | | jsonArray.AppendFormat(" \"SectionArea\":{0:F2},\n", this.SectionArea); |
| | | jsonArray.AppendFormat(" \"BaseWidth\":{0:F2},\n", this.BaseWidth); |
| | | jsonArray.AppendFormat(" \"BaseCircleRadius\":{0:F2}\n", this.BaseCircleRadius); |
| | | jsonArray.Append(" },\n"); // ç»æå¯¹è±¡ |
| | | } |
| | | jsonArray.Length -= 2; |
| | | jsonArray.Append("\n"); |
| | | jsonArray.Append("]"); // ç»ææ°ç» |
| | | return jsonArray.ToString(); |
| | | } |
| | | |
| | | //public static void WriteToFile(string json, string filePath) |
| | | //{ |
| | | // File.WriteAllText(filePath, json); |
| | | //} |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®é¢ç§¯è®¡ç®é«åº¦ |
| | |
| | | /// </summary> |
| | | /// <param name="sectionShapePara"></param> |
| | | /// <param name="index"></param>ã |
| | | public bool Verify(out string error) |
| | | { |
| | | error = ""; |
| | | bool isverify = true; |
| | | if ((this.H - this.R_Left) * Math.Tan(this.Gama_Left)+(this.H - this.R_Right) * Math.Tan(this.R_Right)+this.BaseWidth >= this.R_Right + this.R_Left) |
| | | { |
| | | error = "è¾å
¥çç´å¾éæ³ï¼"; |
| | | isverify = false; |
| | | } |
| | | if(this.Gama_Left > 45 || this.Gama_Right > 45) |
| | | { |
| | | error = "è¾å
¥çè§åº¦éæ³ï¼"; |
| | | isverify = false; |
| | | } |
| | | return isverify; |
| | | } |
| | | //private double DecreaseR = 0.5; |
| | | //public bool CalculateR(HdrBaseInfo BaseInfo, SectionBaseInfo sectionBaseInfo, GeomBaseInfo geomBaseInfo, bool isFirst) |
| | | //public bool Verify(out string error) |
| | | //{ |
| | | // if (!isFirst) |
| | | // error = ""; |
| | | // bool isverify = true; |
| | | // if ((this.H - this.R_Left) * Math.Tan(this.Gama_Left)+(this.H - this.R_Right) * Math.Tan(this.R_Right)+this.BaseWidth >= this.R_Right + this.R_Left) |
| | | // { |
| | | // R_Left = R_Left - DecreaseR; |
| | | // R_Right = R_Right - DecreaseR; |
| | | |
| | | // if (R_Left > (H - 1)) |
| | | // R_Left = Math.Round(H * 0.85 - 1,0); |
| | | // if (R_Right > (H - 1)) |
| | | // R_Right = Math.Round(H * 0.85 - 1,0); |
| | | |
| | | // if (R_Left < 2) |
| | | // R_Left = 2; |
| | | // if (R_Right < 2) |
| | | // R_Right = 2; |
| | | // error = "è¾å
¥çç´å¾éæ³ï¼"; |
| | | // isverify = false; |
| | | // } |
| | | // else//æ¯ç¬¬ä¸æ¬¡è®¡ç® |
| | | // if(this.Gama_Left > 45 || this.Gama_Right > 45) |
| | | // { |
| | | |
| | | // //èµå¼ï¼R1 R2 R3 R4 |
| | | // if (sectionBaseInfo.ShapeType == eSectionShapeType.对称) //typeï¼0ï¼å¯¹ç§°æ¢¯å½¢ |
| | | // R_Left = Math.Round(BaseWidth * 0.55 + 0.5 - 4,0); |
| | | // else if (sectionBaseInfo.ShapeType == eSectionShapeType.ä¸å¯¹ç§°)//typeï¼1ï¼ä¸å¯¹ç§°æ¢¯å½¢ |
| | | // R_Left = Math.Round(BaseWidth * 0.55 + 0.5 - 4,0); |
| | | // else if (sectionBaseInfo.ShapeType == eSectionShapeType.ç©å½¢)//typeï¼2ï¼ç©å½¢ |
| | | // R_Left = Math.Round(BaseWidth * 0.4 + 0.5 - 2,0); |
| | | |
| | | |
| | | // if (BaseInfo.IsSXB) |
| | | // R_Left = Math.Round(R_Left / 2,0); |
| | | // //if (DesignMode == YSSnxOpen::DesignMode::AssPawuQnshQw1) |
| | | // //{ |
| | | // // R_Left = int(R_Left * 0.7); |
| | | // //} |
| | | // double m_R3 = 0; |
| | | // double t = 0; |
| | | // if (BaseWidth <= 35) |
| | | // m_R3 = 5; |
| | | // else if (BaseWidth <= 60 && BaseWidth > 35) |
| | | // { |
| | | // t = Math.Round(BaseWidth * 0.6, 0) - Math.Round(BaseWidth * 0.6 / 10.0, 0) * 10; |
| | | // if (t <= 2) |
| | | // m_R3 = Math.Round(BaseWidth * 0.6 / 10.0, 0) * 10; |
| | | // else if (t > 2 && t <= 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.6 / 10.0, 0) * 10 + 5; |
| | | // else if (t > 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.6 / 10.0, 0) * 10 + 10; |
| | | // } |
| | | // else if (BaseWidth > 60 && BaseWidth <= 90) |
| | | // { |
| | | // t = Math.Round(BaseWidth * 0.9, 0) - Math.Round(BaseWidth * 0.9 / 10.0, 0) * 10; |
| | | // if (t <= 2) |
| | | // m_R3 = Math.Round(BaseWidth * 0.9 / 10.0, 0) * 10; |
| | | // else if (t > 2 && t <= 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.9 / 10.0, 0) * 10 + 5; |
| | | // else if (t > 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.9 / 10.0, 0) * 10 + 10; |
| | | // } |
| | | // else if (BaseWidth > 90) |
| | | // { |
| | | // t = Math.Round(BaseWidth * 0.3, 0) - Math.Round(BaseWidth * 0.3 / 10.0, 0) * 10; |
| | | // if (t <= 2) |
| | | // m_R3 = Math.Round(BaseWidth * 0.3 / 10.0, 0) * 10; |
| | | // else if (t > 2 && t <= 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.3 / 10.0, 0) * 10 + 5; |
| | | // else if (t > 7) |
| | | // m_R3 = Math.Round(BaseWidth * 0.3 / 10.0, 0) * 10 + 10; |
| | | // } |
| | | |
| | | // R_Right = R_Left; |
| | | // R_out = 1000.0; |
| | | |
| | | // //æªé¢R1 å R4çåå°è§åº¦ DecreaseR |
| | | // if (BaseWidth < 15) |
| | | // { |
| | | // DecreaseR = 0.5; |
| | | // } |
| | | // else if (BaseWidth >= 15 && BaseWidth < 25) |
| | | // { |
| | | // DecreaseR = 1; |
| | | // } |
| | | // else if (BaseWidth >= 25 && BaseWidth < 45) |
| | | // { |
| | | // DecreaseR = 1.5; |
| | | // } |
| | | // else if (BaseWidth >= 45) |
| | | // { |
| | | // DecreaseR = 2; |
| | | // } |
| | | |
| | | // if (BaseInfo.IsSXB) |
| | | // DecreaseR = 1; |
| | | // error = "è¾å
¥çè§åº¦éæ³ï¼"; |
| | | // isverify = false; |
| | | // } |
| | | |
| | | // return true; |
| | | // return isverify; |
| | | //} |
| | | |
| | | } |
| | | } |