![]() |
【转帖】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 |
所有的时间均为北京时间。 现在的时间是 04:34 PM. |