![]() |
【转帖】exploding oddbbody problems
exploding oddbbody problems
exploding oddbbody problems i get a ecannotexplode result when i try to explode an oddbbody.. code: oddbbodyptr pbody = pent; cstring strentity = pbody->isa()->name(); odrxobjectptrarray entityset; odresult result = handleodresult(pbody->explode(entityset)); gc_assert(result == eok); what am i doing wrong? hi, it seems that you tried to explode body like full sphere. it cannot be exploded to something. there are no trmming loops like in region, for example. ( region will be exploded to enum of lines, circles, ect... ) quote: originally posted by alexander rumyantsev hi, it seems that you tried to explode body like full sphere. it cannot be exploded to something. there are no trmming loops like in region, for example. ( region will be exploded to enum of lines, circles, ect... ) thanks alexander for your quick response . i guess my next question would be how to get at that information. would i use some odbrbrep transverser? well, you will get odgesphere object only from brep using. is it what you need ? i'm now having issues with the brep class.. code: odbrbrep br; pbody->brep(br); oduint32 num = 0; odbrbrepfacetraverser bft; bft.setbrep(br);fff"> // throws an odexception "invalid index what i'm i doing wrong here? last edited by grizzdaddy; 2nd may 2005 at 10:15 amfff">. bump.. bump anyone? when i call pbody->brep(br); the odbrbrep object does not change.. and for some reason testing br.isvalid returns false.. i can load this fine in 1.12 odamfcapp too. last edited by grizzdaddy; 2nd may 2005 at 01:06 pmfff">. hi, sorry for delay, celebrations were here. please, attach file. i will check it. is exception odbrinvalidinput or invalidindex? also, could you check, is modelergeometry.drx loaded into your application? does next string return something ? odrxclassptr pservice = odrxservicedictionary()->getat("odmodelergeometrycreator"); quote: originally posted by alexander rumyantsev also, could you check, is modelergeometry.drx loaded into your application? does next string return something ? odrxclassptr pservice = odrxservicedictionary()->getat("odmodelergeometrycreator"); i checked and no it is not, which would explain my issues.. how do i load it into my application? do i include it like the other dd libraries? thanks, graham for lib project you need add next strings + link library // define module map for statically linked modules: #ifndef _toolkit_in_dll_ odrx_declare_static_module_entry_point(modelermodu le); odrx_begin_static_module_map() odrx_define_static_application("modelergeometry", modelermodule) odrx_end_static_module_map() #endif for dll project call ( check for file modelergeometry.drx ) #define rx_modeler_geometry_appname "modelergeometry" odrxmoduleptr pmodule = odrxdynamiclinker()->loadapp(rx_modeler_geometry_appname); where do i stick the odrxmoduleptr pmodule = odrxdynamiclinker()->loadapp("modelergeometry"); code? i've tried it in different locations and i still can't brep information!?!? this doesn't work code: odrxmoduleptr pmodule = odrxdynamiclinker()->loadapp("modelergeometry"); odrxclassptr pservice = odrxservicedictionary()->getat( "odmodelergeometrycreator"); // returns null p3dsolid->brep(br); oduint32 num = 0; if (br.isvalid()) // returns false i've also made pmodule a member variable and called the loadapp function early on at the beginning of my reader.. .but no luck.. this is really getting frustrating . hi, is pmodule equal null too ? is modelergeometry.drx in folder with app.exe ? when you call .brep(brep), toolkit automaticaly call modelergeometry loading inside brep() function. it can fail only in one case, when it cannot locate modelergeometry.drx. btw : odamfcappdll, odwriteex_dll, odreadexdll samples use modelergeometry for solid reading\creation. last edited by sslezkin; 6th may 2005 at 01:37 amfff">. quote: originally posted by alexander rumyantsev hi, is pmodule equal null too ? is modelergeometry.drx in folder with app.exe ? yep odrxmoduleptr pmodule = odrxdynamiclinker()->loadapp("modelergeometry") always returns null.. i've copied and pasted modelergeometry.drx into my debug directory, project directory, subproject directory, roots of c: and d:, and other locations.. i've even hardcoded the path to modelergeometry.drx and still it's always null. is there something else i'm neglecting to do? the code using dwgdirect is in a subproject of our application and is dll.. however our application is an exe. i'm uploading the only file i have that has acis objects in it. i doubt it's the file though because the objects load fine in odamfcapp.exe attached files (69.5 kb, 4 views) please check return value of next ( after odinitialize(&svcs); ): odrxdynamiclinkerptr plinker = odrxdynamiclinker(); odrxsystemservicesptr psystemservices = :drxsystemservices(); odstring modulename = psystemservices->findmodule("modelergeometry"); odrxmoduleptr pmodule = psystemservices->loadmodule(modulename, true); do you have define _toolkit_in_dll_ in your app ? last edited by sslezkin; 10th may 2005 at 01:03 amfff">. quote: do you have define _toolkit_in_dll_ in your app ? i tried at one point and all i hundreds of linker errors.. gave up. code: odrxdynamiclinkerptr plinker = odrxdynamiclinker(); // good odrxsystemservicesptr psystemservices = :drxsystemservices(); // good odstring modulename = psystemservices->findmodule("modelergeometry"); // finds the module odrxmoduleptr pmodule = psystemservices->loadmodule(modulename, true); // still null last edited by grizzdaddy; 10th may 2005 at 04:30 pmfff">. |
所有的时间均为北京时间。 现在的时间是 04:15 PM. |