几何尺寸与公差论坛

 找回密码
 注册
查看: 147|回复: 1

PR 248672 Projected tolerance zone in True Position dimension appears to be r

[复制链接]
发表于 2009-2-28 14:53:18 | 显示全部楼层 |阅读模式
Projected tolerance zone in True Position dimension appears to be reversed
<< Doug Sjogren  --  06/12/07  17:23:02>>
Look at the program I am attaching from AE in field.  
True position of CYL3 at the ed of the program, using 75 mm projection zone yields numbers that are equivalent to a point -75mm and vice versa.  the graphical analysis appears to draw the graphics in the correct location, but the numbers are coming from the opposite direction.  Am I misinterpreting this, or is it a problem?
<<END>>


<< Changes made by Neil Kay -- 02/25/09  19:15:43>>
Action:  David Petrizze to Yanhua Huang
<<END>>
<< Changes made by Don Ruggieri -- 02/02/09  12:55:24>>
Status:  OPEN to REVIEW
<<END>>
<< Changes made by Don Ruggieri -- 02/02/09  09:31:46>>
Status:  REVIEW to OPEN
<<END>>
<< Don Turcotte  --  02/02/09  10:00:30>>
I have fixed this so FCF projection zone is not modified when migrating from earlier versions of PC-DMIS or when SaveAs to earlier versions.
Files inserted to server
------------------------
V42R\DIMENS\FEATCTRLFRM.CPP
V42R\DIMENS\TP_START.CPP
V432\DIMENS\FEATCTRLFRM.CPP
V432\DIMENS\TP_START.CPP
V44B\DIMENS\FEATCTRLFRM.CPP
V44B\DIMENS\TP_START.CPP
<<END>>
<< Changes made by Don Turcotte -- 02/02/09  10:02:51>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Changes made by Don Turcotte -- 02/02/09  10:00:30>>
Status:  REVIEW to OPEN
<<END>>
<< Rob Jensen  --  01/30/09  17:10:12>>
I tested 4.2MR3 (1-29-09 build).
1) Nominals no longer change on Legacy TP dimensions in programs migrated fron earlier versions (any feature type). FIXED
2) Projected tolerance zone works correctly for AutoCylinder and migrated programs only flip the sign of the ref length value when it is negative and an Auto Cylinder. FIXED
3) Note: Measured Cylinders and Constructed Cylinder are not altered any more therefore are not affetcted by the change. FIXED
4) Note: XactMeasure TP Projected tolerance for an AutoCylinder zone was not broken in 4.2MR1. There is a new problem which is the original positive projected reference length in the 4.2MR1 Xactmeasure dim is changed to a negatived projected reference length when migrated to 4.2MR3. Note the result are still correct however. Since this was not broken do not flip the value during program migration.   ********NEW PROBLEM***********
<<END>>
<< Changes made by Rob Jensen -- 01/30/09  17:10:24>>
Action:  David Petrizze to Don Turcotte
<<END>>
<< Don Ruggieri  --  01/30/09  13:07:19>>
I also modified the reference length and closed and reopened the program multiple times, using alternate positive and negatice reference length values.  I did this to ensurte that this current serialization of the program was not autommmatically negated, as was part of the fix.
<<END>>
<< Don Ruggieri  --  01/30/09  13:04:15>>
Okay, I was able to duplicate the original proble using V42R.  I opened the program andd saw that the negative reference length numerically correlated to the true position of a construction point created above the feature.  I then opened the (original) program in V42MR3 and while the reference length was reveresed (t o a positive value) it still mathematically correlated to the point above the feature, and not the one be,ow the feature as would have been the case in V42r.  In other words, its good!
<<END>>
<< Don Turcotte  --  01/29/09  11:32:26>>
See also 258933
I have fixed this in V42R (V42 MR3), V432 (V43 MR2), and V44B as described below in comments of 01/28/09
******************************
Thu Jan 29 11:28:16 2009
******************************
Files inserted to server
------------------------
V42R\DIMENS\TP_START.CPP
V42R\INCLUDE\TP_START.H
V432\DIMENS\TP_START.CPP
V432\INCLUDE\TP_START.H
V44B\DIMENS\TP_START.CPP
V44B\INCLUDE\TP_START.H
<<END>>
<< Changes made by Don Turcotte -- 01/29/09  11:36:13>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Don Turcotte  --  01/28/09  16:31:31>>
After conference call with Mike, Rob, Bob and others and then further discussions with Rob, we have decided on the following changes based on Rob's testing.
1.  Never change nominals (PR 258933)
2.  Change the sign on the projection length when migrating a program from V42 MR2 or earlier only if the projection length is negative and the considered feature is an autocylinder.  Rob's tests indicated that this was a problem only for autocylinders.
<<END>>
<< Changes made by Don Turcotte -- 01/28/09  16:31:41>>
Status:  REVIEW to OPEN
<<END>>
<< Bob Heinrichs  --  01/21/09  12:06:17>>
Don,
In addition to my concerns in the previous post, I have another.  Is there anyway to NOT set the recalculate flag when you flip the sign of the Ref Length in TP?  I am referencing the problem in PR 258933. Why is it necessary to update the nominals when changing the sign of the Ref Length?  My problem with updating the nominals is that it will change all of CAT's nominals for the TP dimensions that are using a Ref Length other than zero when they migrate to V4.3 MR2 or higher.  They will not know this has been done and there TP dimension will be inaccurate.  If this cannot be done than at the least there needs to be a Warning when the migration is done that the following dimensions had to be updated do to a problem found with Projected Tolerance using Ref Length and the programmer should review these dimensions for proper nominals and proper Ref Length.  They should only get this message once if there are any TP dims in the program with a reference length other than zero at the time of migration.  They need to be informed at the least.  You may also want to make a note in the warning that you can no longer save the program backward (that is if that will cause a problem).
Also, the update of the Ref Length should only be done on migration if the Ref Length is not ZERO.  If it is ZERO there is no need to update it, and if you do it will only cause questions when the Ref Length in the TP dims is -0.
If you have any questions or you want me to clarify this over the phone, please call my cell at (630) 235-4307.
<<END>>
<< Bob Heinrichs  --  01/07/09  15:38:53>>
This seems to work now as Don describes.  My only concern now is what happens to all the customers who thought they were projecting the tolerance correctly but it was not in V4.2, when migrate the program into V4.3 MR1 the projection will flip and still be incorrect.
On the other hand if the customer was bright enough to test the projection in V4.2 for accuracy and flipped it to correct it in V4.2, when THEY migrate it will still work properly.  CAT will prefer this scenario.
I am just not sure how these 2 scenarios should be dealt with when migrating.
<<END>>
<< Changes made by Bob Heinrichs -- 01/07/09  15:38:59>>
Action:  Yanhua Huang to Don Turcotte
<<END>>
<< Changes made by Neil Kay -- 12/12/08  09:26:17>>
Action:  CMM Group to Yanhua Huang
<<END>>
<< Don Turcotte  --  10/21/08  11:29:02>>
I have merged all the changes into V42R (except M_LINE.CPP which has been undone by Andy in all versions).  I also made an additional change in all versions to redo the math when loading a program which requires the reference length to have the sign inverted.
Files inserted to server
------------------------
V42R\AUTOFEAT\AFCYLINDERCONTACTLEGACY.CPP
V42R\AUTOFEAT\AFLINECONTACTLEGACY.CPP
V42R\CONSFEAT\BASIC_CY.CPP
V42R\CONSFEAT\BASIC_LI.CPP
V42R\CONSFEAT\BFRE_LIN.CPP
V42R\CONSFEAT\BF_LINE.CPP
V42R\CONSFEAT\GEN_CONS.CPP
V42R\CONSFEAT\SCANSEGMENTLINE.CPP
V42R\DIMENS\TP_PA_LO.CPP
V42R\DIMENS\TP_PR_LO.CPP
V42R\DIMENS\TP_X_LOC.CPP
V42R\DIMENS\TP_Y_LOC.CPP
V42R\DIMENS\TP_Z_LOC.CPP
Redo math when loading a program that requires the reference length be inverted.
V42R\DIMENS\TP_START.CPP
V42R\INCLUDE\TP_START.H
V42\DIMENS\TP_START.CPP
V42\INCLUDE\TP_START.H
V431\DIMENS\TP_START.CPP
V431\INCLUDE\TP_START.H
V43B\DIMENS\TP_START.CPP
V43B\INCLUDE\TP_START.H
V44B\DIMENS\TP_START.CPP
V44B\INCLUDE\TP_START.H
<<END>>
<< Changes made by Don Turcotte -- 10/21/08  11:29:22>>
Action:  Don Turcotte to CMM Group, Status:  OPEN to REVIEW
<<END>>
<< Don Turcotte  --  10/20/08  17:42:47>>
This is not working correctly with the customer's program in V42 MR2.  This is apparently because not all the affected source files had their changes merged into V42 MR2; only the last set of changes were merged.  
As far as I can tell this is working correctly with the customer's program in V431 (the code split occurred after these changes so V431 has all the changes).  I had also attached my own test program to this PR and that does not report correct values until you F9 on the true position dimensions in V431.  This may be because I was creating this test program while I was modifying the source code.  Not sure here.
<<END>>
<< Steven George  --  10/20/08  13:05:33>>
This problem was reproduced, as described, with the 10.12.08 builds of v4.2MR2 and v4.3MR1 (v42R and v431).
<<END>>
<< Changes made by Steven George -- 10/20/08  13:05:44>>
Action:  David Petrizze to Don Turcotte, Status:  REVIEW to OPEN
<<END>>
<< Don Turcotte  --  08/14/08  13:21:12>>
Merged into V42R.  This was already in V431.  However, I had to update V42 beta, V43B, V44B, and V431 for the new schema that this fixed required for V42R.
Files inserted to server
------------------------
V42R\DIMENS\FEATCTRLFRM.CPP
V42R\DIMENS\TP_START.CPP
V42R\INCLUDE\GLOBALS.H (new V42R MR2 schema)
V431\DIMENS\FEATCTRLFRM.CPP
V431\DIMENS\TP_START.CPP
V43B\DIMENS\FEATCTRLFRM.CPP
V43B\DIMENS\TP_START.CPP
V44B\DIMENS\FEATCTRLFRM.CPP
V44B\DIMENS\TP_START.CPP
V42\DIMENS\FEATCTRLFRM.CPP
V42\DIMENS\TP_START.CPP
<<END>>
<< Changes made by Don Turcotte -- 08/14/08  13:21:27>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Tim Wernicke  --  08/14/08  08:59:03>>
Please go ahead in V42R, V431.  Thanks.
<<END>>
<< Changes made by Tim Wernicke -- 08/14/08  08:59:04>>
Action:  David Petrizze to Don Turcotte, Status:  REVIEW to OPEN, Priority:  Critical to Stop Rel.
<<END>>
<< Don Turcotte  --  07/12/07  10:29:53>>
I have completed testing using the serialization schema to flip the sign on the projection length.  This is all working as described below.  

Additional Files inserted to server
------------------------
V42\DIMENS\FEATCTRLFRM.CPP
V42\DIMENS\TP_START.CPP
V42\INCLUDE\GLOBALS.H
V43B\DIMENS\FEATCTRLFRM.CPP
V43B\DIMENS\TP_START.CPP
V43B\INCLUDE\GLOBALS.H
<<END>>
<< Changes made by Don Turcotte -- 07/12/07  10:30:22>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Don Turcotte  --  07/11/07  17:13:25>>
What I have decided to do here is to use the schema number to automatically flip the sign on the projection length when loading an earlier version program.  This will then work correctly with the new code changes if the user had intentionally used a negative projection length to get around the bug.  If the user then edits this dimension and saves the program with the new schema everything will still work correctly because the projection length now has the correct sign for the code version.  If the user SavesAs to an earlier version, the serialize will flip the sign on the projection length so the saved program will work correctly when loaded into an earlier version of PC-DMIS.  I am still testing these changes...
<<END>>
<< Changes made by Don Turcotte -- 07/11/07  17:13:34>>
Status:  REVIEW to OPEN
<<END>>
<< Don Turcotte  --  07/11/07  14:28:12>>
Suggestion from Dave:
"How difficult would it be to check the value for negative as well as schema and if both conditions are met, then flip its value?  The other alternative would be to add a registry option that enforces the rule but I don’t like this later option since the user would need to be aware of this option.
"
<<END>>
<< Bob Heinrichs  --  06/26/07  21:32:25>>
Don,
With the fix being dependent on a serialization schema, what would happen if after opening an old program in the new version you edited the dimension using F9?  Would it then have the fix apllied, which in turn would require the programmer to flip the sign of the REF LENGTH?  This may end up being confusing to someone who is editing a program and is not aware of what version the program or at least the dimensions were originally created in.  Just wanted to get your thoughts on this.
<<END>>
<< Don Turcotte  --  06/21/07  13:34:43>>
To address  Bob Heinrichs questions:
1.  How long has this been an issue?  Has it ever worked properly?
2.  Also, how will migration work for those users who have  applied negative REF LENGTHs to work around this problem?
It seems this problem has existed for a long time.  Probably since the introduction of autofeatures.  To resolve the migration issue, we could make this fix dependent on a serialization schema so existing programs would not be affected but new programs would see the fix.  I have sent e-mail to Dave for advice.
<<END>>
<< Don Turcotte  --  06/21/07  12:02:08>>
After reviewing 248719, I realized that the changes I made here to Tp_X, Y, Z also need to be made for Tp_PR, PA.
Files inserted to server
------------------------
V42\DIMENS\TP_PA_LO.CPP
V42\DIMENS\TP_PR_LO.CPP
V43B\DIMENS\TP_PA_LO.CPP
V43B\DIMENS\TP_PR_LO.CPP
<<END>>
<< Bob Heinrichs  --  06/18/07  21:26:04>>
Questions:
How long has this been an issue?  Has it ever worked properly?
Also, how will migration work for those users who have applied negative REF LENGTHs to work around this problem?
<<END>>
<< Changes made by Bob Heinrichs -- 06/18/07  21:26:11>>
Action:  David Petrizze to Don Turcotte
<<END>>
<< Don Turcotte  --  06/18/07  15:57:49>>
Fixed in V42 beta and V43B.  Verified with autofeatures, measured features and constructed features.  See attached programs.  Issue was that dimension was calculating vector of cylinder rather than asking for the vector via call to gp(...).  Vector for autocylinders was calculated the reverse of the convention for autocylinders.
Files inserted to server
------------------------
V42\AUTOFEAT\AFCYLINDERCONTACTLEGACY.CPP
V42\AUTOFEAT\AFLINECONTACTLEGACY.CPP
V42\CONSFEAT\BASIC_CY.CPP
V42\CONSFEAT\BASIC_LI.CPP
V42\CONSFEAT\BFRE_LIN.CPP
V42\CONSFEAT\BF_LINE.CPP
V42\CONSFEAT\GEN_CONS.CPP
V42\CONSFEAT\SCANSEGMENTLINE.CPP
V42\DIMENS\TP_X_LOC.CPP
V42\DIMENS\TP_Y_LOC.CPP
V42\DIMENS\TP_Z_LOC.CPP
V42\MEASFEAT\M_LINE.CPP
V43B\AUTOFEAT\AFCYLINDERCONTACTLEGACY.CPP
V43B\AUTOFEAT\AFLINECONTACTLEGACY.CPP
V43B\CONSFEAT\BASIC_CY.CPP
V43B\CONSFEAT\BASIC_LI.CPP
V43B\CONSFEAT\BFRE_LIN.CPP
V43B\CONSFEAT\BF_LINE.CPP
V43B\CONSFEAT\GEN_CONS.CPP
V43B\CONSFEAT\SCANSEGMENTLINE.CPP
V43B\DIMENS\TP_X_LOC.CPP
V43B\DIMENS\TP_Y_LOC.CPP
V43B\DIMENS\TP_Z_LOC.CPP
V43B\MEASFEAT\M_LINE.CPP

<<END>>
<< Changes made by Don Turcotte -- 06/18/07  15:58:10>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Bob Heinrichs  --  06/13/07  19:29:54>>
You may want to test/verify this problem with Auto Cylinders, Measured Cylinders, and Constructed Cylinders.
<<END>>
<< Changes made by Tim Wernicke -- 06/13/07  08:51:30>>
Category:  true pos to GD&T, Action:  Tim Wernicke to Don Turcotte, Assigned:   to Don Turcotte, Priority:  to Critical
<<END>>
<< Bob Heinrichs  --  06/12/07  18:09:52>>
This is a problem I found while at CAT in V4.1 Release.  Same results in V4.2 per Doug Sjogren.
<<END>>
 楼主| 发表于 2009-2-28 15:12:28 | 显示全部楼层

回复: PR 248672 Projected tolerance zone in True Position dimension appears t

<< Don Turcotte -- 06/18/07 15:57:49>>

gp(VECTOR, MEAS, PART, NULL, axis_vect); // PR248672 - vector was being calculated in the wrong direction
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-22 19:06 , Processed in 0.041684 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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