cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

SOLVED
Highlighted

Hi all,

After doing so many complex design and engineering calculations, i am stuck with this simple plus minus calculation.

I have to do this addition and subtraction of dimenssions with tolerances, as shown in the attached image.

As i want similar representation of Tolerances in mathcad sheets. Thanks,

Shashank

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

## Re: Tolerance Calculation in Mathcad

Here is a sheet with an added unary minus which is a bit more explicit-friendly.

The drawback is the way you have to write your subtraction (either A + - D, or A + (-D)). 17 REPLIES 17
Highlighted

## Re: Tolerance Calculation in Mathcad

Hello Shashank,

hope this small routine will do. Add cells to the nested array Y as much as you need

Cheers

Raiko

P.S.

This is a MC 15 sheet

Highlighted

## Re: Tolerance Calculation in Mathcad

Another example to add along with Raiko's for your Mathcad toolbox. Also, a MC15 file but will convert to Prime.

I hope this helps.

Highlighted

## Re: Tolerance Calculation in Mathcad

Nice idea. Do you know why your inverse +/+ does not work as modificator placed in the unit field at the end of an evaluation? It should in my opinion but it keeps moaning about the argument is not a vector?

Working with tolerances is easy if you stay with addition and subtraction only, but going further your approach may fail because you assume you get the minimum/maximum value of any calculation by applying the minimum/maximum value of every variable involved. Unfortunately thats not true as the following simple example shows. Furthermore it is not for sure that every calculation will end up in a symmetrical tolerance interval.

Highlighted

## Re: Tolerance Calculation in Mathcad

I looked at the example in your sheet and think its wrong, too.

You get but the correct result should be considering that While in this example you can get the correct result by making the calculation for ever combination of the extreme values of the variables, this must not be the case for every formula. So I think the most general solution would require a brute force calculation of a whole range for every variable and searching the min/max results as i did here(Prime2): http://communities.ptc.com/message/199660#199660

Attached is the file with the calculation of your formula (Prime3)

Highlighted

## Re: Tolerance Calculation in Mathcad

Thank you, for your clarifications Werner. This worksheet was from the old collab (I believe from Stewart Bruff if I remember correctly) and I've used it on simple mechanical assemblies, but now I think i'll recheck them for accuracy.

Maybe for mechanical assemblies worse case or root sum of squares approach is best (reference attached). But alas only for symetrical tolerances.

Highlighted

## Re: Tolerance Calculation in Mathcad

As Shashank Sharma pointed out in a later post, not even subtraction is correct with the simple approach.

So after all calculations with tolerances aren't trivial at all.

Highlighted

## Re: Tolerance Calculation in Mathcad

Hi,

I tried various ideas for this approach.

Most of the applications, however, became too complex to make it useable for what I needed.

attached is a simple sheet with a few functions - hopefully they will give you some information about mathcads capabilities

If you make any useful modifications to these functions, I would be grateful if you could publish them here.

Regards

Andy

Highlighted

## Re: Tolerance Calculation in Mathcad

Hmm, all these approaches only work OK if you just use addition and subtraction in your calculation. It may fail if using multiplication and/or divison or functions, absolute value, etc.

A more general (but also more cumbersome) appraoch can be found here: http://communities.ptc.com/message/199660#199660

Its in Prime2 format.

Highlighted

## Re: Tolerance Calculation in Mathcad

Thank you all for your kind responses,

But what i need is actual tolerance representation and the logic behind upper and lower tolerance calculation while adding or subtracting parent dimenssion values.

Thanks

Highlighted

## Re: Tolerance Calculation in Mathcad

The best I could come up with: Highlighted

## Re: Tolerance Calculation in Mathcad

But the actual result of A-D should be 0.8 +0.4 -0.1

(where +0.4 is the upper tol & -0.1 is the lower tol)

as when we subtract parent dimenssions, their tolerances gets added in cross way

for example, tolerances of A-D will be calculated by following logic:

0.2 - (-0.2) upper tol of A(0.2) - Lower tol of D (-0.2)

-0.1- (0) Lower tol of A (-0.1) - Upper tol of D (0)

Highlighted

## Re: Tolerance Calculation in Mathcad

You are perfectly right. It is the same error I was moaning about concerning the routines by Norm and Andy which I now made myself. So I was also wrong when I stated above that their suggestions will work for Additions and Subtractions only. They will not work for Subtractions either.

So it would be necessary to write your own subtraction function.

Unfortunately "explicit" will not work as you'd like it to do anymore in this case. Highlighted

## Re: Tolerance Calculation in Mathcad

As rest everything is perfect, only this subtraction part is left

Highlighted

## Re: Tolerance Calculation in Mathcad

Here is a sheet with an added unary minus which is a bit more explicit-friendly.

The drawback is the way you have to write your subtraction (either A + - D, or A + (-D)). Highlighted

## Re: Tolerance Calculation in Mathcad

Hi Werner,

Thank you very much for the help...this will solve problems for many. Highlighted

## Re: Tolerance Calculation in Mathcad

hi Werner,

Just a small Help can we add a plus minus symbol as well as shown below? Highlighted

## Re: Tolerance Calculation in Mathcad

For the definition of the variable this would be no problem. Simply define a function with the name +- with two arguments (nominal value and vector) which creates that 2x1 data structure.

But for the display of the calculations or in explicit thats another story.

Here is a (in my opinion unpractical) solution which would allow only for symbolical evaluation and has its drawback with the sum of more than two summands. 