几何尺寸与公差论坛

 找回密码
 注册
查看: 98|回复: 3

PR 248029 Slot Position : the bonus tolerence from length and width deviation

[复制链接]
发表于 2009-1-20 16:46:26 | 显示全部楼层 |阅读模式
Slot Position : the bonus tolerence from length and width deviation appears to be wrong
<< Bob Hospadaruk  --  05/09/07  16:23:29>>
If you look at the last two position dimensions in the attached program, you will find both a legacy and FCF postion on a square slot.  It seems that the bonus values given from the size (L&W) are not correct.  The bonus values are larger than what I would expect given the MMC size vs the measured size.
Please give this one a very high priority since we are possibly giving incorrect evaluations.
<<END>>

<< Changes made by Neil Kay -- 12/12/08  09:28:22>>
Action:  David Petrizze to Yanhua Huang
<<END>>
<< Bob Hospadaruk  --  07/23/08  08:36:15>>
Dave,   can't  we put this in v431 ?  Will it end up in 4.4 if only fixed in 4.4b?
<<END>>
<< Don Turcotte  --  07/08/08  13:43:36>>
I have this working now.  I have attached my test program and Dan's documents for round and square slots.
Fixed in V43B, V44B.
******************************
Tue Jul 08 13:42:29 2008
******************************
Files inserted to server
------------------------
V43B\DIMENS\TP_LF_LO.CPP
V43B\DIMENS\TP_WF_LO.CPP
V44B\DIMENS\TP_LF_LO.CPP
V44B\DIMENS\TP_WF_LO.CPP
<<END>>
<< Changes made by Don Turcotte -- 07/08/08  13:44:12>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Don Turcotte  --  07/07/08  17:25:35>>
I believe the reason why the length bonus is so large is that we are not calculating the length of the "Central segment" as defined in Dan's algorithm correctly.  I have been diverted by a Stop Release issue so I will get back to this tomorrow.
<<END>>
<< Don Turcotte  --  07/01/08  14:29:49>>
I reviewed Dan's math for round slot bonus and reworked my implementation.  I don't agree with his test for how to determine whether the touch point is on the flat side or the round end.  I think his inequality is reversed.  I also don't understand his derivation for delta-l  when the touch point is on the round end.  The results I get for width bonus look good.  The results I get for length bonus are all 0 (since the calculated value is -25).  I sent e-mail to Dan with a typical example:
"Dan,
I am still having problems with the Length bonus on a round slot.  I have a typical example where
    W = 7.25
    w  =  6.8308129775552189
     L =  26.25
     l   = 26.172135451594286

     Sin(alpha) = 0.0023995353231303094
     Cos(alpha) = 0.99999712111097250
     Tan(alpha) = 0.0023995422311461098
Let me know what you calculate for Delta-l (assume delta-w = 0).

"
<<END>>
<< Don Turcotte  --  06/30/08  17:31:09>>
OK,, to compute width bonus, I set delta-l = 0.0 :
  For lc <= L
      delta-w = W - w - ls   (flat side)
  else
       delta-w = W - w - sqrt((ls)^2 + (lc-L)^2)  (round side)

This gives reasonable values for width bonus in my test program (generally only microns off the old algorithm).

For length bonus, I set delta-w = 0.0 :
   For   
        delta-l = sqrt(L^2 (c^2 - 1.0) + (W - w)^2) - l   (round side)
   else
         delta-l = (W-w)/ s - l    (flat side)
This gives huge values for length bonus in my test program so the bonus is consistently maxed out at (uppertol - lower tol) = 0.5.
I am going back over this to verify everything.
Sent e-mail to Dan.
<<END>>
<< Don Turcotte  --  06/30/08  09:32:59>>
Reviewed Dan's latest document for bonus of round slots.  Sent the following e-mail:
"Dan,
Thanks for the document on round slot bonus.

The end result of your analysis is that
If   

Then
                 and   .


Else
              and      



Since   and  it appears that delta l is a function of delta w, but delta w is a function of delta l.

In addition, the equation  resolves simply to delta w = delta w since

Am I misreading this?
"
<<END>>
<< Don Turcotte  --  06/26/08  11:37:44>>
Sent the following Skype chat message to Dan:
"Dan, thanks for your document.  Your analysis looks good since it takes into account the effects of both length and width together.  I have implemented this for square slots and tested using my baseline test program that includes both Inner and Outer square slots at both MMC and LMC.  The results I get look reasonable.  They are slightly different (generally about 1 micron or less) than the results I get with the current V43R algorithm.  This seems reasonable since I don't think the current algorithm is that far wrong."
<<END>>
<< Dan Zwick  --  05/19/08  11:07:53>>
I'm back from AF. I did a little more work on this. There are several cases that need to be considered and I'm working my way through them one by one. In AF I discussed my solution for the square slot with Andy and he didn't find anything obviously wrong with my analysis.
<<END>>
<< Don Turcotte  --  05/12/08  17:10:43>>
Received following e-mail from Dan:
"Hi Don,
  I was in AF all last week and I am returning again this week, so I haven’t had a chance to complete my analysis of the width and length bonus for slots. However, the formula I sent you is for the length bonus. If the rotation angle is 0 then for the round slot both the length bonus and the width bonus should be W – w. From the maximal angle that I can rotate a round slot before the length tolerance becomes 0, I get a formula for the width bonus. Just imagine that when the outer slot hits the inner slot that the width of the inner slot is w + s, where s is the width bonus. The formula for the maximal angle was
   cos(theta) = (w^2 + W^2 – 2 L^2) / (2wW – 2 L^2).
By replacing w by w + s you get a formula for the width bonus. However, this formula is only valid when w W < L^2 (for example, if both w and W are less than L). I suspect that the formula I got for square slots requires this too. My calculation assumed that, when the maximal bonus was used, the inner and outer slots touched on their circular caps. Maybe this is not a valid assumption when w W > L^2.
  Anyway, doesn’t the length bonus depend on the width bonus (and vice versa) when the slot is rotated? I mean, if you take a rotated square slot and slide it in the length direction then the width bonus either increases or decreases. So how useful is it to know how much bonus you have if you only slide it in either the length or width direction?
"

I am still not convinced this is correct since the results I get with the attached program are counter-intuitive when I implement these changes for length bonus.
<<END>>
<< Don Turcotte  --  05/09/08  17:10:59>>
Sent the following e-mail to Dan:
"Dan,
From our Skype chat a few days ago, you stated based on your drawing for round slots that
I am assuming that W > w.
I just calculated the length bonus. Here's what I got...
t = sqrt(c1^2 + c2^2 - c3^2)  + L (cos(theta) - 1).
c1 = W - w cos(theta), c2 = w sin(theta), and c3 = L sin(theta)
This seems to be the width bonus, since if theta = 0 (no rotation), then cos(theta) = 1 and sin(theta) = 0 and
C1 = W - w
C2 = 0
C3 = 0
T = sqrt(C1^2) + L(1-1) = C1 or just W- w (the unrotated width bonus)

For Square slots,  I calculate the following:
For Inner square slots at MMC or Outer square slots at LMC
Let ll = lower limit of length (nominal length - minus_length_tol)
      wl = lower limit of width (nominal width - minus_width_tol)
      L = actual measured length
      W = actual measured width
      Theta = angle of rotation of measured slot about the centroid in the workplane of the slot relative to the nominal orientation
      ll_adj = lower limit of length adjusted for rotation
      wl_adj = lower limit of width adjusted for rotation
      ll_adj = w * tan(theta) + ll * cos(theta)
      wl_adj = ll * tan(theta) + wl * cos(theta)
Width bonus = W - wl_adj  (if this is < 0, then bonus = 0)
Length bonus = L - ll_adj (if this is < 0, then bonus = 0)

For Inner square slots at LMC or Outer square slots at MMC
Let lu = upper limit of length (nominal length + plus_length_tol)
      wu = upper limit of width (nominal width + plus_width_tol)
      L = actual measured length
      W = actual measured width
      Theta = angle of rotation of measured slot about the centroid in the workplane of the slot relative to the nominal orientation
      L_adj = actual measured length adjusted for rotation
      W_adj = actual measured width adjusted for rotation
      L_adj = W * tan(theta) + L * cos(theta)
      W_adj = L * tan(theta) + W * cos(theta)
Width bonus = wu - W_adj  (if this is < 0, then bonus = 0)
Length bonus = lu - L_adj (if this is < 0, then bonus = 0)

Regards,
"
<<END>>
<< Don Turcotte  --  05/08/08  17:20:10>>
I have implemented Dan's algorithm for Inner Slot Width bonus taking into account the slot rotation.  This seems to work correctly.  I will develop an algorithm along the same lines for Outer Slot Width bonus and Inner/Outer Slot Length bonus.
<<END>>
<< Changes made by Don Turcotte -- 05/08/08  14:53:36>>
Action:  Dan Zwick to Don Turcotte, Status:  REVIEW to OPEN
<<END>>
<< Don Turcotte  --  05/05/08  17:24:36>>
I have been Skype'ing with Dan about this.  He has developed a math approach that seems to be a correct analysis of the problem.  I will try applying his equations to the code for bonus calculation in TP_LF_LO.CPP and TP_WF_LO.CPP and test with my test program to see that I get correct results at the limits of rotation and reasonable results in-between.
<<END>>
<< Don Turcotte  --  06/07/07  11:36:51>>
I have uploaded my changes after testing using the program attached in 248029.zip.  Dan, would you review this to determine if the math used to adjust the length and width bonus for the rotation of the slot (round slot and square slot) is correct.  The relevant files are TP_LF_LO.CPP and TP_WF_LO.CPP in method do_math(...).
Files inserted to server
------------------------
V42\DIMENS\FEATCTRLFRM.CPP
V42\DIMENS\TP_LF_LO.CPP
V42\DIMENS\TP_WF_LO.CPP
V42\INCLUDE\TP_LF_LO.H
V42\INCLUDE\TP_WF_LO.H
V43B\DIMENS\FEATCTRLFRM.CPP
V43B\DIMENS\TP_LF_LO.CPP
V43B\DIMENS\TP_WF_LO.CPP
V43B\INCLUDE\TP_LF_LO.H
V43B\INCLUDE\TP_WF_LO.H

<<END>>
<< Changes made by Don Turcotte -- 06/07/07  11:37:11>>
Action:  Don Turcotte to Dan Zwick, Status:  OPEN to REVIEW
<<END>>
<< Don Turcotte  --  06/06/07  17:19:30>>
I have modified the calculation of the length and width adjustment due to rotation.  I have written a program with round and square slots, inner and outer, at MMC and LMC to verify my changes.  I am still testing.
<<END>>
<< Don Turcotte  --  06/05/07  18:03:29>>
Looking at the bonus calculation again to see if it is correct for both the length and width adjustments...
<<END>>
<< Don Turcotte  --  05/11/07  17:13:10>>
The bonus for length and width are adjusted for the orientation of the measured slot.  Normally as you rotate the slot, the length bonus will decrease but this is augmented by the width bonus.  That is if the slot is wider than MMC size, there can be more room for the length when the slot rotates.  This is also true for the width being affected by extra length when the slot rotates.  This is why the reported bonus values for length and width are slightly larger than what is computed from MEAS - LOWER LIMIT for an inner slot at MMC.
The FCF is not reporting the correct width bonus although internallly it is using the correct (adjusted) value which is the same as the legacy value.  The FCF length bonus agrees with the legacy length bonus.
I am still looking at this at this as it is not clear that this length,width bonus calculation is being done correctly for all cases of INNER, OUTER and MMC, LMC.
<<END>>
<< Changes made by Tim Wernicke -- 05/09/07  16:28:21>>
Category:  true pos to GD&T, Action:  Tim Wernicke to Don Turcotte, Assigned:   to Don Turcotte, Priority:  to Critical
<<END>>
 楼主| 发表于 2009-2-22 19:18:37 | 显示全部楼层

回复: PR 248029 Slot Position : the bonus tolerence from length and width dev

Hi Yanhua,



The V431 directory no longer exists.  



Don, do you have any concerns about merging this fix into V432?



Thanks,



Tim





From: Yanhua HUANG
Sent: Wednesday, February 11, 2009 6:54 AM
To: Dave Petrizze
Cc: Don Turcotte; Tim Wernicke
Subject: PR248029 - Slot Position : the bonus tolerence from length and width deviation appears to be wrong




Dave,

Bob asked we put this in v431.

Yanhua



<< Bob Hospadaruk  --  07/23/08  08:36:15>>

Dave,   can't  we put this in v431 ?  Will it end up in 4.4 if only fixed in 4.4b?

<<END>>
 楼主| 发表于 2009-2-22 19:19:04 | 显示全部楼层

回复: PR 248029 Slot Position : the bonus tolerence from length and width dev

Hi Don,



Please go ahead in V432.  I will check the test systems to confirm that this is covered as well.



Thanks,



Tim





From: Don Turcotte
Sent: Wednesday, February 11, 2009 1:01 PM
To: Tim Wernicke
Cc: Yanhua HUANG; Dave Petrizze
Subject: RE: PR248029 - Slot Position : the bonus tolerence from length and width deviation appears to be wrong




Tim,

If Bob is satisfied that this is giving good results now, we can merge in V432.  Maybe the testing group should include specific tests of True position of slots in V44B to verify that this gives reasonable results for LF, WF bonus.



Regards,

Don
 楼主| 发表于 2009-3-2 20:29:20 | 显示全部楼层

回复: PR 248029 Slot Position : the bonus tolerence from length and width dev

1. V43B\DIMENS\FEATCTRLFRM.CPP
     // PR248029
            bonus = 0.0;
            CPCDcommand * p = pStart;
            if( p ) p = p->next;
            while (p && p->is_dim_tp_location_axis())
            {
              if (p->type() == DIMENSION_TRUE_WF_LOCATION)
              {
                bonus = ((CPCDtp_location*)p)->get_bonus_tol();
                break;
              }
              else if( p->type() == DIMENSION_TRUE_END_POSITION)
              {
                break;
              }
              p = p->next;
            }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-23 00:10 , Processed in 0.045389 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表