25 #include <wx/arrstr.h> 60 const char* aKeywordCfg,
61 const wxString& aDlgLabel,
62 const wxString& aToolTip,
121 _(
"Substrate relative permittivity (dielectric constant)" ),
124 "TanD", wxT(
"tan δ" ),
125 _(
"Dielectric loss (dissipation factor)" ),
131 _(
"Electrical resistivity or specific electrical resistance of conductor (ohm*meter)" ),
136 "Frequency",
_(
"Frequency" ),
137 _(
"Frequency of the input signal" ), 1.0,
true ) );
152 "H",
"H",
_(
"Height of substrate" ), 0.2,
true ) );
154 "H_t",
"H(top)",
_(
"Height of box top" ), 1e20,
true ) );
157 _(
"Strip thickness" ), 0.035,
true ) );
159 "Rough",
_(
"Roughness" ),
160 _(
"Conductor roughness" ), 0.0,
true ) );
163 _(
"Relative permeability (mu) of substrate" ), 1,
false ) );
166 _(
"Relative permeability (mu) of conductor" ), 1,
170 "W",
"W",
_(
"Line width" ), 0.2,
true ) );
172 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
175 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
178 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0.0,
true ) );
192 "H",
"H",
_(
"Height of substrate" ), 0.2,
true ) );
194 "T",
"T",
_(
"Strip thickness" ), 0.035,
true ) );
197 _(
"Relative permeability (mu) of conductor" ), 1,
201 "W",
"W",
_(
"Line width" ), 0.2,
true ) );
203 "S",
"S",
_(
"Gap width" ), 0.2,
true ) );
205 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
208 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
211 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0.0,
true ) );
225 "H",
"H",
_(
"Height of substrate" ), 0.2,
true ) );
227 "T",
"T",
_(
"Strip thickness" ), 0.035,
true ) );
230 _(
"Relative permeability (mu) of conductor" ), 1,
234 "W",
"W",
_(
"Line width" ), 0.2,
true ) );
236 "S",
"S",
_(
"Gap width" ), 0.2,
true ) );
238 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
241 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
244 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0,
true ) );
262 _(
"Relative permeability (mu) of insulator" ), 1,
false ) );
265 _(
"Relative permeability (mu) of conductor" ), 1,
269 "a",
"a",
_(
"Width of waveguide" ), 10.0,
true ) );
271 "b",
"b",
_(
"Height of waveguide" ), 5.0,
true ) );
273 "L",
"L",
_(
"Waveguide length" ), 50.0,
true ) );
276 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
279 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0,
true ) );
295 _(
"Relative permeability (mu) of insulator" ), 1,
false ) );
298 _(
"Relative permeability (mu) of conductor" ), 1,
303 _(
"Inner diameter (conductor)" ), 1.0,
true ) );
306 _(
"Outer diameter (insulator)" ), 8.0,
true ) );
308 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
311 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
314 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0.0,
true ) );
326 m_Messages.Add(
_(
"Dielectric losses (even):" ) );
331 "H",
"H",
_(
"Height of substrate" ), 0.2,
true ) );
333 "H_t",
"H_t",
_(
"Height of box top" ), 1e20,
true ) );
335 "T",
"T",
_(
"Strip thickness" ), 0.035,
true ) );
337 "Rough",
_(
"Roughness" ),
338 _(
"Conductor roughness" ), 0.0,
true ) );
341 _(
"Relative permeability (mu) of conductor" ), 1,
345 "W",
"W",
_(
"Line width" ), 0.2,
true ) );
347 "S",
"S",
_(
"Gap width" ), 0.2,
true ) );
349 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
352 "Zeven",
_(
"Zeven" ),
353 _(
"Even mode impedance (lines driven by common voltages)" ), 50.0,
true ) );
356 _(
"Odd mode impedance (lines driven by opposite (differential) voltages)" ), 50.0,
true ) );
359 _(
"Electrical length" ), 0.0,
true ) );
372 "H",
"H",
_(
"Height of substrate" ), 0.2,
true ) );
374 "a",
"a",
_(
"Distance between strip and top metal" ), 0.2,
377 "T",
"T",
_(
"Strip thickness" ), 0.035,
true ) );
380 _(
"Relative permeability (mu) of conductor" ), 1,
false ) );
383 "W",
"W",
_(
"Line width" ), 0.2,
true ) );
385 "L",
"L",
_(
"Line length" ), 50.0,
true ) );
388 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50,
true ) );
391 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0,
true ) );
405 "Twists",
_(
"Twists" ),
406 _(
"Number of twists per length" ), 0.0,
false ) );
409 _(
"Relative permeability (mu) of conductor" ), 1,
413 _(
"Relative permittivity of environment" ), 1,
417 _(
"Inner diameter (conductor)" ), 1.0,
true ) );
420 _(
"Outer diameter (insulator)" ), 8.0,
true ) );
422 "L",
"L",
_(
"Cable length" ), 50.0,
true ) );
425 "Z0",
"Z0",
_(
"Characteristic impedance" ), 50.0,
true ) );
428 "Ang_l",
"Ang_l",
_(
"Electrical length" ), 0.0,
true ) );
450 auto cfg = static_cast<PCB_CALCULATOR_SETTINGS*>(
Kiface().KifaceSettings() );
453 if( cfg->m_TransLine.param_values.count(
name ) )
455 wxASSERT( cfg->m_TransLine.param_units.count(
name ) );
461 p->m_Value = cfg->m_TransLine.param_values.at(
name ).at( p->m_KeyWord );
462 p->m_UnitSelection = cfg->m_TransLine.param_units.at(
name ).at( p->m_KeyWord );
473 auto cfg = static_cast<PCB_CALCULATOR_SETTINGS*>(
Kiface().KifaceSettings() );
478 if( !std::isfinite( param->m_Value ) )
481 cfg->m_TransLine.param_values[
name ][ param->m_KeyWord ] = param->m_Value;
482 cfg->m_TransLine.param_units[
name ][ param->m_KeyWord ] = param->m_UnitSelection;
void AddPrm(TRANSLINE_PRM *aParam)
enum TRANSLINE_TYPE_ID m_Type
const BITMAP_OPAQUE rectwaveguide_xpm[1]
std::vector< TRANSLINE_PRM * > m_prms_List
const BITMAP_OPAQUE cpw_xpm[1]
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
wxBitmap KiBitmap(BITMAPS aBitmap, int aHeightTag)
Construct a wxBitmap from an image identifier Returns the image from the active theme if the image ha...
const BITMAP_OPAQUE c_microstrip_xpm[1]
const BITMAP_OPAQUE stripline_xpm[1]
const BITMAP_OPAQUE cpw_back_xpm[1]
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
const BITMAP_OPAQUE twistedpair_xpm[1]
const BITMAP_OPAQUE coax_xpm[1]
const BITMAP_OPAQUE microstrip_xpm[1]
TRANSLINE_IDENT(enum TRANSLINE_TYPE_ID aType)
TRANSLINE_PRM(PRM_TYPE aType, PRMS_ID aId, const char *aKeywordCfg="", const wxString &aDlgLabel=wxEmptyString, const wxString &aToolTip=wxEmptyString, double aValue=0.0, bool aConvUnit=false)
TRANSLINE_PRM ctor.