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

yang686526 2009-05-06 05:12 PM

【转帖】load a plotstyle file
 
load a plotstyle file
load a plotstyle file
hello all :
how can i load a plotstyle file (.ctb) for an odpsplotstyletable ?
in dd 1.12 odpsplotstyleservices::loadplotstyletable(...) is a pure virtual function,how can i use this function , or have other methods ?


you can obtain smartpointer for this interface in manner:
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
you also can use odgicontextfordbdatabase::loadplotstyletable (just like odamfcapp sample does) in case you use odgicontextfordbdatabase's inheritant as odgicontext instantiation.
sincerely yours,
george udov
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
odrxdynamiclinker()->loadapp(...) return an odrxdynamiclinkerptr , but how can i convert from odrxdynamiclinkerptr to an odpsplotstyleservicesptr ?

odrxdynamiclinker() returns odrxdynamiclinkerptr; odrxdynamiclinker()->loadapp(...) returns odrxmoduleptr, it must cast automatically to odpsplotstyleservicesptr. this string should work in form just as i written.
sincerely yours,
george udov
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
the string can't work , when i build , the compiler report this error : rror c2440: 'initializing' : cannot convert from 'unsigned long' to 'class odsmartptr<class odpsplotstyleservices>'
no constructor could take the source type, or constructor overload resolution was ambiguous
oduint -- odpsplotstyleservicesptr ?
please help me~

did you
#include "ps/plotstyles.h"
?
sincerely yours,
george udov
yes , i included "ps/plotstyle.h" , but why the string can't work ?


sorry, i cut-&-past'ed string from 1.13 pre-release code
in 1.12 you should write like this:
code:
odrxdynamiclinkerptr pdynlnk = odrxdynamiclinker();
oduint32 psmodid = pdynlnk->loadapp(odps_plotstyle_services_appname);
if(psmodid)
{
odpsplotstyleservicesptr ppss = pdynlnk->module(psmodid);
if(ppss.get())
{
pplotstyletable = ppss->loadplotstyletable(ppstfile);
}
}
sincerely yours,
george udov


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