private void OnSaveResults(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "Save settings in a tc file"; saveFileDialog.InitialDirectory = Directory.GetCurrentDirectory(); saveFileDialog.RestoreDirectory = true; saveFileDialog.Filter = "Tc output file|*.tcout"; saveFileDialog.ShowDialog(); // If the file name is not an empty string open it for saving. if (saveFileDialog.FileName != "") { trans_calc_input_text strin = buildInput(); trans_calc_result_text result = new trans_calc_result_text(); result.length_m_1 = res_length_m_1.Text; result.length_ft_1 = res_length_ft_1.Text; result.buildup_mm_1 = res_thickness_mm_1.Text; result.R_1 = res_resistance_1.Text; result.N_1 = res_turns_1.Text; result.N_per_layer_1 = res_turns_per_layer_1.Text; result.totalLayers_1 = res_totalLayers_1.Text; result.lastLayerTurns_1 = res_lastLayerTurns_1.Text; result.mpath_l_m = res_mpath_m.Text; result.awg_max_current_amp_1 = res_max_current_1.Text; result.L_1 = res_L1.Text; result.B_max = res_Bmax.Text; result.H = res_H.Text; result.I_ex = res_Iex.Text; result.permeability = res_permeability.Text; result.weight_1 = res_weight_g1.Text; result.length_m_2 = res_length_m_2.Text; result.length_ft_2 = res_length_ft_2.Text; result.buildup_mm_2 = res_thickness_mm_2.Text; result.R_2 = res_resistance_2.Text; result.N_2 = res_turns_2.Text; result.N_per_layer_2 = res_turns_per_layer_2.Text; result.totalLayers_2 = res_totalLayers_2.Text; result.lastLayerTurns_2 = res_lastLayerTurns_2.Text; result.awg_max_current_amp_2 = res_max_current_2.Text; result.L_2 = res_L2.Text; result.Vout_idle = res_Vout_idle.Text; result.Vout_load = res_Vout_imax.Text; result.Iout_max = res_Iout.Text; result.total_thickness_mm = res_total_thickness_mm.Text; result.weight_2 = res_weight_g2.Text; result.turns_ratio = res_turns_ratio.Text; result.wire_csa_ratio = res_csa_ratio.Text; result.wire_total_weight = res_wire_total_mass.Text; result.wire_weight_ratio = res_wire_weight_ratio.Text; result.Ip_full_load = res_Ip_full_load.Text; result.power_VA = res_powerVA.Text; result.total_eq_R = res_total_eq_R.Text; result.regulation = res_regulation.Text; result.AWG1 = res_AWG1.Text; result.AWG2 = res_AWG2.Text; result.warnings = tc_warnings; tc.SaveResults(strin, result, saveFileDialog.FileName); } }
private trans_calc_input_text buildInput() { trans_calc_input_text strin = new trans_calc_input_text(); if (radiobutton_mains_US.Checked) { strin.Vin = "120"; } else { strin.Vin = "220"; } strin.Bmax = edit_Bmax.Text; strin.permeability = edit_permeability.Text; strin.I_ex = edit_Iex.Text; if (transCalc_H > 0.00000001) { strin.H = transCalc_H.ToString(); } else { strin.H = ""; } strin.core_W = edit_coreSize_W.Text; strin.core_H = edit_coreSize_H.Text; strin.core_L = edit_coreSize_L.Text; strin.Ae_W = edit_Ae_W.Text; strin.Ae_H = edit_Ae_H.Text; strin.mpath_W = edit_mpath_W.Text; strin.mpath_H = edit_mpath_H.Text; strin.window_size = edit_windowSize.Text; strin.coupling_coeff = edit_couplingCoeff.Text; strin.stackingFactor = edit_stackingFactor.Text; strin.insulationThickness = edit_insulationThickness.Text; strin.Vout = edit_Vout.Text; strin.Iout_max = edit_Iout_max.Text; strin.awg1 = edit_awg1.Text; strin.wfactor1 = edit_Wfactor1.Text; strin.N1 = edit_N1.Text; strin.N_per_layer1 = edit_N_PerLayer1.Text; strin.ampacity1 = edit_ampacity1.Text; strin.ampacity2 = edit_ampacity2.Text; strin.pf = edit_power_factor_1.Text; strin.awg2 = edit_awg2.Text; strin.wfactor2 = edit_Wfactor2.Text; strin.N2 = edit_N2.Text; strin.N_per_layer2 = edit_N_PerLayer2.Text; strin.maxTemp = edit_max_temp.Text; strin.max_eq_R = edit_max_eq_R.Text; strin.isVoutAtFullLoad = checkBox_fullLoad.Checked; strin.isMinimizeRegulation = radioButton_minimizeRegulation.Checked; return(strin); }
private void OnSaveSettings(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "Save settings in a *csv file"; saveFileDialog.InitialDirectory = Directory.GetCurrentDirectory(); saveFileDialog.RestoreDirectory = true; saveFileDialog.Filter = "Tc input file|*.tcin"; saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != "") { trans_calc_input_text strin = buildInput(); tc.SaveSettings(strin, saveFileDialog.FileName); } }
private void OnLoadSettings(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Tc input file|*.tcin"; if (openFileDialog.ShowDialog() == DialogResult.OK) { if (openFileDialog.FileName != "") { try { trans_calc_input_text input = tc.Load(openFileDialog.FileName); if (input.Vin == "120") { radiobutton_mains_US.Select(); } else if (input.Vin == "220") { radiobutton_mains_EU.Select(); } else { throw new Exception($"Unexpected mains voltage: {input.Vin}"); } checkBox_fullLoad.Checked = input.isVoutAtFullLoad; edit_Bmax.Text = input.Bmax; edit_permeability.Text = input.permeability; edit_Iex.Text = input.I_ex; transCalc_H = double.Parse(input.H, NumberStyles.Float); if (transCalc_H > 0.000000001) { edit_H.Text = String.Format("{0:0.##}", transCalc_H); } edit_coreSize_W.Text = input.core_W; edit_coreSize_H.Text = input.core_H; edit_coreSize_L.Text = input.core_L; edit_Ae_W.Text = input.Ae_W; edit_Ae_H.Text = input.Ae_H; edit_mpath_W.Text = input.mpath_W; edit_mpath_H.Text = input.mpath_H; edit_windowSize.Text = input.window_size; edit_couplingCoeff.Text = input.coupling_coeff; edit_stackingFactor.Text = input.stackingFactor; edit_insulationThickness.Text = input.insulationThickness; edit_Vout.Text = input.Vout; edit_Iout_max.Text = input.Iout_max; edit_awg1.Text = input.awg1; edit_Wfactor1.Text = input.wfactor1; edit_N1.Text = input.N1; edit_N_PerLayer1.Text = input.N_per_layer1; edit_ampacity1.Text = input.ampacity1; edit_power_factor_1.Text = input.pf; edit_awg2.Text = input.awg2; edit_Wfactor2.Text = input.wfactor2; edit_N2.Text = input.N2; edit_N_PerLayer2.Text = input.N_per_layer2; edit_ampacity2.Text = input.ampacity2; edit_max_temp.Text = input.maxTemp; edit_max_eq_R.Text = input.max_eq_R; SetUnitRadioButtons(); button_saveResults.Enabled = false; } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
private void runTransCalc() { ClearResults(); try { res_warnings.Text = ""; if (edit_max_temp.Text == "") { edit_max_temp.Text = "20"; } if (edit_couplingCoeff.Text == "") { edit_couplingCoeff.Text = "1"; } if (edit_stackingFactor.Text == "") { edit_stackingFactor.Text = "1"; } trans_calc_input_text strin = buildInput(); trans_calc_result_text result = tc.Calculate(strin); SetResultUnits(); res_length_m_1.Text = result.length_m_1; res_length_ft_1.Text = result.length_ft_1; res_thickness_mm_1.Text = result.buildup_mm_1; res_resistance_1.Text = result.R_1; res_turns_1.Text = result.N_1; res_turns_per_layer_1.Text = result.N_per_layer_1; res_totalLayers_1.Text = result.totalLayers_1; res_lastLayerTurns_1.Text = result.lastLayerTurns_1; res_mpath_m.Text = result.mpath_l_m; res_max_current_1.Text = result.awg_max_current_amp_1; res_L1.Text = result.L_1; res_Bmax.Text = result.B_max; res_H.Text = result.H; res_Iex.Text = result.I_ex; res_permeability.Text = result.permeability; res_weight_g1.Text = result.weight_1; res_length_m_2.Text = result.length_m_2; res_length_ft_2.Text = result.length_ft_2; res_thickness_mm_2.Text = result.buildup_mm_2; res_resistance_2.Text = result.R_2; res_turns_2.Text = result.N_2; res_turns_per_layer_2.Text = result.N_per_layer_2; res_totalLayers_2.Text = result.totalLayers_2; res_lastLayerTurns_2.Text = result.lastLayerTurns_2; res_max_current_2.Text = result.awg_max_current_amp_2; res_L2.Text = result.L_2; res_Vout_idle.Text = result.Vout_idle; res_Vout_imax.Text = result.Vout_load; res_Iout.Text = result.Iout_max; res_total_thickness_mm.Text = result.total_thickness_mm; res_weight_g2.Text = result.weight_2; res_turns_ratio.Text = result.turns_ratio; res_csa_ratio.Text = result.wire_csa_ratio; res_wire_total_mass.Text = result.wire_total_weight; res_wire_weight_ratio.Text = result.wire_weight_ratio; res_Ip_full_load.Text = result.Ip_full_load; res_powerVA.Text = result.power_VA; res_total_eq_R.Text = result.total_eq_R; res_regulation.Text = result.regulation; res_AWG1.Text = result.AWG1; res_AWG2.Text = result.AWG2; tc_warnings = new List <string>(); tc_warnings = result.warnings; foreach (string msg in result.warnings) { res_warnings.Text += msg + "\n"; } if (res_total_thickness_mm.Text != Constants.EmptyValue) { res_total_thickness_mm.ForeColor = result.IsWindowExceeded ? Color.Red : Color.FromArgb(0, 180, 0); } if (res_total_eq_R.Text != Constants.EmptyValue) { res_total_eq_R.ForeColor = result.IsMaxResistanceExceeded ? Color.Red : Color.FromArgb(0, 180, 0); } if (res_Ip_full_load.Text != Constants.EmptyValue) { res_Ip_full_load.ForeColor = result.IsAmpacity1Exceeded ? Color.Red : Color.FromArgb(0, 180, 0); res_max_current_1.ForeColor = result.IsAmpacity1Exceeded ? Color.Red : Color.FromArgb(0, 180, 0); } if (res_Iout.Text != Constants.EmptyValue) { res_Iout.ForeColor = result.IsAmpacity2Exceeded ? Color.Red : Color.FromArgb(0, 180, 0); res_max_current_2.ForeColor = result.IsAmpacity2Exceeded ? Color.Red : Color.FromArgb(0, 180, 0); } button_saveResults.Enabled = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } }