查看单个帖子
旧 2009-05-04, 07:06 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】dd1.13 fails for given the file 3dpolyine with only one ver

dd1.13 fails for given the file: 3dpolyine with only one ver
dd1.13 fails for given the file: 3dpolyine with only one vertex
first i try to use readfile() to read the attached file with only the filename specifed as an argument:
services->readfile(myfile);
i get the error:
exception thrown: 'crc does not match'.
if i instead set the bpartial argument of readfile() to 'true' then it read successfully but the same file cannot be written. an immediate write attempt after reading produces the error:
exception thrown: 'undo operation is not available'.
from the line:
db->writefile(myfile);
the same code seems to work with other files. when opened in autocad 2005 3d the dwg file is corrected to have its single 3dpolyline entity with only one point become a two pooint 3dpolyline. the issue does not occur with the corrected file. the correction message is:
opening a release 13 format file.
a vertex was added to a 3d pline (b0) which had only one vertex.
performing an audit(true) to correct errors fails with the same undo message.
any help explaining these issues would be appreciated. it would be great is dd1.14 could read and write the file just as autocad can.
attached files
the file contains a number of defects.
1. 3d polyline with single vertex is not a serious issue - it can be fixed by both ac and dd.
2. snapisopair has invalid value - not a serious thing too.
3. some objects have invalid crc. dd throws exception from readfile but ignores it during recoverfile.
if you use partial loading the exception is thrown than attempt is made to load the invalid object.
after autocad resaves the file this problem goes away.
this file can be opened by dd recover.
but it has more serious defects - see report of autocad's recover. and autocad's recover fails to repair and open the file.
while perfoming open ac does not perform much checking and it may result in ac crash later.
btw, checking crc while opening file is optional in autocad and is turned off by default.
so the only defect in dd concerning this file is that our recover does not detect all errors.
sergey slezkin
great, thanks for the info.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)