几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】proxy entity question (http://www.dimcax.com/hust/showthread.php?t=18251)

yang686526 2009-05-07 12:04 AM

【转帖】proxy entity question
 
proxy entity question
proxy entity question
in my program, i am trying to read a file that was created using autocad land desktop 2008. this file contains many proxy entities that have the following identifiers: aeccdbpointgroup, aeccdbcogopoint, aeccdbface, and a few others. i think these are the original class names (they are listed as groupcode 1 in odamfcapp).
odamfcapp is able to draw these objects. is that typical? i thought that a proxy object was a custom object that could not be handled directly by dwgdirect. i have autocad civil 2009 on my computer. is that why odamfcapp can draw the proxies, or is there some other reason? is it likely that i will get useful data back from a call to oddbproxyentity::explode() on these entities?
i am using dwgdirect 2.6.3.
thanks,
bob
last edited by bobc@bluemarblegeo.com; 3rd march 2009 at 02:00 pmfff">. reason: fix name of program that created the file
proxy entity means "unknown entity". this is an entity which is implemented by some plug-in which is currently unavailable.
proxy entity may store it's graphic representation as a metafile (lines, arcs, texts etc.), as a bounding box or it may store nothing.
this depends on the entity developer (who can save or not graphic metafile) and user (who may choose "do not save proxy graphics" option while saving dwg).
if proxy entity stores its graphic representation in file than it can be rendered by odamfcapp (or by autocad) without the application (plug-in) which implements it.
and it can be exploded in this case to standard entities.
but in any case even if graphic metafile is stored in the file it can represent only world (viewport independent) geometry. viewport-dependent geometry can't be saved as proxy entity graphics metafile.
sergey slezkin
quote:
originally posted by sslezkin
if proxy entity stores its graphic representation in file than it can be rendered by odamfcapp (or by autocad) without the application (plug-in) which implements it.
and it can be exploded in this case to standard entities.
how do i determine whether or not the entity is stored in such a way that it can be rendered by odamfcapp? i modified my program to explode the proxy entities, but the explode method returned an empty array of entities. do i need to do something differently?
correction: some of the proxy entites can be exploded successfully, but i'm still interested in whether or not there is a way to determine from the entity properties if the proxy entity can be exploded.
code:
// pentity is the proxy entity
odrxobjectptrarray aentities;
pentity->explode(aentities);
for (size_t i = 0; i < aentities.size(); i++)
{
// handle exploded entity...
}bob
last edited by bobc@bluemarblegeo.com; 9th march 2009 at 08:00 amfff">. reason: add correction
the result of explode (or a dump of geometry like in odreadex sample) is the most reliable method.
database has proxygraphics variable which tells is user wants to save proxy graphics or bounding boxes. but actually:
1. entity developer may ignore this variable and always save bounding box or even nothing.
2. proxy may be loaded from other file and proxygraphics may be altered.
sergey slezkin
thank you.


所有的时间均为北京时间。 现在的时间是 08:53 AM.