![]() |
【转帖】odgiextcalc problem - wrong extents
odgiextcalc problem - wrong extents
odgiextcalc problem - wrong extents hi, i use odgiextcalc to calculate extents of the layout. extcalc.setcontext(pdwgcontext); extcalc.draw(pspace); extcalc.getextents(extents); but the extents are wrong, they are too big. i didn't see any use of odgiextcalc in 1.14 bundle. tia regards, michal sliwka attached files hi, editorobject.h has class odexzoomcmd. it is implementation of zoomextents command. look at zoom_extents and getlayoutextents in editorobject.cpp. possibly, it will help you. mfcapp has command zoomtoextents. i have tested it with your file and didnt find any problem with extents. last edited by sslezkin; 7th august 2006 at 01:53 amfff">. i have tested your code. my code is next code: odgeextents3d extents; odrxobjectimpl<odgiextcalc> extcalc; odstaticrxobject<odgicontextfordbdatabase> gicontext; gicontext.setdatabase( pdb ); extcalc.setcontext(&gicontext); extcalc.draw(pdb->getmodelspaceid().openobject(oddb::kforread)); extcalc.getextents(extents); results for model space are m_min 4416373.08,5356653.97,0. m_max 4418616.62,5360684.71,494.27 the max is strange - i tested it and found that drawing has hatch entity around max point. handle of hatch is 6e30. you can select it in mfcapp by handle and last two strings in the dxfoutput will show object extents. so odgiextcalc return valid extents. autocad do not draw this hatch and i think that zoom to extents do not include it due to no graphics available (mfcapp doesn't show it too). but if you select hatch in autocad and change hatch pattern name to brass and scale to 0.001, hatch appears and autocad will scale drawing to new borders. if you need extents like after zoom extents, you should use functionality like in zoom to extents command. |
所有的时间均为北京时间。 现在的时间是 10:44 PM. |