public JObject ToJsonFile() { // Initialize JsonSet = new JsonItemSet(); // Add items to JSON file foreach (var item in BodySet) { JsonSet.Rocket.Add(item.Name, item.Value); } JsonSet.Motor.Add("Path", MotorPath); foreach (var item in EnvSet) { JsonSet.Environment.Add(item.Name, item.Value); } foreach (var item in WindSet) { JsonSet.Wind.Add(item.Name, item.Value); } var allText = JsonConvert.SerializeObject(JsonSet, Formatting.Indented); var jsonParse = JObject.Parse(allText); return(jsonParse); }
private void SaveSpec_Click(object sender, RoutedEventArgs e) { var dlg = new SaveFileDialog(); var crtDir = Directory.GetCurrentDirectory(); var paramDir = crtDir + "\\" + "parameter"; dlg.InitialDirectory = paramDir; dlg.Filter = "JSON Files (.json)|*.json"; if (dlg.ShowDialog() == true) { try { using (var sw = new StreamWriter(dlg.FileName, false, Encoding.GetEncoding("Shift_JIS"))) { // Initialize JsonItemSet jsonSet = new JsonItemSet(); // Add items to JSON file foreach (var item in bodyData) { jsonSet.Rocket.Add(item.Name, item.Value); } jsonSet.Motor.Add("Path", ThrustPath.Text); foreach (var item in envData) { jsonSet.Environment.Add(item.Name, item.Value); } foreach (var item in windData) { jsonSet.Wind.Add(item.Name, item.Value); } // Save JSON file var allText = JsonConvert.SerializeObject(jsonSet, Formatting.Indented); sw.WriteLine(allText); } } catch (SystemException ex) { Console.WriteLine(ex.Message); } } }
public RelateDataGrid() { // Generate Parameter dataSet BodySet = new ObservableCollection <Spec>(); MotorSet = new ObservableCollection <Spec>(); EnvSet = new ObservableCollection <Spec>(); WindSet = new ObservableCollection <Spec>(); JsonSet = new JsonItemSet(); BodyList = new List <string> { "refLen", "diam", "massInt", "massEnd", "CGLenInt", "CGLenEnd", "IyzInt", "IyzEnd", "IxInt", "IxEnd", "CPLen", "Cd", "Cna", "Cmq", "vel1st" }; MotorList = new List <string> { "Impulese", "AverageThrust", "MaxThrust", "TimeInterval" }; EnvList = new List <string> { "RailLen", "RailElev", "RailAzi" //"RefWindVelInit", "RefWindVelFinal", //"RefWindVelInterval", "RefWindDirInterval" }; WindList = new List <string> { "RefWindVelInit", "RefWindVelFinal", "RefWindVelInterval", "RefWindDirInterval" }; DescPair = new Dictionary <string, string> { }; DescPair.Add("refLen", "機体全長"); DescPair.Add("diam", "機体直径"); DescPair.Add("massInt", "離陸時質量"); DescPair.Add("massEnd", "燃焼終了時質量"); DescPair.Add("CGLenInt", "離陸時重心位置"); DescPair.Add("CGLenEnd", "燃焼終了時重心位置"); DescPair.Add("IyzInt", "離陸時慣性モーメント(ピッチ方向)"); DescPair.Add("IyzEnd", "燃焼終了時慣性モーメント(ピッチ方向)"); DescPair.Add("IxInt", "離陸時慣性モーメント(ロール方向)"); DescPair.Add("IxEnd", "燃焼終了時慣性モーメント(ロール方向)"); DescPair.Add("CPLen", "圧力中心位置"); DescPair.Add("Cd", "抵抗係数"); DescPair.Add("Cna", "法線力係数傾斜"); DescPair.Add("Cmq", "減衰モーメント係数"); DescPair.Add("vel1st", "1段目パラシュート終端速度"); DescPair.Add("RailLen", "ランチャレール長"); DescPair.Add("RailElev", "ランチャレール仰角"); DescPair.Add("RailAzi", "ランチャレール方位角"); DescPair.Add("RefWindVelInit", "風速下限値"); DescPair.Add("RefWindVelFinal", "風速上限値"); DescPair.Add("RefWindVelInterval", "風速刻み"); DescPair.Add("RefWindDirInterval", "風向刻み"); DescPair.Add("Impulese", "総力積"); DescPair.Add("AverageThrust", "平均推力"); DescPair.Add("MaxThrust", "最大推力"); DescPair.Add("TimeInterval", "時間刻み"); UnitPair = new Dictionary <string, string> { }; UnitPair.Add("refLen", "m"); UnitPair.Add("diam", "m"); UnitPair.Add("massInt", "kg"); UnitPair.Add("massEnd", "kg"); UnitPair.Add("CGLenInt", "m"); UnitPair.Add("CGLenEnd", "m"); UnitPair.Add("IyzInt", "kg*m^2"); UnitPair.Add("IyzEnd", "kg*m^2"); UnitPair.Add("IxInt", "kg*m^2"); UnitPair.Add("IxEnd", "kg*m^2"); UnitPair.Add("CPLen", "m"); UnitPair.Add("Cd", "-"); UnitPair.Add("Cna", "rad^(-1)"); UnitPair.Add("Cmq", "-"); UnitPair.Add("vel1st", "m/s"); UnitPair.Add("RailLen", "m"); UnitPair.Add("RailElev", "deg"); UnitPair.Add("RailAzi", "deg"); UnitPair.Add("RefWindVelInit", "m/s"); UnitPair.Add("RefWindVelFinal", "m/s"); UnitPair.Add("RefWindVelInterval", "m/s"); UnitPair.Add("RefWindDirInterval", "deg"); UnitPair.Add("Impulese", "N*s"); UnitPair.Add("AverageThrust", "N"); UnitPair.Add("MaxThrust", "N"); UnitPair.Add("TimeInterval", "sec"); InitValPair = new Dictionary <string, string> { }; InitValPair.Add("RefWindVelInit", "1.0"); InitValPair.Add("RefWindVelFinal", "2.0"); InitValPair.Add("RefWindVelInterval", "1.0"); InitValPair.Add("RefWindDirInterval", "45.0"); }