|
Incorrect calculation for T vector.
<< Hana Dichterova -- 03/18/06 20:44:05>>
One customer found out, that PCDMIS calculated incorrect deviation for T vector in version 37_mr2.
I have tested it in version 37_mr3 (offline) (version dated 03/07/06) and result is still incorrect. It looks like that incorrect results are for these points which are measured in a different alignment than they are dimensioned.
I am sending you one program from the customer in 37_mr2 + debug file + probe file and one program in 37_mr3 with a new evaluation T vector plus a calculation of a correct deviation for T vector.
<<END>>
<< Don Turcotte -- 03/05/09 09:58:03>>
Merged into V432.
Files inserted to server
------------------------
V432\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V432\AUTOFEAT\AFANGLEPOINTVISION.CPP
V432\AUTOFEAT\AFCIRCLECONTACT.CPP
V432\AUTOFEAT\AFCIRCLELASER.CPP
V432\AUTOFEAT\AFCIRCLEVISION.CPP
V432\AUTOFEAT\AFCYLINDERLASER.CPP
V432\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V432\AUTOFEAT\AFEDGEPOINTLASER.CPP
V432\AUTOFEAT\AFEDGEPOINTVISION.CPP
V432\AUTOFEAT\AFELLIPSEVISION.CPP
V432\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V432\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V432\AUTOFEAT\AFLINECONTACT.CPP
V432\AUTOFEAT\AFLINELASER.CPP
V432\AUTOFEAT\AFLINEVISION.CPP
V432\AUTOFEAT\AFPLANELASER.CPP
V432\AUTOFEAT\AFSLOTLASER.CPP
V432\AUTOFEAT\AFSLOTNOTCHCONTACT.CPP
V432\AUTOFEAT\AFSLOTROUNDCONTACT.CPP
V432\AUTOFEAT\AFSLOTSQUARECONTACT.CPP
V432\AUTOFEAT\AFSLOTVISION.CPP
V432\AUTOFEAT\AFSPHERELASER.CPP
V432\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V432\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V432\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V432\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V432\DIMENS\LOCATION.CPP
V432\INCLUDE\BASIC_FE.H
V432\INCLUDE\LOCATION.H
V432\MEASFEAT\BASIC_FE.CPP
V432\MEASFEAT\M_CIRCLE.CPP
V432\MEASFEAT\M_LINE.CPP
V432\MEASFEAT\M_POINT.CPP
V432\MEASFEAT\M_RSLOT.CPP
V432\MEASFEAT\M_SSLOT.CPP
<<END>>
<< Changes made by Don Turcotte -- 03/05/09 09:58:43>>
Status: OPEN to CLOSED
<<END>>
<< Tim Wernicke -- 03/04/09 15:17:21>>
Hi Don, please merge this fix into V432 per our Skype. Thanks.
<<END>>
<< Changes made by Tim Wernicke -- 03/04/09 15:17:27>>
Action: Hana Dichterova to Don Turcotte, Status: CLOSED to OPEN, Priority: Critical to Stop Rel.
<<END>>
<< Changes made by Neil Kay -- 02/25/09 15:20:39>>
Status: RESOLVED to CLOSED
<<END>>
<< Jerry Naylor -- 09/18/08 08:38:48>>
wasaddedtoreadme42B43B&44B
<<END>>
<< Neil Kay -- 09/18/08 11:38:48>>
Reviewed. Thanks Don.
<<END>>
<< Changes made by Neil Kay -- 09/18/08 11:38:52>>
Action: Neil Kay to Hana Dichterova, Status: REVIEW to RESOLVED
<<END>>
<< Don Turcotte -- 09/17/08 13:41:59>>
I have made two changes here:
1. use dynamic_cast in Location.cpp
2. implement new SaveAlignmentData(...) method in CPCDbasic_feature base class
Fixed in V42 beta, V43B, V44B.
Files inserted to server
------------------------
V42\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V42\AUTOFEAT\AFCIRCLECONTACT.CPP
V42\AUTOFEAT\AFCIRCLELASER.CPP
V42\AUTOFEAT\AFCIRCLEVISION.CPP
V42\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V42\AUTOFEAT\AFEDGEPOINTLASER.CPP
V42\AUTOFEAT\AFEDGEPOINTVISION.CPP
V42\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V42\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V42\AUTOFEAT\AFLINECONTACT.CPP
V42\AUTOFEAT\AFLINELASER.CPP
V42\AUTOFEAT\AFLINEVISION.CPP
V42\AUTOFEAT\AFSLOTLASER.CPP
V42\AUTOFEAT\AFSLOTNOTCHCONTACT.CPP
V42\AUTOFEAT\AFSLOTROUNDCONTACT.CPP
V42\AUTOFEAT\AFSLOTSQUARECONTACT.CPP
V42\AUTOFEAT\AFSLOTVISION.CPP
V42\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V42\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V42\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V42\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V42\DIMENS\LOCATION.CPP
V42\INCLUDE\BASIC_FE.H
V42\MEASFEAT\BASIC_FE.CPP
V42\MEASFEAT\M_CIRCLE.CPP
V42\MEASFEAT\M_LINE.CPP
V42\MEASFEAT\M_POINT.CPP
V42\MEASFEAT\M_RSLOT.CPP
V42\MEASFEAT\M_SSLOT.CPP
V43B\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFANGLEPOINTVISION.CPP
V43B\AUTOFEAT\AFCIRCLECONTACT.CPP
V43B\AUTOFEAT\AFCIRCLELASER.CPP
V43B\AUTOFEAT\AFCIRCLEVISION.CPP
V43B\AUTOFEAT\AFCYLINDERLASER.CPP
V43B\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFEDGEPOINTLASER.CPP
V43B\AUTOFEAT\AFEDGEPOINTVISION.CPP
V43B\AUTOFEAT\AFELLIPSEVISION.CPP
V43B\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V43B\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V43B\AUTOFEAT\AFLINECONTACT.CPP
V43B\AUTOFEAT\AFLINELASER.CPP
V43B\AUTOFEAT\AFLINEVISION.CPP
V43B\AUTOFEAT\AFPLANELASER.CPP
V43B\AUTOFEAT\AFSLOTLASER.CPP
V43B\AUTOFEAT\AFSLOTNOTCHCONTACT.CPP
V43B\AUTOFEAT\AFSLOTROUNDCONTACT.CPP
V43B\AUTOFEAT\AFSLOTSQUARECONTACT.CPP
V43B\AUTOFEAT\AFSLOTVISION.CPP
V43B\AUTOFEAT\AFSPHERELASER.CPP
V43B\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V43B\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V43B\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V43B\DIMENS\LOCATION.CPP
V43B\INCLUDE\BASIC_FE.H
V43B\MEASFEAT\BASIC_FE.CPP
V43B\MEASFEAT\M_CIRCLE.CPP
V43B\MEASFEAT\M_LINE.CPP
V43B\MEASFEAT\M_POINT.CPP
V43B\MEASFEAT\M_RSLOT.CPP
V43B\MEASFEAT\M_SSLOT.CPP
V44B\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFANGLEPOINTVISION.CPP
V44B\AUTOFEAT\AFCIRCLECONTACT.CPP
V44B\AUTOFEAT\AFCIRCLELASER.CPP
V44B\AUTOFEAT\AFCIRCLEVISION.CPP
V44B\AUTOFEAT\AFCONELASER.CPP
V44B\AUTOFEAT\AFCYLINDERLASER.CPP
V44B\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFEDGEPOINTLASER.CPP
V44B\AUTOFEAT\AFEDGEPOINTVISION.CPP
V44B\AUTOFEAT\AFELLIPSEVISION.CPP
V44B\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V44B\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V44B\AUTOFEAT\AFLINECONTACT.CPP
V44B\AUTOFEAT\AFLINELASER.CPP
V44B\AUTOFEAT\AFLINEVISION.CPP
V44B\AUTOFEAT\AFPLANELASER.CPP
V44B\AUTOFEAT\AFPOLYGONLASER.CPP
V44B\AUTOFEAT\AFSLOTLASER.CPP
V44B\AUTOFEAT\AFSLOTNOTCHCONTACT.CPP
V44B\AUTOFEAT\AFSLOTROUNDCONTACT.CPP
V44B\AUTOFEAT\AFSLOTSQUARECONTACT.CPP
V44B\AUTOFEAT\AFSLOTVISION.CPP
V44B\AUTOFEAT\AFSPHERELASER.CPP
V44B\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V44B\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V44B\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V44B\DIMENS\LOCATION.CPP
V44B\INCLUDE\BASIC_FE.H
V44B\MEASFEAT\BASIC_FE.CPP
V44B\MEASFEAT\M_CIRCLE.CPP
V44B\MEASFEAT\M_LINE.CPP
V44B\MEASFEAT\M_POINT.CPP
V44B\MEASFEAT\M_RSLOT.CPP
V44B\MEASFEAT\M_SSLOT.CPP
<<END>>
<< Changes made by Don Turcotte -- 09/17/08 13:42:22>>
Action: Don Turcotte to Neil Kay
<<END>>
<< Neil Kay -- 09/02/08 16:08:28>>
A problem here, and a refactor request.
The problem - in LOCATION.CPP in the function SetupGlobalAlignment, a check is made on the feature command is_feature(). If this returns true, it is force cast to a CPCDbasic_feature.
This is not always a good thing to do, there are some features that don't derive from this base class. Some of the legacy features derive from CPCDbasic_hit. This will lead to random crashes for those feature types. Better to dynamic_downcast it, and check that it's not NULL.
The refactor request...in CPCDbasic_feature, there is a function to GetAlignmentData. In all of the feature classes, I think it would be better to have a function to SaveAlignmentData, as there a block of duplicated code for all features that could instead be a function inside the CPCDbasic_feature class.
I've increased the PR priority because of the crash potential.
<<END>>
<< Changes made by Neil Kay -- 09/02/08 16:08:44>>
Action: Neil Kay to Don Turcotte, Priority: High to Critical
<<END>>
<< Changes made by Neil Kay -- 07/23/08 13:43:53>>
Action: David Petrizze to Neil Kay
<<END>>
<< Don Turcotte -- 10/29/07 16:41:51>>
The T vector is the deviation of the MEAS point from the THEO point along the THEO vector. The calculation is correct. The problem here is that if the dimension is in a different alignment than the feature was measured in, you can get erroneous results. I have fixed this so the alignment that the feature was measured in is used to calculate the T vector deviation. Therefore, the same deviation is always reported regardless of what alignment the dimension is in. I have also fixed this for S, RT, and RS.
Fixed in V42 beta, V43B, V44B.
Files inserted to server
------------------------
V42\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V42\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V42\AUTOFEAT\AFEDGEPOINTLASER.CPP
V42\AUTOFEAT\AFEDGEPOINTVISION.CPP
V42\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V42\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V42\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V42\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V42\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V42\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V42\DIMENS\LOCATION.CPP
V42\DIMENS\RS_LOCAT.CPP
V42\DIMENS\RT_LOCAT.CPP
V42\DIMENS\S_LOCAT.CPP
V42\DIMENS\T_LOCATI.CPP
V42\INCLUDE\LOCATION.H
V42\MEASFEAT\M_POINT.CPP
V43B\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFANGLEPOINTVISION.CPP
V43B\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFEDGEPOINTLASER.CPP
V43B\AUTOFEAT\AFEDGEPOINTVISION.CPP
V43B\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V43B\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V43B\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V43B\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V43B\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V43B\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V43B\DIMENS\LOCATION.CPP
V43B\DIMENS\RS_LOCAT.CPP
V43B\DIMENS\RT_LOCAT.CPP
V43B\DIMENS\S_LOCAT.CPP
V43B\DIMENS\T_LOCATI.CPP
V43B\INCLUDE\LOCATION.H
V43B\MEASFEAT\M_POINT.CPP
V44B\AUTOFEAT\AFANGLEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFANGLEPOINTVISION.CPP
V44B\AUTOFEAT\AFEDGEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFEDGEPOINTLASER.CPP
V44B\AUTOFEAT\AFEDGEPOINTVISION.CPP
V44B\AUTOFEAT\AFFLUSHANDGAPLASER.CPP
V44B\AUTOFEAT\AFHIGHPOINTCONTACT.CPP
V44B\AUTOFEAT\AFSURFACEPOINTCONTACT.CPP
V44B\AUTOFEAT\AFSURFACEPOINTLASER.CPP
V44B\AUTOFEAT\AFSURFACEPOINTVISION.CPP
V44B\AUTOFEAT\AFVECTORPOINTCONTACT.CPP
V44B\DIMENS\LOCATION.CPP
V44B\DIMENS\RS_LOCAT.CPP
V44B\DIMENS\RT_LOCAT.CPP
V44B\DIMENS\S_LOCAT.CPP
V44B\DIMENS\T_LOCATI.CPP
V44B\INCLUDE\LOCATION.H
V44B\MEASFEAT\M_POINT.CPP
<<END>>
<< Changes made by Don Turcotte -- 10/29/07 16:42:36>>
Action: Don Turcotte to David Petrizze, Status: OPEN to REVIEW
<<END>>
<< Changes made by Tim Wernicke -- 03/23/06 08:58:53>>
Action: Hana Dichterova to Don Turcotte, Assigned: to Don Turcotte, Status: MOREINFO to OPEN, Priority: to High
<<END>>
<< Hana Dichterova -- 03/22/06 20:09:38>>
Problem is with calculation T vector for points: MP20 ; MP28 ; MP34 ; MP44 ; MP50 ; MP56 ; MP65 ; MP75 ; MP80 ; MP81 ; MP99 ; TELESO28 ; TELESO44.
Program "Fiesta_B256_D_RHS.prg" is an older program measured in version 37_mr2.
Program "Fiesta_B256_D_RHS calcuation T vector in 373" is a new program migrated from the older version.
<<END>>
<< Tim Wernicke -- 03/20/06 09:32:26>>
Hana, which feature in the program is the problem? Was this a new part program or one that was migrated from an older version?
<<END>>
<< Changes made by Tim Wernicke -- 03/20/06 09:32:32>>
Action: Tim Wernicke to Hana Dichterova, Status: OPEN to MOREINFO
<<END>> |
|