nxy_918 发表于 2004-2-11 19:56:00

莫名,各位大虾

如何修改某实体中已存在的object data数据,我知道对于无object data 存在可用下列代码,完成添加object data数据


Set ODRecord = ODtb.CreateRecord<BR>ODRecord.Item(0).Value = "dfdsfdsf"<BR>ODRecord.AttachTo (en.ObjectID)<BR>但如何修改object data 一存在的呢?

莫名 发表于 2004-2-11 20:35:00

根据帮助文件,应该还是用下列语句实现修改object data数据:


Set ODRecord = ODtb.CreateRecord<BR>ODRecord.Item(0).Value = "dfdsfdsf"<BR>ODRecord.AttachTo (en.ObjectID)


<BR>我现在用的机子还没装ACADMAP,所以请你试一下。

nxy_918 发表于 2004-2-11 20:45:00

这样显然是不对的,这只能在该实体上增加一条记录,我试过n次了

莫名 发表于 2004-2-11 21:26:00

哦!对了MAP没提供修改和删除object data的功能,用sendcommand方法会出现对话框。


要存贮属性数据最好用外部数据库。

nxy_918 发表于 2004-2-11 21:34:00

本帖最后由 作者 于 2004-2-12 8:30:38 编辑

不可能吧,老大,删除是肯定有的(remove方法),修改难道就只能一次性添加,就不能用程序改了,显然不大可能吧,连他的autocad map软件里都有edit object data的菜单

莫名 发表于 2004-2-12 19:06:00

删除是肯定有吗?试过吗?


不是菜单有的VBA就有!

efan2000 发表于 2004-2-12 19:30:00

Set ODRecord = ODtb.CreateRecord<BR>ODRecord.Item(0).Value = "dfdsfdsf"<BR>ODtb.GetODRecords.Update ODRecord


看帮助的,没有实际用过,可能是这样吧。

nxy_918 发表于 2004-2-12 20:08:00

efan2000 :如何判断一个实体是否存在object data?

efan2000 发表于 2004-2-12 20:15:00

<P class=Code>Set ODrcs = .ODtb.GetODRecords       


<P class=Code>'Prompt user to select an object


<P class=Code>ThisDrawing.Utility.GetEntity returnObj, basePnt, "Select an object"


<P class=Code>boolVal = ODrcs.Init(returnObj, True, False)


<P class=Code>如果boolVal为False表示没有数据。

nxy_918 发表于 2004-2-12 20:18:00

这个我早试过了,但实体无数据时,还是会返回true
页: [1] 2
查看完整版本: 莫名,各位大虾