oddbviewport vectorization
oddbviewport vectorization
hi support,
i ran odvectorizeex on the attached simple.dwg and i got the attached dump.txt.
i do not understand why the dump of acdbviewport does not contain the clipped line segment (you can see ot if you open simple.dwg in autocad).
is there a way to dump the clipped entities displayed in a viewport ?
attached files
*model_space is displayed through the viewport.
line is not clipped, it is completely visible.
vladimir
ok the segment is visible in the model space and in the viewport.
so why does not it appear in the viewport dump ?
in the dump you see 3 gs views
start drawing <acdblayout>. . . . . . [51] (overall viewport (paperspace entities))
start drawing *model_space. . . . . . [1f] (viewport contents)
start drawing *paper_space. . . . . . [50] (viewport borders)
the last of these views is temporary, created to ensure correct draw order of viewport borders and viewport entities (drawviewportsfirst flag).
(try to insert several viewports in the active layout and compare dumps.)
vladimir
my purpose is to get the geometric primitives of what is visible in an oddbviewport.
i first tried the odgetgeomex sample on a viewport but of course only the viewport borders were dumped.
i then tried odvectorizeex but it dumps the whole file and i don't know how to sort the information i need from your sample.
i would like to write something like that :
myoddbviewport->worlddraw(myodgibasevectorizer) ;
and then receive the geometric primitives in odgibasevectorizer::circulararc,
odgibasevectorizer:

olyline,etc.
what do you suggest ?
the simplest solution would be to hide all the gs views but one after setupactivelayouts is called.
odgsbasevectorizeview has members called 'viewportid', and 'hide', and odgsdevice can enumerate views (numviews + viewat).
vladimir
if you read the dump.txt in my previous post, the segment coordinates are
vertex[0] . . . . . . . . . . [144,1 323,9 0,0]
vertex[1] . . . . . . . . . . [855,9 676,1 0,0]
but if you read simple.dwg in autocad and check the segment coordinates in the viewport, they are :
[28.13 ; 49.55] [238.56 ; 153.64]
how should i modify exsimpleview::update() to dump the same coordinates as in autocad paperspace ?
perhaps you speak about paper space world coordinates?
i cannot imagine what for you may need them (speaking about viewport contetnts).
change eyetoscreenmatrix, if it is indeed what you need...
vladimir
you will find attached 20456.dwg, containing a viewport in which a circle is visible, and 20456.txt, the oddbvectorizeex dump of this dwg.
i wonder why the circle is dumped as a polyline and not as a circle ?
attached files (50.6 kb, 4 views)
(116.1 kb, 3 views)
search the sample for the string "reduced elliparc data" (from the dump file)
vladimir
is there a way to avoid exploding curves into several dashes when they have a non continuous linetype ?
i fear, there is no simple way to achieve that.
the "correct" way is to create plot style table with overridden linetype and attach it to the drawing. this is rather complex.
more easy is to always set continuous linetype id to active entity traits (subentitytraits) before calling base vectorizer. (in plineproc(), etc. )
vladimir
it works ! thank you very much !