几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】hidden lines in layout when zooming (http://www.dimcax.com/hust/showthread.php?t=16528)

yang686526 2009-05-05 12:10 PM

【转帖】hidden lines in layout when zooming
 
hidden lines in layout when zooming
hidden lines in layout when zooming
i have a problem to display a certain dwg file (see attachment). in the layout called page1 some lines aren't visible until i zoom out enough. the problem shows up in the release version of odamfcapp (1.14). in the debug version all lines are always visible. in autocad all lines are also visible. has anybody seen the same problem?
attached files
a similair problem can be found in the attached file. this file is rendered differently in odamfcapp than in autocad. in odamfcapp the left and top borders of the viewport are visible. in autocad they are not. is there a way to prevent dwgdirect from displaying viewport (oddbviewport) borders?
attached files (29.2 kb, 7 views)


dear stefan,
this is a bug of dd1.14.01. it will be fixed in 1.14.02.
you can prevent drawing the viewport frame following way.
substitute cdwgviewer::setviewportborderproperties() (odamfcapp sample, dwgviewer.cpp) or corresponding function of your application by this one:
code:
void cdwgviewer::setviewportborderproperties()
{
odgsviewptr poverallview = overallview(m_pdevice);
odgsviewptr pactiveview = activeview(m_pdevice);
int n = m_pdevice->numviews();
if(n>1)
{
for(int i = 0; i<n; ++i)
{
odgsviewptr pview = m_pdevice->viewat(i);
if((pview==poverallview) || (odgspaperlayouthelper::cast(m_pdevice).get() && (pview!=pactiveview)))
{
// no border
pview->setviewportbordervisibility(false);
}
else if(pview!=pactiveview)
{
pview->setviewportbordervisibility(true);
pview->setviewportborderproperties(theapp.curpalette()[7], 2);
}
else
{
pview->setviewportbordervisibility(true);
pview->setviewportborderproperties(theapp.curpalette()[7], 2);
}
}
}
}
sincerely yours,
george udov


所有的时间均为北京时间。 现在的时间是 12:10 AM.