乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 188|回复: 9

求解:图形数据与属性数据的连接?

[复制链接]

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2004-4-8 10:23:00 | 显示全部楼层 |阅读模式
求解:
我是做地图信息数据的一般在CAD下编辑图形后,修改了它们的数据的属性,因为我们都是存储我们的图形的点的数据的,在编辑改变我们的图形数据后,我们的数据库里不一定改变,我想开发一个这样的编辑的系统,希望是通过VBA来实现。不知道各位高手有什么看法,我最好使用什么的开发的?我可以通过什么样的方法来实现?
谢谢 个位提意见!
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-4-8 12:03:00 | 显示全部楼层
可以实现吧,数据库中的属性通过句柄与ACAD中的图形关联,当然还需要一个文件名称才能保证唯一性。而图形的修改,在VBA可以通过事件,在ARX或者VL中通过反应器来判断和操作。
回复

使用道具 举报

6

主题

60

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2004-4-8 14:00:00 | 显示全部楼层
可是如果在CAD环境下使用了,撤销(redo/undo)命令~~~数据库中的属性数据怎么能自动更新呢???
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2004-4-8 14:22:00 | 显示全部楼层
是啊?一个redo/undo应该怎样实现数据库里的数据也同样改变?
想想是可以的,可以对原来的数据备份,这样可以,这样可以做一个调用。也就是说在执行一个改变数据库,即原来改变的一个逆向的修改。但具体的操作我还没有研究不知道,有谁研究过这样的。给我参考一下。谢谢。
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-4-8 14:38:00 | 显示全部楼层
呵呵,不用备份,增加一个字段,删除的时候临时作废数据,直到真正保存或者退出时才执行删除记录的操作。
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2004-4-9 11:51:00 | 显示全部楼层
你的意思是在数据库里的字段里留一个空的字段,随时存储被改变的数据。
但是我的操作不是只是操作一个字段,按你说的用加一个字段的方法在文件或程序退出的时候才消除,那不是要很多字段给它存储。这个是很浪费的。
我是想有一个控制的语句去控制他,在改变能够调用刚才操作的数据,我是指在一定的次数。如果有什么好的 办法,给我说说。谢谢。
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-4-9 13:12:00 | 显示全部楼层
不是这意思,比如有这样一个属性表:
句柄 设备名称 设备类型 ... 状态,状态就是记录当前对象的状态,生成时可以记录在用,删除时记录作废。
句柄 设备名称 设备类型 ... 状态
3D        ...                                                                                                                                                                                                                                                                                                作废
3E ...                                                                                                                                                                                                                                                                                                 在用
当保存或者退出保存时,这时再处理属性表中的记录,将状态为作废的记录删除,这样就可以实现回退的操作了。
回复

使用道具 举报

6

主题

60

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2004-4-9 15:43:00 | 显示全部楼层
那如果并不是删除,而是与图形外观相关联的属性,比如:长度,修改后,使用了undo怎么再去处理呢要保存前把所有的属性关联都更新一便么?
又或者以设备为例,一个设备在CAD下区分正使用或报废需要标示出来,那就要文本的标注或是使用不同的块参照(Handle相同)那样怎么去回退呢?
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2004-4-9 17:50:00 | 显示全部楼层
呵呵,我个人认为图形数据与属性数据分开不是很好的方法。图形数据和属性数据应该保存在一起(属性数据保存在扩展数据或者扩展记录中),即图形数据做为设计之用,而属性数据只能做为查询之用。图形数据更改时在自己的扩展数据中保存一份属性数据,并更新一份到数据库中。
回复

使用道具 举报

2

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
13
发表于 2004-4-10 11:30:00 | 显示全部楼层
你的说在修改了图形数据后,保存一份数据,去更新数据库.这样 不是很麻烦的.一个小小的修改,却要大动.很浪费的.
我想一个提供连接的平台给空间图形数据与属性数据,让他们有互动性,我在该变我的图形数据的时候,我们的属性的数据也会相应的改变,按你的改变的数据进行改.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 16:16 , Processed in 0.426436 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表