Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

International Tolerance Grade (ISO 286) function?

burt_harrisburt_harris Member Posts: 7 ✭✭
edited February 2021 in Community Support
I'm trying to understand how to incorporate the concept of International Tolerance (IT) grades in my metric spline part studio.  I tried using a variable to define an IT function, but this didn't work.   My attempt was to define an "any" variable named "IT" with value:

    function(grade, len ) { return 10^(0.2*(grade-1)) * (0.45 * len ^(1/3) + 0.001 * len ); }

I then tried to use this function in another variable Deemin with this definition:

    #Deemax-#IT(11,#Dee)

I can't get Deemin to save; the message is enter a valid expression.    Perhaps variables are limited to defining single-input functions.   I guess I might need to use a Feature Studio to write in full-fledged FeatureScript; are there alternatives I should consider?

Wikipedia summarizes the concept:

Tagged:

Best Answer

  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    Answer ✓
    Took another look at this and worked through an example with more than one input successfully.

    I think the issue you're running into is likely with units. If your units aren't consistent, then the calculation will fail. 

    In this case, since these formula deals with weird units, it'll be easiest just to do everything unitless by using "Number" variables. For example, "D" in your formula has units of [length^1/2]. I'm not even sure how to correctly represent those units on onshape. 

Answers

  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    I don't have much experience with using functions in variables. Could you try hard-coding the "11" value into your formula so that you only have to pass one parameter? At least that would show whether or not the issue is multiple inputs or not. 
  • tim_hess427tim_hess427 Member Posts: 648 ✭✭✭✭
    Answer ✓
    Took another look at this and worked through an example with more than one input successfully.

    I think the issue you're running into is likely with units. If your units aren't consistent, then the calculation will fail. 

    In this case, since these formula deals with weird units, it'll be easiest just to do everything unitless by using "Number" variables. For example, "D" in your formula has units of [length^1/2]. I'm not even sure how to correctly represent those units on onshape. 
  • burt_harrisburt_harris Member Posts: 7 ✭✭
    Yes, this makes sense.   The formula uses the cube-root of D (a length), weird but...

    But as I dug into this further, I found that the ISO 286 doesn't define such a formula.   It's all done in tables, and the formula does not give the same results.   Thanks anyway.
Sign In or Register to comment.