高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】vectorization
vectorization
vectorization
dear all,
i'm very new to opendwg, and i'm a little bit lost in the big amount of classes/methods provided. however my problem is simple. i simply want to extract data from dxf or dwg files as a list of polygons/polylines. therefore the vectorisation seems to be the solution to my problem. however, unlike in example odvectorizeex, i'm not interrested to have result for a particular view port, device etc. what i want is to obtain the list of 3d points/vertex without any modification by the framework due to perspective, or whatever.
could you kindly indicate me what should the general structure of my program, which classes/methods should i use/implement, or any other relevant information?
thanks in advance,
greg
sorry for the previous message which was not very precise, i'll try to be more specific here.
at this stage, i defined few classes, inspired from the odreadex.
odreadex: contains function main, perfom the initializations call readfile, declare an instance of dddumper, and call function dumpblocks on the dumper.
dddumper defines function dumpblocks. this function iterates all entities and call this->dumpentity. dumpentity, retrives the protocol extension registred for the entity pentdumper, and call pentdumper->dump (as in odreadex).
the method dump of the protocol extension, create an instance of class vectorizer, set the context for the vectorizer, and call worlddraw on the entity with the vectorizer in parameter.
class vectorizer extends public odgigeometrysimplifier and public odgiextcalc, and overloads methods polygonout, polylineout and all the methods for entities (polyline, polygon, circle, etc.)
polygonout and polylineout are the methods where i'll retrive the actual vertex data. for each entity method i call the corresponding simplifier method (for example method circle calls circleproc).
do you think it is the right procedure to extract my datas? any comment would be welcome.
thanks
gregoire
hi everybody,
when i call ....proc of the simplifier, i sometime obtain read memory error, even tho i set the context for vectorization. any idea?
regards,
gregoire
the same problem
i am in very similar situation - i want to get triangles (or polygons and polylines) from a dwg file without rendering and transfer them to my direct3d application, but after a week of research in the documentation i haven't managed to find out what classes/methods suit for this.
i would be very thankful for any hints.
quote:
originally posted by greg
dear all,
i'm very new to opendwg, and i'm a little bit lost in the big amount of classes/methods provided. however my problem is simple. i simply want to extract data from dxf or dwg files as a list of polygons/polylines. therefore the vectorisation seems to be the solution to my problem. however, unlike in example odvectorizeex, i'm not interrested to have result for a particular view port, device etc. what i want is to obtain the list of 3d points/vertex without any modification by the framework due to perspective, or whatever.
could you kindly indicate me what should the general structure of my program, which classes/methods should i use/implement, or any other relevant information?
thanks in advance,
greg
hi greg,
reading your post above, i would suggest you study how model spaces and paper spaces interact etc.. the reason i suggest this is because your comment regarding "what i want is to obtain the list of 3d points/vertex without any modification by the framework due to perspective, or whatever" is extremely incorrect, you need to project the viewport/perspective etc. to receive the geometry, also understand that the geometry is also clipped by the viewport of whic you must supply using something like the stencil buffer to create this effect (of which is how i achevied the result). start with the vecotrization framework example firstly, and get familiar with how to work with it. it will take some time to understand comfortably, as cad is an extremely complex beast. ( i found this out the hard way, as i did originally think, what can be so hard about this, ooops, and wasn't i wrong.)
cheers
jason
|