高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】invalid dwg after block is added
invalid dwg after block is added
invalid dwg after block is added
hi.
i have a problem when trying to update existing dwg file. if i add new block to dwg file and save it, acad does not open it. odamfcapp opens such file without errors, auditing finds no errors. when i do the same for dxf file - everything works. and i can open such dwg in acad if i save invalid file one more time (ex. open dwg in odamfcapp and save it one more time).
i am sure i am not leaving objects opened for editing and my new blocks are not empty.
i am using dwg direct 1.12.01.00, i did tests on debug version of library.
thanks,
dainius bekeris
dianius,
in order to help you, we need step-by-step instructions as how to reproduce your problem, including any dwg/dxf files you are using.
hi.
'sample files.zip' contains files i used for tests. 'test.dwg' - file that i am updating, 'updated test.dwg' - file updated with test application (details below), 'saved updated test.dwg' - file opened and saved with different name using odamfcapp.
'dwgupdate.zip' contains ms visual studio .net 2003 project with command line application updating test.dwg file. it shall be located right under main dwg direct folder - then all paths to includes and libraries will be correct.
regards,
dainius bekeris
attached files (24.8 kb, 10 views)
(15.0 kb, 6 views)
forgot to add that i was using acad 2000 to open dwg files, i don't know if newer versions of acad opend updated dwg file.
problem is caused by partial database loading:
code:
db = svcs.readfile("test.dwg",
true/*allow code page conversion - not used*/, truefff"> /*full load*/,
oda::ksharedenywrite, odpassword());
ddt incorrectly modifies partially opened database. it will be fixed only in 1.13 version.
as workaround you can use bpartial = false to force full loading.
regards,
sergey vishnevetsky
thanks, it works now.
best regards,
dainius bekeris
|