hexagon logo

Capability calculations for True Position

Has anyone come across this as a means of calculating Cpk of a true position?

http://documentation.statsoft.com/ST...tionCapability

I think it should be possible, but I'm not sure if this is the answer or not. I was thinking about how something along the lines of the complex plane (or vectors/trig) could be used to identify grouping of a positional tolerance based on its quadrant within a unit circle, and then could be used to calculate Cpk. It's not unheard of. The normal distribution of a multivariate system is calculable, so why wouldn't a statistic that is related to the normal distribution in 1 variable work for higher dimensions?

I'm thinking that there must be a way to calculate the variance of position based on the the quadrant it falls in. Whether it's a trigonometric function, or a complex function.

Anyone have any input as I dive into this blackhole?

Curiosity killed the cat, hopefully I'm not a cat.

  • , I agree, the Annex C is very interesting.
    I just think that what they call "plane" can be a line (in 2D).
    In this case, the projection is only a dot product.

    In the excel sheet linked, I tried to do the job of creating the line and the intersection.
    If it doesnt work between french and english, you have to change "sommeprod" by"sumproduct" in the dot column formulas, and "racine" by "sqr" in X1 and X2.

    Please don't change red cells, you can change yellow ones, and of course x and y values !!!!! (here, there are calculated by a random Slight smile) and limited at 25 values (but you can extend it if you want !)
    Hope this help, remains to be done the statistics !!!!! (there's a excel example here, I don't know if it's usefull... [URL="http://www.cnomo.com/an/telechargement.php?chemin=/fichiers/2/14802/E4136115r_A_En.zip&F_fiches_ID=14802&F_fichiers_ID=18680"]www.cnomo.com/.../URL])

    Happy sunday !
  • As I understand the Volvo doc, here is my "translation" :
    test CPK vb.zip

    Don't forget that I work essentialy on prototypes, so I'm not user of those tools Disappointed.
  • If only I had more than 1 Like to give. Slight smile

    This is great stuff
  • Also, I think you are correct that when they say "plane" that line is sufficient, given that we are using the 2D XY plane, the plane that intersects it is seen as a line anyways.
  • : you're welcome !
    It was funny to do it on sunday morning while everybody was sleeping at home Wink
    Can you just tell me if the sub "macro" works, and the functions, from french to english (I don't know how to change the language Disappointed ! )
  • Which macro? I'm playing around with the file from this post, and all of the calculations seems to work. Some of them are a bit above my head, so I'm trying to work through exactly what is happening in each call, but it's working great from what I can tell.

    My only question would be on the final calculations, there are just numbers in those cells, so there's no indication of what is being calculated for Cp/Cpk1/Cpk2. I think that the calculation is not the standard Cpk calculation, so I'm not sure how to double check those. I like the addition of the line chart that changes with the change in angle. Very professional. Slight smile

    Kudos to you for doing this on a Sunday morning too. Super Jefman to the rescue.
  • There's a "Macro1" (it's a xlsm file !) :
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    Dim aver1, stddev1, angle1, cp, cpk1, cpk2, three_sigma, dist, dist1, dist2
    '
    For i = 1 To 18
    angle1 = (i - 1) * 10
    If (i - 1) * 10 = 90 Then
    angle1 = 90.000001
    End If
    Range("L2").Select
    ActiveCell.Value = angle1
    Range("X3").Select
    aver1 = ActiveCell.Value
    Range("X4").Select
    stddev1 = ActiveCell.Value
    Range("T20").Select
    dist = ActiveCell.Value
    Range("Z4").Select
    three_sigma = ActiveCell.Value
    Range("V14").Select
    dist1 = ActiveCell.Value
    Range("V16").Select
    dist2 = ActiveCell.Value
    
    cp = dist / three_sigma
    cpk1 = dist1 / three_sigma
    cpk2 = dist2 / three_sigma
    
    
    Range("AB" & (i + 6)).Select
    ActiveCell.Value = angle1
    Range("AC" & (i + 6)).Select
    ActiveCell.Value = aver1
    Range("AD" & (i + 6)).Select
    ActiveCell.Value = stddev1
    Range("AE" & (i + 6)).Select
    ActiveCell.Value = cp
    Range("AF" & (i + 6)).Select
    ActiveCell.Value = cpk1
    Range("AG" & (i + 6)).Select
    ActiveCell.Value = cpk2
    
    Next i
    End Sub
    


    It calculates cp, cpk1 and cpk2 with my understanding of the text ! (so not necessarily as a standard !!!!!!!)
  • 90.000001 is a value to avoid bad calculation when cos=0 !
  • Oh, I found it. I think you're probably right, I just only saw the values and so I wasn't sure how the cells were getting those values. Thanks. Slight smile

    Macros are over my head completely. PC-DMIS is the most "coding" that I can do.