高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】dd1.10upd1 fails, odt doesnt fail
dd1.10upd1 fails, odt doesn't fail
dd1.10upd1 fails, odt doesn't fail
hi,
first, this thread as an attached dxf (zipped).
i found that the old library, odt, handles it very well. i'm able to read it and to render it via odv.
dd can read it but enumerates an infinity of inserts, that is, when i find an insert i explode it (the referenced block) enumerating its entities using an iterator. such enumeration returns also one more insert (insert inside a block), so i explode it also... and so on into an infinite loop.
it's an autocad 14 generated file (dxf) that also autocad 2002 fails to load (o better, it loads the file but fails drawing it). in autocad, i get an infinite sequence of the error "undefined block #6". trying to audit the file gives the same problem.
thank you in advance,
mark
attached files (211.2 kb, 3 views)
marco cocco
# 24th march 2004, 02:14 am
moderator join date: mar 2002
posts: 2,994
the file is invalid. it can't be loaded or recovered not only by ac2002 but by ac 14 and ac2004.
dd can load and render it.
the file defects:
1. block sym02 is defined 3 times (duplicate definitions)
2. more than 30 block reference entities have scale with zero z component.
3. polyface mesh objects have incorrect face/vertex counts.
4. definition of sym02 block contains block references to itself - self reference.
the last item is the reason why autocad and your program fall into infinite loop.
while rendering dd checks for recurcive block references so it does not fall into infinite loop. but dd recover does not fix it.
sergey slezkin
sslezkin
# 24th march 2004, 05:00 am
registered user join date: mar 2000
location: italy
posts: 12
fixed!
thank you very much.
i just added "anti-block-recursion" checking into my code and it now works fine.
regards,
mark
marco cocco
none
? | ?
thread tools
display modes
linear mode
search this thread
rate this thread
excellent
good
average
bad
terrible
posting rules
you may post new threads
you may post replies
you may post attachments
you may edit your posts
is on
are on
code is off
html code is off
forum jump
user control panel private messages subscriptions who's online search forums forums home general topics news questions and remarks business issues industry commentary general software issues documentation issues future directions dwg libraries dwgdirect.net dwgdirect, c++ version dwgdirectx, activex version adtdirect/c3ddirect opendwg toolkit/viewkit dgn libraries dgndirect, c++ version (2.x+) dgndirect libraries (legacy 0.99xx)
all times are gmt -7. the time now is 01:27 amfff">.
- - -
copyright ?2000 - 2009, jelsoft enterprises ltd.
copyright 1998-2008 open design alliance inc.
the file is invalid. it can't be loaded or recovered not only by ac2002 but by ac 14 and ac2004.
dd can load and render it.
the file defects:
1. block sym02 is defined 3 times (duplicate definitions)
2. more than 30 block reference entities have scale with zero z component.
3. polyface mesh objects have incorrect face/vertex counts.
4. definition of sym02 block contains block references to itself - self reference.
the last item is the reason why autocad and your program fall into infinite loop.
while rendering dd checks for recurcive block references so it does not fall into infinite loop. but dd recover does not fix it.
sergey slezkin
fixed!
thank you very much.
i just added "anti-block-recursion" checking into my code and it now works fine.
regards,
mark
|