Contents - Index


Different Xopt/Copt dialog



The sub-circuit to be pasted/imported is based on different Xopt and/or Copt settings than the present. The user is offered to scale data (if any) having units XOPT and COPT (units seen inside 'Edit definitions').
XOPT=0; inductance in mH, otherwise inductance in ohms with XOPT as frequency.
COPT=0; capacitance in uF, otherwise capacitance in uS with COPT as frequency.
The scaling is also made between 50 and 60 Hz settings. 
Answer: 'Yes to All'= scale all XOPT/COPT data, no extra confirmation. 'Yes'= scale the values but confirm each occurence. 'No'= No scale (same as prior to ATPDraw 6.0). 'Cancel'=no import/paste.

The following components are affected:
  • CAP_RS, IND_RP, RLC
  • RLC3, RLCY3, RLCD3
  • CAP_U0, IND_U0
  • LINEPI_n, LINERL_n
  • TRAFO_S, SATTRAFO

    Note that not all data is the sub-circuit is not necessarily scaled and this applies in particular to data inside User Specified objects (lib-files). To make such lib-files transparent to Xopt/Copt settings, the user should mark the start of the file with '$UNIT, X, C' (where 'X' and 'C' are expected Xopt and Copt values) and the end of the file with '$UNITS, -1, -1'.

    Scaling (data having unit with XOPT or COPT multiplied with ScaleL or ScaleC respectively):
    //nXopt, nCopt: imported circuit. Xopt,Copt: this circuit

    if (ScaleLC in [mrYes,mrYesToAll]) and (nXopt<>Xopt)
    then
    begin
      if (nXopt=0) then ScaleL:=2*PI*Xopt/1000
      else
      if (Xopt=0) then ScaleL:=1000/(2*PI*nXopt)
      else
        ScaleL:=Xopt/nXopt;
    end;
    if (ScaleLC in [mrYes,mrYesToAll]) and (nCopt<>Copt)
    then
    begin
      if (nCopt=0) then ScaleC:=2*PI*Copt
      else
      if (Copt=0) then ScaleC:=1/(2*PI*nCopt)
      else
        ScaleC:=Copt/nCopt;
    end;