|
MYCRONA: Form Only Profile doesn't work correctly
<< Buck Burgraff -- 05/14/07 08:35:18>>
The best fit for Form Only Profile gives back completely incorrect results. It's not even close. Please see attached program and results which show the various profiles with Form and Location as well as the Form Only. I have several customers who have run into this with all different types of profiles.
Steps to reproduce:
Make a Form Only profile. I haven't seen it work correctly yet.
Results:
Sporadic end location.
Expected Results:
A best fit that most likely would be better than the Form and Location.
<<END>>
<< Changes made by Neil Kay -- 07/23/08 16:29:39>>
Action: Paola Pallo to Yanhua Huang
<<END>>
<< Changes made by Neil Kay -- 07/23/08 14:01:05>>
Action: David Petrizze to Paola Pallo
<<END>>
<< Don Turcotte -- 05/23/07 16:56:32>>
I have fixed the following problems here:
1. Form Only profile now works correctly when using the FCF XactMeasure math. This occurs when creating a profile from the FCF dialog with datums. (When creating a legacy profile or using the FCF dialog without datums, the legacy math is used. This will not work because the bestfit 2d alignment that is used by the legacy math does not understand the CPCDAFProfile2dVision feature. This issue is being addressed separately by PR#248323 )
2. When the trihedron is drawn for the profile, only the profile datum reference frame is created. We no longer call do_math() on the profile simply to draw the trihedron. This was done for speed. Other speed issues related to creating and editing FCF profiles are being addressed in PR # 247925.
3. On the Advanced tab of the profile FCF, the fit options (LEAST SQUARES, VECTOR, etc.) are disabled when an FCF profile with datums is created since this uses the XactMeasure fitter and not the fit option selection.
Note for code review: more files were modified in V43B because I needed to make VS2005 changes to build the XactGeometryMath dll.
Files inserted to server
------------------------
V42\DIMENS\DIM_PROF.CPP
V42\DIMENS\FEATCTRLFRM.CPP
V42\INCLUDE\DIM_PROF.H
V42\INCLUDE\XACTGEOMETRYMATH\minimization.H
V42\MENU\FEATCTRLFRMDLG.CPP
V42\XACTGEOMETRYMATH\minimization.CPP
V42\NETDLL\XactGeometryMath.dll
V42\NETDLL\XactGeometryMathD.dll
V42\NETLIB\XactGeometryMath.lib
V42\NETLIB\XactGeometryMathD.lib
V43B\DIMENS\DIM_PROF.CPP
V43B\DIMENS\FEATCTRLFRM.CPP
V43B\INCLUDE\DIM_PROF.H
V43B\INCLUDE\XACTGEOMETRYMATH\minimization.H
V43B\MENU\FEATCTRLFRMDLG.CPP
V43B\XACTGEOMETRYMATH\maxinscribed.CPP
V43B\XACTGEOMETRYMATH\mcubicsplines.CPP
V43B\XACTGEOMETRYMATH\mincircumscribed.CPP
V43B\XACTGEOMETRYMATH\minimization.CPP
V43B\XACTGEOMETRYMATH\mleastsquares.CPP
V43B\XACTGEOMETRYMATH\MLP_Fit.CPP
V43B\XACTGEOMETRYMATH\mspline2d.CPP
V43B\XACTGEOMETRYMATH\mtransform.CPP
V43B\XACTGEOMETRYMATH\PositionFunc.CPP
V43B\NETDLL\XactGeometryMath.dll
V43B\NETDLL\XactGeometryMathD.dll
V43B\NETLIB\XactGeometryMath.lib
V43B\NETLIB\XactGeometryMathD.lib
<<END>>
<< Changes made by Don Turcotte -- 05/23/07 16:56:54>>
Action: Don Turcotte to David Petrizze, Status: OPEN to REVIEW
<<END>>
<< Neil Kay -- 05/23/07 09:52:52>>
I've emailed my answer to Don (just Profile2d needed) Thanks guys, this will be good news for TESA and Mycrona.
<<END>>
<< Don Turcotte -- 05/22/07 17:19:35>>
Another issue I found here is that the Xact fitter was making decisions in the profile fit based on the ISO calculation of deviation when PC-DMIS does not use this by default (this is a registry setting). I have fixed this. Now in all cases the FORMONLY is no larger than the FORMANDLOCATION value for both Line and Surface profile using FCFs with datums.
I also talked with Dave about the issue of Bf2d_align not working with CPCDAFProfileVision2D features and we agreed that the Bf2d_align should be modified to handle these. Then the legacy profile (and FCF profile with no datums which uses the legacy math) would also work with the CPCDAFProfileVision2D. I have sent e-mail to Neil to inquire what other vision features we need to consider. Since they implement get_points(...), this is just an issue for the Bf2d_align (Bf3d_align) code.
<<END>>
<< Don Turcotte -- 05/21/07 17:05:19>>
I have this working now for FCF line profile with datums (which uses the Xact fitter when FORMONLY) such that the FORMONLY deviation is better than the FORMANDLOCATION deviation. I will finish testing tomorrow and upload then.
<<END>>
<< Don Turcotte -- 05/18/07 17:39:32>>
Talked with Dave about this. Since the CPCDAFProfile2DVision does not work with best fit alignments, modifying them (or the Best fit alignment) to work with these new feature types would be an enhancement. Therefore, current release will not support these new feature types for best fit alignment or legacy profile.
However, the CPCDAFProfile2DVision should work with FCF line profile since this feature supports get_points(). I am working on figuring out why the FCF line profile is not fitting correctly for FORMONLY situation with this feature.
<<END>>
<< Don Turcotte -- 05/15/07 17:17:04>>
The issue here with the legacy line profile is that the user has a CPCDAFProfile2DVision feature which does not work with best fit alignments. The best fit alignment does not understand how to get the data points so it treats this feature as a single point. This is why the VECTOR fit produces an error. None of the other fits are actually working either. Since the FORMONLY line profile uses a 2D bestfit, this explains why the legacy FORMONLY does not work. I'm not clear on what needs to be implemented in either the CPCDAFProfile2DVision object or the best fit alignments (2D and 3D) to get this feature type to work with best fit alignments.
With the FCF line profile, the Xact fitter is used which correctly understands how to get the data points from the CPCDAFProfile2DVision (there are 4934 of them by calling get_points(...)) so the FCF line profile should work. But the Xact fitter fails to find a good fit and takes a very long time to complete.
<<END>>
<< Don Turcotte -- 05/14/07 17:12:50>>
Using VECTOR fit for the FORMONLY legacy profile gives the same deviation as FORMANDLOCATION although with an "Error in A3" message. The equivalent FCF would be to select FORMONLY with no datums and select VECTOR fit from the advanced page. In the V42Release this seems to evaluate always as MIN/MAX (or LEAST SQUARES?) and so gives a larger value than the FORMANDLOCATION using datums A,B,C. In V42 beta, selecting the fit type for FCF FORMONLY and no datums works correctly.
With FCF, selecting FORMONLY and datums takes a very long time to evaluate and gives a big value. This is true in both V42Release and V42 beta.
<<END>>
<< Changes made by Tim Wernicke -- 05/14/07 10:50:17>>
Action: Tim Wernicke to Don Turcotte, Assigned: to Don Turcotte, Priority: to Critical
<<END>> |
|