几何尺寸与公差论坛

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

PR 249027 MYCRONA: FCF Symmetry from two lines to a reference line gives wron

[复制链接]
发表于 2009-1-15 11:25:30 | 显示全部楼层 |阅读模式
<< Stefan Hombach  --  07/06/07  09:56:52>>
FCF Symmetry from two lines to a reference line gives wrong results (see attached pp).

Steps to reproduce:
Run the attached pp.

Results:
All 3 FCFSYM give different results, depending even on the direction off the lines.

Expected Results:
I expect 1 as result for all 3 FCFSYM dimensions and no dependency on the directions of the features.
<<END>>

<< Changes made by Neil Kay -- 12/12/08  09:23:57>>
Action:  Wade Burton to Yanhua Huang, Assigned:  Don Turcotte to CMM Group
<<END>>
<< Changes made by Neil Kay -- 07/23/08  14:01:32>>
Action:  David Petrizze to Wade Burton
<<END>>
<< Don Turcotte  --  08/14/07  17:22:27>>
Other users have had problems when using an axis type datum (line).  I have modified the code so that with a single axis type datum, PC-DMIS uses the datum and the active workplane (cross product) to determine the measurement direction.

Files inserted to server
------------------------
V42\DIMENS\DIM_SYMM.CPP
V43B\DIMENS\DIM_SYMM.CPP
<<END>>
<< Changes made by Don Turcotte -- 08/14/07  17:22:42>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>
<< Changes made by Don Ruggieri -- 07/06/07  08:26:18>>
Action:  Tim Wernicke to Don Turcotte, Assigned:   to Don Turcotte, Priority:  to High
<<END>>
 楼主| 发表于 2009-1-15 11:30:20 | 显示全部楼层

回复: PR 249027 MYCRONA: FCF Symmetry from two lines to a reference line give

V42\DIMENS\DIM_SYMM.CPP
CPCDcommand* CPCDdim_symmetry::create_DRF_alignment(CPoint3 *ret_dirVec, CPoint3 *ret_latVec,CPoint3 *ret_longVec, CPCDcommand * pMidFeat/*=NULL*/) // PR249641
    else // PR249027 - no secondary datum
    {
      if( datumref.m_iType[PRIMARY] == DAT_AXIS )
      {
        CPoint3 vector;
        switch( global_workplane )
        {
        case TOP:
          vector = CPoint3(0.,0.,1.);
          break;
        case RIGHT:
          vector = CPoint3(1.,0.,0.);
          break;
        case BACK:
          vector = CPoint3(0.,1.,0.);
          break;
        case BOTTOM:
          vector = CPoint3(0.,0.,-1.);
          break;
        case LEFT:
          vector = CPoint3(-1.,0.,0.);
          break;
        case FRONT:
          vector = CPoint3(0.,-1.,0.);
          break;
        }
        global_align->aaforw(ROTONLY, MACHINETOPARTS, vector, vector);
        dirVec = dirVec.cross(vector);
        latVec = CPoint3(0,0,1);
        longVec = latVec.cross(dirVec);
      }
    }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 01:15 , Processed in 0.037838 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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