![]() |
【转帖】circleproc90 is not calld
circleproc() is not calld
circleproc() is not calld i began to use dd just now. the version is 2.04.02. now, i am implementing odvectorizeex in the sample programs(static link version). although 'circle' exists in entities section, odgiconveyorgeometrydumper::circleproc() is not called. other xxxproc, too, is the same. why is it? i am not editing the source code. vc6 and vc8 are the same result. exsimpleview::draw(const odgidrawable* pdrawable) is called. because i don't understand english well, i am sorry if being odd sentences. best regards, kaneko odvectorizeex dumps the entities on the current layout. perhaps the circle is not on the active layout? vladimir thanks for your reply. odvectorizeex takes out only active layout. i understand. is setupactivelayoutviews() it? well then, is there a way of taking out the figure which is in model space(entities section) ? for example, in case of the attached file (the file of autocad ex2, maybe). best regards, kaneko attached files (21.8 kb, 1 views) if you open your file in autocad you won't see anything (just like in vectorizeex), because all entities are beyound the sceen bounds. you may call e.g. zoomextents() to vectorize all visible entities of the current layout. insert the following code code: odgsview* pview = pdevice->viewat(0); odabstractviewpeptr(pview)->zoomextents(pview);before updating device in odvectorizeex sample. vladimir thanks. circleproc() became called. i request another (true sorry). nurbsproc() isn't called in the attached file. why is it? attached files (39.9 kb, 1 views) because active layout is paperspace vladimir thanks. i consulted the advice of mr.wvk and the other exsamples, i changed the program as follows. code: // pdevice = oddbgsmanager::setupactivelayoutviews(pdevice, pdwgcontext); oddbobjectid spaceid = pdb->getactivelayoutbtrid(); if(spaceid == pdb->getpaperspaceid()) spaceid = pdb->getmodelspaceid(); oddbblocktablerecordptr pspace = spaceid.safeopenobject(oddb::kforwrite); pdevice = oddbgsmanager::setuplayoutviews(pspace->getlayoutid(), pdevice, pdwgcontext); odgsview* pview = pdevice->viewat(0); odabstractviewpeptr(pview)->zoomextents(pview);is this ok? best regards, kaneko it would be a bit simpler just to set active layout if you don't intend to save the file. but your way should also work. vladimir |
所有的时间均为北京时间。 现在的时间是 11:57 AM. |