如何把autocad文件保存在数据库中(100分)

  • 主题发起人 主题发起人 elfgirl
  • 开始时间 开始时间
E

elfgirl

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个文档管理系统,如何把*.dwg文件保存在数据库中,又如何从中掉出图形来呢?[?]
 
数据库采用blob字段存储dwg对象,前端用ole对象加载dwg对象.
1、先读取dwg文件到流(blobstream)
2、把流加载到blob字段对象(loadfromstream or loadfromfile),然后存储到数据库。
3、把流加载到ole显示、
4、从数据库读取流对象方法一样。先把字段读取到流。然后把流加载给ole
 
用流的形式保存
 
是呀 大家说的没错用流保存
不会用流 就保存文件的地址:)
 
还有,千万不要保存加载到ole后的流,那个流里包含了delphi。oleobject的附加信息,而且,直接将保存到数据库中的blob读出来保存到文件时cad不认识的。而直接从loadfromfile的流可以直接保存为dwg文件而且cad认识
 
大家说的没错,应当是用流。但是建议还是数据库保存地址的方法为好,因为对于比较复杂的(尤其是具有渲染等效果的3D图纸来说)往往都较大,会大大影响网络传输以及数据库系统优化,所以建议使用地址存储方式,更彻底的解决办法是用AutoCAD的AutoLisp语言结合Delphi开发一套程序来将AutoCAD图纸转化为纯文本坐标等信息再存入数据库的BLOB字段,这样就会有效提高网络传输速度以及数据库的优化。但是这样做的代价就是必须先熟悉AutoCAD的AutoLisp语言 :)
 
有没有可能将文件压缩一下再存入数据库中。用autolisp语言开发autocad,但是如果还要存储其他软件做出的三维图形,还有excel、access等文件怎么办呢?不能每个都去搞二次开发吧。有没有一种压缩功能,将各类文件压缩后保存到数据库中
 
有没有一个例子给我看看呢,实在不知道如何?
 
后退
顶部