几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】problem exploding proxies (http://www.dimcax.com/hust/showthread.php?t=18020)

yang686526 2009-05-06 10:42 PM

【转帖】problem exploding proxies
 
problem exploding proxies
problem exploding proxies
hi,
i use od?db?proxy?entity::explode to explode some proxy entities.
i got today an example that causes problems in my code.
the resulting entities return linetypeid()==nullid or linetype()==""
is this
a) the way of dd to tell me "use od?db?proxy?entity::linetype###
or
b) a bug in dd
or
c) does it mean something else
?
i use dd 1.12.04
dirk
to answer definitely i need to examine a sample file with entity causing the problem.
maybe the following takes place:
linetypes in proxy graphic data are specified by index in linetype table. if the index is invalid (table contains few records) the linetype is not set to the result of explode.
in such case dd probably should set linetype to some default.
sergey slezkin
example
here is the example
sorry i can not simplify the example, as i dont have a program that can handle ac2004 files.
you will have to exploda all proxies until you get an entity without linetype.
(some seem to be ok)
thanks dirk
attached files (761.0 kb, 19 views)

last edited by dirk demand; 16th february 2005 at 07:26 amfff">.
hi dirk,
why did you explode adt-objects ?
to destroy proxies is a heavy work, because only the application know something a the datastructure (spec. xrecord and xdata). if you explode or try to convert proxyelements to autocad-basicelements, you get many rubbish.
in you drawing are an old linetype "ausgezogen". this linetype was changed throught "continuous".
i think the linetype "wärmedämmung" get some problems. i import your drawing via "insert" in a new drawing (with autocad2005). before i can't drawing a prober line with "wärmedämmung".
i hope, that hints help.
________
ralph
quote:
originally posted by dirk demand
here is the example
sorry i can not simplify the example, as i dont have a program that can handle ac2004 files.
you will have to exploda all proxies until you get an entity without linetype.
(some seem to be ok)
thanks dirk
do you know handle of the proxy entity causing the problem? or some othe hint to find it?
sergey slezkin
quote:
originally posted by sergey slezkin
do you know handle of the proxy entity causing the problem? or some othe hint to find it?
it's the proxie with handle "867" member of block "glas"
i see that proxy entity (867) is exploded into a number of oddbpolyfacemesh objects. they have linetype continuous.
but their vertices (oddbpolyfacemeshvertex) have null linetype ids.
this is dd bug. i have not noticed it earlier because dwgoutfileds substitutes bylayer linetype for null ids.
so linetype bylayer is saved to file (and displayed in odamfcapp because odamfcapp calls dwgoutfields while filling screen data).
sergey slezkin


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