Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

** Community Tip** - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search.
X

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Dec 04, 2013
06:35 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
06:35 AM

Tolerance Calculation in Mathcad

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.

Request you to please help.

As i want similar representation of Tolerances in mathcad sheets.

Thanks,

Shashank

Solved! Go to Solution.

ACCEPTED SOLUTION

Accepted Solutions

Dec 04, 2013
04:37 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
04:37 PM

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

Dec 04, 2013
08:18 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
08:18 AM

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

Dec 04, 2013
09:14 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
09:14 AM

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.

Dec 04, 2013
10:15 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
10:15 AM

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.

Dec 04, 2013
11:17 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
11:17 AM

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)

Dec 04, 2013
10:21 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
10:21 PM

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.

Dec 04, 2013
10:53 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
10:53 PM

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.

Dec 04, 2013
09:19 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
09:19 AM

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

Dec 04, 2013
10:57 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
10:57 AM

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.

Dec 04, 2013
02:08 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
02:08 PM

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

Dec 04, 2013
02:56 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
03:31 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
03:31 PM

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)

Dec 04, 2013
04:08 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
04:08 PM

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.

Dec 04, 2013
03:34 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
03:34 PM

if you could please help me with this subtraction logic, i'll be really thankful.

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

Dec 04, 2013
04:37 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
04:37 PM

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)).

Dec 04, 2013
10:01 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
10:01 PM

Hi Werner,

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

Dec 04, 2013
11:06 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 04, 2013
11:06 PM

hi Werner,

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

Dec 05, 2013
12:23 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Dec 05, 2013
12:23 AM

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.