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

yang686526 2009-05-05 11:30 AM

【转帖】getting null from xrefdatabase90
 
getting null from xrefdatabase()
getting null from xrefdatabase()
hi there,
i am having a problem regarding loading xref database. the function xrefdatabase() returns null. my code is like this:
....
oddbblocktablerecordptr pblock = pref->blocktablerecord().safeopenobject();
if (pblock->isfromexternalreference())
{
strcpy(xrefname, pblock->pathname());
oddbxrefman::reloadall(pdb);
oddbdatabaseptr pdbxref = pblock->xrefdatabase();
}
....
i can see xrefname is correct, but pdbxref is null.
any idea about this?
thank you,
al
i don't see much documentation on the xrefdatabase function. not sure what it returns. what are you expecting it to return?
if it is built to mimic arx, here is what arx says it should do.
------
this function returns a pointer to the acdbdatabase that defines this block table record’s contents. if incunres is true, then a pointer will be returned, even if the xref block table record is currently unresolved (for reasons other than that the xref drawing file could not be found).
returns null if the block table record is not part of an xref, or if the crossreferenced drawing file was not found when the drawing was loaded.
-----
if the reference exists, then you might try passing true to the xrefdatabase function. i am not sure what paths dwgdirect uses to search for xrefs.
last edited by dave_; 1st september 2004 at 07:36 amfff">.
currently xrefdatabase() in dd always returns null even if xref was found and loaded. actually xref contents is inserted into xref block of root database.
this will be fixed in 1.12
sergey slezkin


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