几何尺寸与公差论坛

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

PR 259377 - V44 Dimension/GDT Tests: Why are there double reported lines in

[复制链接]
发表于 2009-2-16 16:01:22 | 显示全部楼层 |阅读模式
<< Don Ruggieri  --  01/28/09  16:27:56>>
data is in 01282009_04a.zip.  Why are there double reported lines in the true position dimension when first created?

Steps to reproduce:
If I dimension the true position of a circle, each line is reported twice.  I get two X axis lines, two Y, two DF, and two TP lines.

Then when I hit F9 and simply press the Create button again, it changes ti only one of each line.
<<END>>

<< Don Turcotte  --  02/13/09  14:31:20>>
Reviewed.
This almost works.  However, if you select the Form axis on the legacy TP dialog in addition to any other axes (this will uncheck Auto), then you get two RN axes in the edit window.
<<END>>
<< Changes made by Don Turcotte -- 02/13/09  14:31:33>>
Action:  David Petrizze to Yanhua Huang, Status:  REVIEW to OPEN
<<END>>
<< Changes made by Don Turcotte -- 02/13/09  14:31:20>>
Action:  Don Turcotte to David Petrizze
<<END>>
<< Yanhua Huang  --  02/13/09  21:28:13>>
Fixed in V44B.
Files inserted to server
------------------------
V44B\DIMENS\TP_START.CPP
V44B\include\tp_start.h
<<END>>
<< Changes made by Yanhua Huang -- 02/13/09  21:28:16>>
Action:  Yanhua Huang to Don Turcotte, Status:  OPEN to REVIEW
<<END>>
<< Yanhua Huang  --  02/13/09  20:13:35>>
Thanks Don R. Now I can duplicate the PR. This is an issue when status window is visible.
When "Auto" is checked and status window is visible, create a sub-command into legacy true position two times.
<<END>>
<< Don Ruggieri  --  02/12/09  11:41:47>>
I tested this again with the 2/11 nightly build of v44b, and it is still happening as originally described.  I captured a video of this, and it is placed in 02122009_02a.zip.
<<END>>
<< Yanhua Huang  --  02/12/09  23:18:48>>
Today built the latest PCDIMS V44B, now can open the PP.
<<END>>
<< Changes made by Yanhua Huang -- 02/12/09  21:11:03>>
Action:  Don Ruggieri to Yanhua Huang, Status:  MOREINFO to OPEN
<<END>>
<< Neil Kay  --  02/12/09  09:45:00>>
Stop Release. Please add to iteration. Thanks.
<<END>>
<< Yanhua Huang  --  02/08/09  19:05:54>>
Don R,
Could not open your attached test3c.PRG in V44B, please check the PP.
yanhua
<<END>>
<< Changes made by Yanhua Huang -- 02/08/09  19:11:32>>
Action:  Yanhua Huang to Don Ruggieri, Status:  OPEN to MOREINFO
<<END>>
<< Changes made by Tim Wernicke -- 01/28/09  17:29:42>>
Category:  dimensions to GD&T, Action:  Don Turcotte to Yanhua Huang, Assigned:  Don Turcotte to Yanhua Huang, Priority:  to Stop Rel.
<<END>>
 楼主| 发表于 2009-2-16 16:01:38 | 显示全部楼层

回复: PR 259377 - V44 Dimension/GDT Tests: Why are there double reported li

// 13-Feb-09 yanhua(V4.4B) PR #259377 - when status window is visible, do not add default axes into legacy true position
// IsAddDefaultAxes function only works - when "Auto" is checked and status window is visible
// return TRUE, if default axes are not found
BOOL CPCDtp_start_location::IsAddAutoAxes(BOOL bFlag /*= FALSE*/)
{
  BOOL bResult = FALSE;
  // "Auto" is checked
  if (!bFlag)
    return bResult;
  if (!m_pPartProgram)
    return bResult;
  // status window is visible
  if (!m_pPartProgram->IsStatusWindowVisible())
    return bResult;
  CPCDcommand *pCmd = NULL;
  pCmd = this;
  if (!pCmd)
    return bResult;
  if (pCmd->is_start_block())
  {
    CPCDcommand *pNext = NULL;
    pNext = pCmd->next;
    if (!pNext)
      return bResult;
    if (pNext->is_end_block())
      bResult = TRUE;
    return bResult;
  }
  return bResult;
}
 楼主| 发表于 2009-2-16 16:01:51 | 显示全部楼层

回复: PR 259377 - V44 Dimension/GDT Tests: Why are there double reported li

BOOL CPCDtp_start_location::IsAddFormAxes(const int nType, BOOL bFlag /*= FALSE*/)
{
  BOOL bResult = TRUE;
  // "Form" is checked
  if (!bFlag || nType < 0)
    return bResult;
  if (!m_pPartProgram)
    return bResult;
  // status window is visible
  if (!m_pPartProgram->IsStatusWindowVisible())
    return bResult;
  CPCDcommand *pCmd = NULL;
  pCmd = this;
  if (!pCmd)
    return bResult;
  if (pCmd->is_start_block())
  {
    CPCDcommand *pNext = NULL;
    pNext = pCmd->next;
    while(pNext)
    {
      if( !pNext->is_end_block() )
      {
        if (nType == pNext->type())
        {
          bResult = FALSE;
          break;
        }
        pNext = pNext->next;
      }
      else
        break;
    }
  }
  return bResult;
}
 楼主| 发表于 2009-2-16 16:02:20 | 显示全部楼层

回复: PR 259377 - V44 Dimension/GDT Tests: Why are there double reported li

CPCDcommand * pDelete = p;
                p = p->next;
                replace_pointer(m_pPartProgram, pDelete, pDialogCommand); // 104660 - to avoid possible crash when editing command with status window displayed
                replace_edit_pointers(m_pPartProgram,&pDelete,&pDialogCommand,1); // 104660 - to avoid possible crash when editing command with status window displayed
                delete pDelete;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 00:56 , Processed in 0.038915 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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