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

yang686526 2009-05-07 12:31 PM

【转帖】reading brep in oddb3dsolid
 
reading brep in oddb3dsolid
reading brep in oddb3dsolid
i've a problem with brep representation
i've tried to insert a small code just after readfile is called to isolate my problem.
my problem is : anacadbrep.isvalid() is false in my app and when i try in odamfaappdll it returns true.
in my app code is like that :
class myservices : public exsystemservices, public exhostappservices
{
odrx_using_heap_operators(exsystemservices);
};
odstaticrxobject<myservices> mysvcs;
// create a database and load the drawing into it.
pdb = mysvcs.readfile("c:\\11474.dwg");
oddbblocktablerecordptr pms = pdb->getmodelspaceid().openobject();
oddbobjectiteratorptr pentiter = pms->newiterator();
while(!pentiter->done())
{
oddbentityptr pent = pentiter->entity(oddb::kforread);
pentiter->step();
if (!pent.isnull() && pent->iskindof(oddb3dsolid::desc()))
{
odbrbrep anacadbrep;
oddb3dsolidptr(pent)->brep(anacadbrep);
assert(anacadbrep.isvalid()); // this assertion failed
}
}
attached files
it seems that you need to load modelergeometry.drx.
see also
nurbs odb3dsolid and modelergeometry.drx.
correct. thank you very much
i've lost a lot of time because i didn't know were to find this info
i should have read release notes for ex ?
a mention to modelergeometry.drx should be a good trick in help file for odb3dsolid ::brep() method
documentation are comments in headers, autocad arx help and doc folder of ddt. your problem is one of faq topics it is good idea to add comment about loading modelergeometry.drx, i'll ask about.
( also forum has search, most of problems were discussed already. some times it can help. )
last edited by sslezkin; 23rd march 2005 at 10:06 amfff">.


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