几何尺寸与公差论坛

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

PR 238513 Dimension Polar Radius only plots in zplus plane

[复制链接]
发表于 2008-8-4 10:37:10 | 显示全部楼层 |阅读模式
<< Dan Jeanloz  --  02/17/06  10:50:12>>
Dimension Location Polar Radius (PRAD) with GRAPH = ON plots in the ZPLUS plane even when the active workplane is YPLUS
See attached part program. The incorrect_pnt shows the plotting problem.

Steps to reproduce:
set active workplane to yplus
measure a pnt
dimension prad
set graph=on


Results:
Graphics windows shows plot in zplus plane

Expected Results:
Graphics show plot in active workplane...in this case yplus
<<END>>
 楼主| 发表于 2008-8-4 10:37:21 | 显示全部楼层

回复: PR 238513 Dimension Polar Radius only plots in zplus plane

<< Changes made by Neil Kay -- 07/23/08  16:30:07>>
Action:  Paola Pallo to Yanhua Huang
<<END>>

<< Changes made by Neil Kay -- 07/23/08  11:52:53>>
Action:  David Petrizze to Paola Pallo
<<END>>

<< Don Turcotte  --  06/22/07  09:08:48>>
Fixed in V42 beta and V43B.

Files inserted to server
------------------------
V42\DIMANALYSIS ACTIVEX\GraphicalAnalysis.CPP
V42\DIMENS\END_LOCA.CPP
V42\DIMENS\GraphicalAnalysis.CPP
V42\DLL\DIMANALYSIS ACTIVEX D.OCX
V42\DLL\DIMANALYSIS ACTIVEX.OCX

V43B\DIMANALYSIS ACTIVEX\GraphicalAnalysis.CPP
V43B\DIMENS\END_LOCA.CPP
V43B\DIMENS\GraphicalAnalysis.CPP
V43B\DLL\DIMANALYSIS ACTIVEX D.OCX
V43B\DLL\DIMANALYSIS ACTIVEX.OCX
<<END>>

<< Changes made by Don Turcotte -- 06/22/07  09:08:59>>
Action:  Don Turcotte to David Petrizze, Status:  OPEN to REVIEW
<<END>>

<< Don Turcotte  --  06/21/07  17:19:56>>
I tried this with V42R and the graphical analysis for Location PR, PA doesn't even draw.  There is missing code in GraphicaAnalysis.cpp for the Location dimension when using PR,PA.  I have fixed this and fixed the workplane issue.  This fix needs to be applied also to the DimAnalysisActiveX control.  I will finish this tomorrow.
<<END>>

<< Changes made by Scott Worden -- 02/17/06  10:28:25>>
Action:  Tim Wernicke to Don Turcotte, Assigned:   to Don Turcotte, Priority:  to High
<<END>>
 楼主| 发表于 2008-8-4 12:16:03 | 显示全部楼层

回复: PR 238513 Dimension Polar Radius only plots in zplus plane

> PCDLRN.exe!CGraphicalAnalysis::FillDrawParams(tagDRAWPARAMS * pDrawParams=0x0013d2f0, tagG2DRAWPARAMS * pG2Params=0x0013c6b8) Line 6310 C++
PCDLRN.exe!CGraphicalAnalysis::draw_hit(tagDRAWPARAMS * pDrawParams=0x0013d2f0, double * start=0x0013da18, double * vector=0x0013d344, double length=0.0059069999999999991, bool DrawArrow=false) Line 5933 + 0x10 bytes C++
PCDLRN.exe!CGraphicalAnalysis:imDrawHit(tagDRAWPARAMS * pDrawParams=0x0013d2f0, double * point=0x0013da18, double * vector=0x0013d344, double size=0.0059069999999999991, int DrawArrow=0) Line 5747 + 0x25 bytes C++
PCDLRN.exe!CGraphicalAnalysis:rawLocation() Line 5377 C++
PCDLRN.exe!CGraphicalAnalysis:rawDimension(int type=1001) Line 289 C++
PCDLRN.exe!CPCDend_location::graphical_analysis(int send_to_display=1, CPCDcommand * owner=0x00000000, int DisplayInForm=0) Line 2003 C++
 楼主| 发表于 2008-8-4 12:27:47 | 显示全部楼层

回复: PR 238513 Dimension Polar Radius only plots in zplus plane

if (pa_loc || pr_loc)

{ // Draw the polar angle and radius zones

origin[2] = theopointpart[2]; // project this to the current measpoint[2]

if (m_bUseAlign)

{

go_mm3(theopointpart, theopointpart, m_Workplane); // PR238513

origin = theopointpart; // PR238513

origin[0] = 0.0; // PR238513

origin[1] = 0.0; // PR238513

out_mm3(origin, origin, m_Workplane); // PR238513

m_Alignment.aaback(ROTANDTRANS, origin, origin, ZPAXIS);

out_mm3(zaxis, zaxis, m_Workplane); // PR238513

}

if (m_bShowAllDimsTolLines && pr_loc) // PR250544

{

DimDrawCircle(&DC, origin, zaxis, 2. * (npr + ptpr * arrow_mult), 0., 360.);

if( (npr - mtpr * arrow_mult) > 0.0 ) // PR250544

DimDrawCircle(&DC, origin, zaxis, 2. * (npr - mtpr * arrow_mult), 0., 360.);

}

temp_point[0] = npr;

temp_point[1] = npa + ptpa * arrow_mult;

temp_point[2] = theopointpart[2];

out_polar(temp_point, temp_point, m_Workplane, bUseDmisPolarConvention); // PR228181

if (m_bUseAlign)

m_Alignment.aaback(ROTANDTRANS, temp_point, temp_point, ZPAXIS);

if (m_bShowAllDimsTolLines && pa_loc) // PR250544

{

DimDrawLine(&DL, origin, temp_point);

}

temp_point[0] = npr;

temp_point[1] = npa - mtpa * arrow_mult;

temp_point[2] = theopointpart[2];

out_polar(temp_point, temp_point, m_Workplane, bUseDmisPolarConvention); // PR228181

if (m_bUseAlign)

m_Alignment.aaback(ROTANDTRANS, temp_point, temp_point, ZPAXIS);

if (m_bShowAllDimsTolLines && pa_loc) // PR250544

{

DimDrawLine(&DL, origin, temp_point);

}

temp_point[0] = mpr;

temp_point[1] = mpa;

temp_point[2] = theopointpart[2]; // keep this in the same plane as the other lines.

out_polar(temp_point, temp_point, m_Workplane, bUseDmisPolarConvention); // PR228181

if (m_bUseAlign)

m_Alignment.aaback(ROTANDTRANS, temp_point, temp_point, ZPAXIS);

DL.Color = get_dimension_color((mpa - npa), ptpa, mtpa);



if (m_bShowAllDimsMeasured && pa_loc) // PR250544

{

DimDrawLine(&DL, origin, temp_point);

}

DC.Color = get_dimension_color((mpr - npr), ptpr, mtpr);

if (m_bShowAllDimsMeasured && pr_loc) // PR250544

{

DimDrawCircle(&DC, origin, zaxis, 2. *mpr, 0., 360.);

}

return;

}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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