几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】problems getting preview 9metafile or raster image0 from odd (http://www.dimcax.com/hust/showthread.php?t=18200)

yang686526 2009-05-06 11:45 PM

【转帖】problems getting preview 9metafile or raster image0 from odd
 
problems getting preview (metafile or raster image) from odd
problems getting preview (metafile or raster image) from oddbole2frame
hallo everybody!
we are start using dd (1.12) for reading dxf/dwg files (before used version 1.10).
after changed version from 1.10 to 1.12 i can't support more import ole preview from dwg/dxf files to our application .
when i'm trying to get metafile size or data from ole2frame in following code:
oddbole2frameptr pole2frame = pent;
odgimetafileptr pwmf = pole2frame->getmetafile();
if (!pwmf.isnull())
{
uint nlen = pwmf->datasize();
...
}
in datasize() i got an exception of class odolestorageerror with description like "object not exists".
in version 1.10 i can simply get metafile or raster image data from ole2frame object.
plz help me to solve this problem.
thanks.
alexander.
hi alex,
since 1.10 olestorage functionality was moved to separate module.
if you use ddl vesrion you need odolestorage.drx in the dd folder.
if you link statically with dd you need to use special macros to initialize the module and link with appropriate lib.
see odamfcapp sample - search for odolestorage in odamfcapp.cpp
btw, a gde prostava? rebyata interesuyutsa... :-)
sergey slezkin

hi sergey !
you wrote:" if you link statically with dd you need to use special macros to initialize the module and link with appropriate lib.
see odamfcapp sample - search for odolestorage in odamfcapp.cpp"
i've done this, and also tried adds functionality for get size and data from ole metafile preview in example in dwgview.cpp
...
if(pobj->iskindof(oddbole2frame::desc()))
{
odrectangle3d rect;
oddbole2frameptr pole = ((oddbole2frameptr)pobj);
odstring tmp;
odgimetafileptr pwmf = pole->getmetafile();
if (!pwmf.isnull())
{
uint nlen = pwmf->datasize();
...
}
...
example not work too .
throw exception in line uint nlen = pwmf->datasize();
>btw, a gde prostava? rebyata interesuyutsa... :-)
kak priedu v rossiyu, tak obyazatelno zaydu i prostavlus
rebyatam bolshoy privet
does odamfcapp crash trying to render your file?
if so, post the sample dwg, please.
sergey slezkin
hi,
if anyone is still watching this thread, there are no instances of odolestorage in any of the examples code for dwgdirect v1.14.02.
where can i find these macros that are talked about earlier in this thread?
cheers,
james stewart


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