几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】odgicontextfordbdatabaseloadplotstyletable ctb not working (http://www.dimcax.com/hust/showthread.php?t=17694)

yang686526 2009-05-06 08:43 PM

【转帖】odgicontextfordbdatabaseloadplotstyletable ctb not working
 
odgicontextfordbdatabase::loadplotstyletable ctb not working
odgicontextfordbdatabase::loadplotstyletable ctb not working?
we are upgrading our code to dd 2.1 and odgicontextfordbdatabase::loadplotstyletable appears to be not working.
here's a simple quick test using odamfcapp
1. create a simple drawing using autocad, 2004 format so it can be openned from earlier than dd 2.1
2. draw lines and circles and change the color other than black
3. change the plotstyle to grayscale.ctb
when i open this drawing file using odamfcapp from dd 1.14, then it is gray.
when i open this drawing file using odamfcapp from dd 2.1, the it is not gray even after selecting file->"plot style manager" and loading the grayscale.ctb file
can anyone look into this and verify if there is a problem with plotstyles in dd2.1
thanks,
codey
2.1 seems to contain a regression.
but plotstyles are used only in print or print preview..
sergey slezkin
there's a checkbox in autocad page setup "display plot styles" and this is checked for the sample drawing which will show the plotstyle affect just by openning the drawing. and i also verified in odamfcapp dd2.1 that the print preview does not show gray.
i believe the "display plot styles" is the same as bool oddbplotsettings::showplotstyles() const
the test is done using paperspace or layout mode.
codey
last edited by codey; 6th december 2006 at 11:38 amfff">.
you are right. and the fix for this 2.1 regression will be available in a few days in 2.2 release.
sergey slezkin
hi,
try to check cdwgviewer:repareplotstyles method. it is mfcapp sample code. is it find your ctb file in specified paths ?

i hardcoded the path just to make sure and it is working.
testpath = (lpctstr)_t("d:\\temp\\grayscale.ctb");
thanks,
codey
ok,
full fix is more complex. it uses registry to find ctb paths and it will be available with next release.


所有的时间均为北京时间。 现在的时间是 02:20 PM.