几何尺寸与公差论坛

 找回密码
 注册
查看: 314|回复: 10

PR 263011 FCF Profile show wrong tolerance values in the report if we use ISO

[复制链接]
发表于 2009-8-16 20:21:56 | 显示全部楼层 |阅读模式
FCF Profile show wrong tolerance values in the report if we use ISO 1101
<< Frank Herr  --  07/02/09  21:06:45>>
If we use a tolerance value 0.2 in the FCF for profile dimensions and we look to the report, the UTOL is shown as 0.2 and the LTOL is shown as 0. By this reason the graphical representation in the analyse window is not correct. We should show here also +0.1 and -0.1 as tolerance values. The tolerance zone in ISO is always symetrically to the nominal value.
Steps to reproduce:
see FCFPROF5 in the attached pp and the coresponding analyze view in th report window.
<<END>>


<< Don Turcotte (Development Notes)  --  07/14/09  15:04:54>>
answered e-mail question from Yanhua relative to the program in 257416:
"Yanhua,
The blue lines are the tolerance lines.  In order to see these lines in the AnalysisView, you must turn on "Show arrows" :


Since the +tol is 0.0, there should be only one blue line for the -tol.  If you set the +tol to a non-zero value, you will see two blue lines.  These appear to be drawn rather oddly, but that is because the vector of the circle in the set is used to evaluate the profile (remember profile is the deviation of the actual point from the nominal point in the direction of the nominal vector).  The vector of the circle (0,0,1) is at right angles to the vectors of the points (1,0,0).  This is probably not the profile evaluation that the user intended for this set.  In any case, the graphical analysis is drawing correctly given the profile that the user has created.
"
<<END>>
<< Yanhua Huang (Development Notes)  --  07/13/09  14:51:12>>
Merged this fix into V44B SP1.
<<END>>
<< Frank Herr (Customer Notes)  --  07/10/09  15:22:37>>
Tested in Version 2009 RC 2009-07-08. OK now.
<<END>>
<< Yanhua Huang (Development Notes)  --  07/10/09  16:59:16>>
Fixed #2 into V44B using update tool.
******************************
Fri Jul 10 16:57:07 2009
******************************
Files inserted to server
------------------------
V44B\DIMENS\FEATCTRLFRM.CPP
<<END>>
<< Yanhua Huang (Development Notes)  --  07/10/09  16:54:13>>
2. editing FCF(profile, form and location, ASME), when only change plus tolerance or minus tolerance in FCF page, reporting results are not updated in reporting window.
<<END>>
<< Yanhua Huang (Development Notes)  --  07/10/09  16:54:13>>
2. editing FCF(profile, form and location, ASME), when only change plus tolerance or minus tolerance in FCF page, reporting results are not updated in reporting window.
<<END>>
<< Don Turcotte (Development Notes)  --  07/08/09  10:50:08>>
These changes were uploaded to V44B using Update (V44B RC) and not yet to the PC-DMIS 2009 Mercurial repository for V44B SP1.
Files inserted to server
------------------------
V44B\DIMENS\DIM_PROF.CPP
V44B\DIMENS\FEATCTRLFRM.CPP
V44B\HYPER\HYPERANALCTRL4.CPP
<<END>>
<< Don Turcotte (Development Notes)  --  07/08/09  10:46:41>>
I talked with Frank Herr and we agreed that the only change for the case of ISO 1101 is that for both formandlocation and formonly the plus tol shall report the total tol and the minus tol shall report 0.0.  The only change I needed to make for this was in FeatCtrlFrm.cpp to report 0.0 for the minus tol when formonly and ISO 1101.
I also found that the graphical analysis in the report was drawing the tol bands incorrectly for the case of ISO 1101 and formandlocation.  I have fixed this in Hyperanalctrl4.cpp.  The activex for graphical analysis already has logic for UseISOCalculations.  The code in CHyperAnalCtrl4:rawReportingData() just needed to set this flag.
I also reverted the changes that Yanhua made to Dim_Prof.cpp since these were incorrect.  The other changes that Yanhua uploaded are ok.
<<END>>
<< Don Turcotte (Development Notes)  --  07/07/09  17:51:04>>
Yanhua's fix addresses the problem of 263008 but not the issue of this PR.  I have this working for the case of formandlocation and ISO 1101, but Frank also wants the +tol / -tol to be evenly divided for the formonly case with ISO 1101.  I am still having problems with this since the report expects the +tol to be the full tol in the case of formonly.
The graphical analysis draws correctly when the +tol/-tol are set up correctly so there is nothing wrong with graphical analysis or the ActiveX Ocx.
I have not uploaded my changes since I am still working on this.
<<END>>
<< Yanhua Huang (Development Notes)  --  07/07/09  21:27:12>>
1. fixed one item - show symetrical tolerance zone in the analysisview window for FCFPROF5 specified by ISO.
******************************
Tue Jul 07 21:23:31 2009
******************************
Files inserted to server
------------------------
V44B\DIMENS\DIM_PROF.CPP
V44B\DIMENS\FEATCTRLFRM.CPP
V44B\FCF\FCFReport.CPP
V44B\INCLUDE\DIM_PROF.H
V44B\MENU\FeatCtrlFrmDlg.CPP
<<END>>
 楼主| 发表于 2009-8-16 20:22:31 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Hi Yanhua,

Can you give me an assessment here as soon as possible?  If this is a real problem it is probably going to force us to rebuild the release before publishing as it will affect a lot of customers potentially.

Thanks,

Ken Woodbine         Ken.Woodbine@HexagonMetrology.com
 楼主| 发表于 2009-8-16 20:22:56 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Hi Dave,

This one in addition to 263008 that we talked about yesterday need to be looked at as soon as possible.  We’re planning for the Commercial Release on Tuesday but these (2) items appear to be “Stop Release”.

Regards,

Tim
 楼主| 发表于 2009-8-16 20:24:07 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Yes.

Tim
Sent wirelessly via BlackBerry from T-Mobile.
________________________________________
From: "Dave Petrizze"
Date: Fri, 3 Jul 2009 11:54:27 -0600
To: Tim Wernicke<twernicke@wilcoxassoc.com>; Ken Woodbine<kwoodbine@wilcoxassoc.com>; Yanhua HUANG<yhuang@wilcoxassoc.com>; <dpetrizze@wilcoxassoc.com>
Subject: RE: 263011
So are the solutions to these PRs needing to go into the V44B folder via UPDATE?

Dave Petrizze
 楼主| 发表于 2009-8-16 20:24:44 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Thanks all, I am looking into this using V44B source code.

yanhua.huang@hexagonmetrology.com
 楼主| 发表于 2009-8-16 20:25:29 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Hi all,
Which function did draw the profile (high-light in red ellipse) in the reporting window? Need we keep the synchronization for the following files?
t:\V44B\DIMENSIONREPORTCONTROLS\DimLinearControl.cpp
t:\V44B\DIMENS\DimLinearControl.cpp
t:\V44B\Dimens\GraphicalAnalysis.cpp
t:\V44B\DIMANALYSIS ACTIVEX\GraphicalAnalysis.cpp
yanhua
 楼主| 发表于 2009-8-16 20:26:35 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Wade,
How to debug DimAnalysisActiveX project?
I could not insert any breakpoints into t:\V44B\DIMANALYSIS ACTIVEX\GraphicalAnalysis.cpp. Thanks in advance.

yanhua.huang@hexagonmetrology.com
Software Engineer –GD&T | New GPS
PC-DMIS CMM Reporting Group
Wilcox Associates, Inc. Hexagon Group
86-13681691545

From: Steve Barber
Sent: 2009年7月6日 9:40 PM
To: Yanhua HUANG; Wade Burton
Cc: Don Turcotte; Dave Petrizze
Subject: RE: 263011

The image is the bitmap created when viewing/executing the analview command.
Not sure who draws it but my guess would be a call from graph3 via draw_element.

The files mentioned in your email are required for pcdmis to work if that is the question.
If they have been changed, they will need to be uploaded.
If any of the files are used by the OCXs, the OCXs would also need to be uploaded I would imagine.
But I do not completely understand the new Mercurial system and where any changes need to go. New tips for PRs/Tasks are currently too complicated for my simple mind.
 楼主| 发表于 2009-8-16 20:27:05 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Don,
I plan to change IsBilateral function to the following code in my local computer. What do you think?
bool CPCDdim_profile::IsBilateral (void) const
{
  bool result = true;
  if (m_pFCF && FCF_ISO_1101 == ((CPCDFeatCtrlFrm*)m_pFCF)->GetStandardType()) // profile always is bilateral tolerance specified by ISO 1101 - 2004
  {
    result = true;
  }
  else // ASME and other
  {
    if ((m_form_and_loc == 0 && m_bestfit != OPTIMIZED_FIT))  
    {
      result = UseMaxMinForOuttol();  
    }
    // m_form_and_loc != 0 | m_form_and_loc == 0 && m_bestfit == OPTIMIZED_FIT - profile with datum specified by ASME, except ISO standard
    else
    {
      if (m_pFCF)
      {
        double dbMinusTol = 0, dbPlusTol = 0;
        dbPlusTol = ((CPCDFeatCtrlFrm*)m_pFCF)->GetProfilePlusTol();
        dbMinusTol = ((CPCDFeatCtrlFrm*)m_pFCF)->GetProfileMinusTol();
        if (fabs(dbPlusTol) < EPSILON || fabs(dbMinusTol) < EPSILON)
        {
          result = false;  // unilateral profile (form and location) tolerance
        }
        else
        {
          result = true;   // bilateral profile (form and location) tolerance
        }
      }
    }
  }

  return result;
}

yanhua.huang@hexagonmetrology.com
 楼主| 发表于 2009-8-16 20:27:34 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

When drawing to a main graphics window, I think the respective dimensions use ::graphical_analysis, which will create a CGraphicalAnalysis class, fill in specific information that will be needed to draw it, and then the CGraphicalAnalysis:rawDimension. The DrawDimension will call DrawProfile, DrawRunout, DrawFlatness, etc.

I don’t remember the exact differences of when it is drawing to the report, compared to drawing this to the main graphics or the anlaysisview window (which both draw in the CGDisplay), but I think it does some things similar, and eventually call the same DrawDimension, which will call the DrawProfile, DrawRunout, DrawFlatness, etc.

One issue with this, though, is that there appear to be two separate DrawProfile, DrawFlatness, etc. There is one in the CGraphicalAnalysis class in the V44B\DIMENS\GRAPHICALANALYSIS.CPP, but there is also one in the V44B\DIMANALYSIS ACTIVEX\GRAPHICALANALYSIS.CPP. I don’t remember if it is necessary to have both places, or why it would be necessary to have both, except that I think the first one may be drawn to the main graphics or analysisview graphics, and the other one is drawn using the ActiveX controls that are built and used for the reporting objects. If you’re trying to put a breakpoint in the ActiveX one, then I would make sure you have built that DimAnalysisActiveX project recently, and not just the main project.

Wade
 楼主| 发表于 2009-8-16 20:28:33 | 显示全部楼层

回复: PR 263011 FCF Profile show wrong tolerance values in the report if we u

Hi Frank,

New version with Yanhua’s fix is running, should be done around 2 hours from the time of this email.  Please let us know your findings.

We are still attending to 263008.

Thanks,

Ken Woodbine         Ken.Woodbine@HexagonMetrology.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 05:38 , Processed in 0.046381 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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