cad图中,对象的信息在数据库中如何存储?
在CAD的图中,有电线杆,变电所的信息,如何在数据库中存储这些信息呢?<BR>需要存储的信息举例如下:变电所的负责人姓名等,电线杆的类型、电线杆上的电线的电压是多少伏等这些不需要在CAD图上表示的信息。<BR>要实现的操作如下:<BR>1。显示变电所名称的列表,在一个列表中(不是在图上)双击此变电所,则将此变电所显示到屏幕的中央。(需要执行操作如下,根据变电所名称,从数据库中查询此变电所在图上的标识,再将此变电所显示到屏幕的中央)<BR>2。在屏幕上选中变电所,再点一个“查询”工具,则弹出窗口显示此变电所的相关信息。要实现上面两种操作,就需要有一个数据库中的信息与图形的对应关系,可以在数据库中存储每一个对象(变电所、电线杆)的handle,来表示一个对象。但存在的问题是:<BR>(1)图形文件DWG有多个,各个文件上的变电所或电线杆可能有所重复。<BR>即1.dwg文件中,可能会有电线杆1,2,3,.....10。有变电所a,b,c<BR>2.dwg可能会有电线杆9,10,11,12,13。有变电所c,d<BR>我们假设在1.dwg中,变电所C的handle为3E,在2.dwg中,变电所C的handle值就不一定还是3E。<BR>因此,如果我们存储handle值,同时还要存在文件名的信息,这样才可以唯一的表示的一个对象。如果存储文件名,用户就不能够方便的修改文件名称了,如果我们的存储的文件名称中包含路径的话,连移动和复制文件都会很麻烦。请指点,在这种情况下有什么解决方案,采用什么的方式来存储这样的信息比较好一些?<BR>还请指点一下思路!多谢! 本帖最后由 作者 于 2005-5-26 17:46:10 编辑
采用扩展数据或作成属性块处理比较好
把图形信息加入到块中 本帖最后由 作者 于 2005-5-27 8:38:37 编辑
我以前还没有注意到,我现在的变电所就是采用的块,我刚又试了一下,用一个块生成了a,b,c三个变电所,结果这三个变电所是做为一个整体显示handl值,三个变电所的handle值不同。组成块的各个对象的handle和objectid都是相同的。 <FONT color=#ff0000>楼上说的很有道理,通过对AUTOCAD实体的扩展字典添加RECORD解决问题,这样所有的信息都可以保留在DWG中</FONT>
页:
[1]