// Simple Gaugue Performance Curve script runGPC = Function( {fLL, fUL, fs, fbias}, {Default Local}, dt = New Table(); frange = (fUL - fLL); fmeanval = (fUL + fLL) / 2; dt << Set Table Variable( "meanval", fmeanval ); dt << Set Table Variable( "range", frange ); dt << Set Table Variable( "bias", fbias ); dt << Set Table Variable( "s", fs ); dt << Set Table Variable( "LL", fLL ); dt << Set Table Variable( "UL", fUL ); dt << New Column( "Actual Value", numeric, formula( Sequence( meanval - range, meanval + range, s / 10 ) ), EvalFormula ); dt << Add Rows( frange / (fs / 10) * 2 + 1 ); dt << New Column( "Probability of Acceptance", numeric, formula( Normal Distribution( (UL - (:name( "Actual Value" ) - bias)) / s ) - Normal Distribution( (LL - (:name( "Actual Value" ) - bias)) / s ) ), Format( "Percent", 10, 0 ), EvalFormula ); dt << Overlay Plot( X( :name( "Actual Value" ) ), Y( :Probability of Acceptance ), Separate Axes( 1 ), Connect Thru Missing( 1 ), Connect Points( 1 ), Show Points( 0 ), SendToReport( Dispatch( {}, "101", ScaleBox, {Scale( Linear ), Format( "Best" ), Add Ref Line( fLL, Solid, Black ), Add Ref Line( fUL, Solid, Black )} ) ) ); ); dlg = Dialog( "LSL", lLL = EditNumber( -.5 ), "USL", lUL = EditNumber( .5 ), "s", ls = EditNumber( 0.05 ), "Bias", lbias = EditNumber( 0 ), Button( "OK" ), Button( "Cancel" ) ); RunGPC( dlg["lLL"], dlg["lUL"], dlg["ls"], dlg["lbias"] );