![]() |
【转帖】cant write radial dimension to dxf
cant write radial dimension to dxf
cant write radial dimension to dxf i am trying to export a radial dimension to dxf (not when writing to dwg). i can create the radial-dimension without any errors, but when i write to the file using writefile(), i get an exception - unhandled exception at 0x7c9377ca in export_drg.exe: 0xc0000005: access violation writing location 0x00030ffc. oddbradialdimensionptr pdimension = oddbradialdimension::createobject(); // add the entity to the parent block. cdwgplaceholder* pholder = static_cast<cdwgplaceholder*>(pblockholder); oddbblocktablerecordptr pblock = pholder->mobjectid.safeopenobject(oddb::kforwrite); pentity->setdatabasedefaults (m_pdb); oddbobjectid dimensionholder = pblock->appendoddbentity (pentity); // general dimension properties pdimension->setdimensiontext (dimtext); pdimension->settextrotation (rotationangle); pdimension->settextposition (odgepoint3d (textmidx, textmidy, 0.0)); // type specific properties pdimension->setcenter (odgepoint3d (centerx, centery, 0.0)); pdimension->setchordpoint (odgepoint3d (chordpointx, chordpointy, 0.0)); pdimension->setleaderlength (leaderlength);*/ hresult __hresult__ = cdwgplaceholder::createholder (ppresult); cdwgplaceholder* __pholder__ = static_cast<cdwgplaceholder*(*ppresult); __pholder__->mobjectid = pobject; couple of interesting observations: i did not get this error when i was using 1.14. also, i dont get this error when i write a dwg 2.1. could there be any specific changes to radial dimensions when writing to a dxf...? thank you. revised minimal code: oddbradialdimensionptr pdimension = oddbradialdimension::createobject(); // add the entity to the parent block. oddbobjectid dimensionholder = addentitytoblock (pblockholder,pdimension); cdwgplaceholder* pholder = static_cast<cdwgplaceholder*>(pblockholder); oddbblocktablerecordptr pblock = pholder->mobjectid.safeopenobject(oddb::kforwrite); pdimension->setdatabasedefaults (m_pdb); oddbobjectid dimensionholder = pblock->appendoddbentity (pdimension); hresult __hresult__ = cdwgplaceholder::createholder (ppdimensionholder); cdwgplaceholder* __pholder__ = static_cast<cdwgplaceholder*> (*ppdimensionholder); __pholder__->mobjectid = dimensionholder; similar code works fine for diametric/linear dimensions... i wonder why..? thank you. apparently, my error had nothing to do with radial dimensions. sorry. kedar |
所有的时间均为北京时间。 现在的时间是 09:40 PM. |