![]() |
【转帖】how to obtain model information 9high level entity0
how to obtain model information (high level entity)
how to obtain model information (high level entity) hello, i am working on an application that basically reads a dwg file and displays it. i have implemented all my custom drawing (gdi + opengl) functions by overriding the shell and mesh functions from the geometry classes. i have been working on some of kind of tree structure which will allow me show/hide objects. currently, i am being able to build such tree, but composed by low level entities (like faces) identified by numbers. however when i load a complex structure this just doesnt help at all. so, my question is: is there any way to access high level entity attributes/information (model name, assembly name, part name, color, tolerance) for the current low level entity (face, edge, etc.) being drawn during a call to mesh, shell, polylinedc, etc. thanks, luis figured out the problem thank you all for reading my post, but i have already figured it out. for anybody out there that wants to know how to arrange entities, into some kind of high level hierarchy, the way to go is to group them by layer. this may probably seem obvious, but believe me, it is not if you are new to opendwg. after calling update, and when the framework calls any function to draw (like mesh, or shell, or polylinedc, etc.), you can use the following piece of code to obtain the names of layer and entity: // get the layer of the entity being drawn oddbentity * pent = (oddbentity *)m_pdrawable; strcpy(szlayername, pent->layer()); sprintf(szobjectname, "layer [%ld]: %s", nlayerno, szlayername); // get the type of entity being drawn sprintf(szobjectname, "%s-%ld", pent->isa()->name(), m_nobjectno); i hope this helps somebody! regards, luis |
所有的时间均为北京时间。 现在的时间是 03:07 AM. |