hexagon logo

Measured Dimension Exactly the Nominal is Showing up Red

When a measured dimension comes in exactly at the nominal (or exactly at one of the limits) the report puts in red. Is there anyway to change this so it shows as acceptable? I assume that the computer is rounding to tenths but before rounding the measured value is less than a tenth out of tolerance which is why its showing red.

Thank you guys

  • I normally just live with there being red numbers on reports like that.  It can be a nice alarm state that tells everyone that a feature is on the limit of the tolerance, or technically an insignificant amount out of tolerance.  It can be helpful since most people seem to just look for any red on the report rather than actually evaluate the numbers and plan accordingly.  Like, maybe they shouldn't continue to make parts that are at or near the edge of the tolerance.  

    There is another workaround you may consider.  You can open up the tolerances just a bit such that they still round to the specified tolerance.  For example, the screenshot you provided could be programmed with a tolerance of +.000049/-.002049.  The report with 4 decimal places displayed would still show a tolerance of +.0000/-.0002, but parts that are a smidge out of that range would still evaluate to being in tolerance. 

  • I've managed to figure out how to get the text to not always be red unless out of tolerance, but the issue comes in with the bar graphic still staying red if something is still out after the 4th decimal place, and the Axis can probably be tweaked, just need to play with it more. This code also forces reporting as 4 decimal places, even if you are at 7 decimal places on display precision. What this does is count from left to right 0 is first character. Decimal is second character, followed by the next 4 decimal places.

    So 0 decimal 1 2 3 4 (0.1234)

    NOMINAL CELL
    =TOL(LEFT(NOMINAL:N,6),RIGHT(DIM_OUTTOL:N,6), 0.0, 0.0)
    
    +TOL CELL
    =TOL(RIGHT(F_PLUS_TOL:N,6),RIGHT(DIM_OUTTOL:N,6),0.0, 0.0)
    
    -TOL CELL
    =TOL(LEFT(F_MINUS_TOL:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    
    MEAS CELL
    =TOL(LEFT(DIM_MEASURED:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    
    DEV CELL
    =TOL(LEFT(DIM_DEVIATION:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    
    OUTTOL CELL
    =TOL(LEFT(DIM_OUTTOL:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    
    MIN CELL
    =TOL(LEFT(DIM_MIN:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    
    MAX CELL
    =TOL(LEFT(DIM_MAX:N,6),LEFT(DIM_OUTTOL:N,6),0.0,0.0)
    

    What Cris_C suggested is better, since it automatically changes colors to how you need them, and if anything is out beyond the 4th decimal it won't flag until it's .0001.

    But it IS possible, just tedious.

    I just realized this does not take into account anything that can measure 2 digits before the decimal, like 25.1234, it will become 25.123 and so forth.

    Do not use this code at all.

    Unless you have small numbers, or it will cut off your decimals too short.

  •   's post: you could even wholesale implement the change by making a single assignment:

    assign/RND=0.00049
    then each dimensional tolerance, type in x tolerance value +RND for UTL, or x tolerance value -RND for LTL

    that way the routine code shows you've implemented it for that feature.

  • The software is rounding what it shows you.  Real value is likely 3.80002 or something

  • That's a nice one! 

    Its all fun and games until the auditor asks to see your code Fearful

  • You guys have auditors? I'll count myself lucky for now that I don't have any.

  • If your internal instruction allows for rounding, and your customer authorizes it, rounding is permissible.  Now if you are qualifying governed product (defense, aerospace, etc), it's absolutely a forbidden act.

  • At one point, yah. And they were starting to get cheeky about stuff like that. It was all aerospace and defense stuff. 
    Now I work at a place that makes big tractors, no auditors ever.