查看单个帖子
旧 2009-05-04, 03:37 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】acis data garbled

acis data garbled
acis data garbled
hi,
we use odcopyex in dwgdirect to translate autocad 2004 files into 2000 so we can continue using the opendwg toolkit until we have time to upgrade.
the bug we are seeing is after using odcopyex in dwgdirect 1.10 to save the 2004 file to 2000 (files attached), the acis data is garbled when read by opendwg toolkit 2.012.
please help.
chung
acis data in ac2004 dwg files is stored in sab (binary) format. in dxf and in minor dwg version - in sat (text) format. and acis versions are different.
to perform the conversion additional module is required. it was made optional to allow minimizing application size or replacing it with another implementation.
to enable dd acis support call odrxinitmodelergeometry() after odinitialize() and odrxuninitmodelergeometry before oduninitialize(). see odamfcapp sample.
but file attached contains unknown to dd entity acamcompentclone which is loaded as proxy entity. dd is unable to convert data of proxy entity.
sergey slezkin
hi sergey,
thank you for the quick reply. we are already calling odrxinitmodelergeometry and i don't think it is a problem of unsupported proxy entity. the proxy entity in question is adpart which is supported and odreadex is able to extract the acis data from both the 2004 and 2000 files. is it possible that when odcopyex translated the 2004 file to 2000, it left the acis data in a 2004 format? maybe still with 2004 encryption? i think that could explain why odreadex works and opendwg doesn't.
again, thanks for looking into this.
chung
attached file contains acamcompentclone entity which is is treated by dd as proxy entity. when proxy entity is saved to file it's binary data is marked by version when the entity became proxy - objectdrawingformat in odt.
in your case when acamcompentclone is saved by dd to r15 its binary data is unchanged and marked as r18 format data.
autocad's behavior is the same if application supporting the entity (arx) is not loaded because it's impossible to convert data of unknown format.
probably the odt function extracting acis from mechanical entities does not check data version and extracts sab not sat data.
sergey slezkin
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)