乐筑天下

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

对象数据表和字段定义同步

[复制链接]

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2014-3-11 17:54:24 | 显示全部楼层 |阅读模式
需要帮助同步对象数据表和字段定义
我能够循环通过活动映射项目并获取对象数据表及其名称,我能够循环通过字段定义并返回字段名称。
我想知道的是如何同步对象表和每个索引的字段定义,以便我只获取当前索引的字段定义。
我的最终目标是将对象数据名称发送到combobox1,我已经完成了。接下来,我需要同步字段定义名称,以便当我在combobox1中选择一个新表名时,让我们说该对象数据表名的字段定义名称已填充在组合框或列表框中。
欢迎您提供任何链接或信息。
谢谢,
John
'example
'循环浏览活动项目中的所有对象数据表
For i=0 TomyTables.TablesCount-1
'Get Object Data Table name
Dim mytable AsObjectData.Table=myTables.Item(myTables.GetTableNames(i))
strtablename=mytable.Name
Me.ComboBox2.Items.Add(strtablename.ToString)
'循环浏览活动项目中的所有字段定义
Dim field dDefs AsObjectData.FieldDefinitions=mytable.FieldDefinitions
For j=0到fieldDefs.Count-1
'获取字段定义名称
弱化字段定义为ObjectData.FieldDefinition=fieldDefs.Item(j)
Me.ComboBox3.Items.Add(fieldDef.Name)
Next
Next

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2014-3-16 10:25:38 | 显示全部楼层
总之,
对于那些有兴趣的人,我发现我在遍历整个表及其字段定义。我所需要做的就是将其限制在一个名称表中,这样我就能够获得当前表的字段名。仍在研究用映射值和字段名索引所有已定义对象数据表的最佳方法,以便编辑它们,这就是本文的目标
Dim myTable=myTables。项(“障碍物”)
将字段定义为ObjectData。FieldDefinitions=myTable。j=0到fieldDefs的字段定义
。计数-1<br>将字段定义变为ObjectData。FieldDefinition=fieldDefs。项目(j)
Me.ComboBox2.Items.Add(fieldDef.Name)
'ed。写消息(vbCrLf+vbLf和“字段名”&fieldDef.name+“:”)
下一个
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
331
发表于 2014-3-17 09:04:12 | 显示全部楼层
一年前,我编写了一个用于对对象进行分类的应用程序,并为此使用了对象数据。关于Map 3D编程的信息并不多,只有几个简单的例子。扩展数据更易于使用,因此在标准 AutoCAD 中也可用。除非你需要数据库链和Map 3D的东西。
我甚至能够在没有FDO的情况下在Oracle数据库中读/写几何图形。但后来我工作的公司破产了。在我的新工作中,我们更关注Civil3D。
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2014-3-18 07:56:18 | 显示全部楼层
Huiz,
你说的对,关于这个主题没有太多的例子,我发现的很少,而且我发现的主要是C语言,我很难转换它以便测试它。这是第一次尝试使用地图。我正在研究它,因为我们需要为设计规范添加或附加和编辑属性信息。我们还需要添加分类对象。我创建了一个xml定义文件,很像map提供的行业标准文件,它看起来工作得很好,但是很难创建和编辑。它非常适用于附着对象数据表,但不能编辑字段值附着,除非该值默认为创建分类文件的对象数据表。如果能同时画出几何图形和附件,那就太好了。如果我不能解决这个问题,我想我得去找一个能解决的人。在过去一周左右的时间里,我能做的最好的事情就是测试dwg是否有对象数据表,如果有,我循环遍历表名并将它们添加到组合框中,接下来循环遍历命名对象表的字段定义名并将这些项添加到组合框中,接下来选择字段定义名,打印单个字段的值列表,就这样。我知道我需要找出如何更好地索引所有项目,这是我要关注的地方,因为项目将有大约25个对象数据表名称,其中每一个都有6个和25个需要值的字段定义名称。唯一最接近的AutoCAD Map过程是通过数据表编辑形状文件dbf。如果对象数据表已经分配给对象,那么这个方向可能是一个选项。约翰,谢谢你的鼓励
回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2014-3-18 09:38:47 | 显示全部楼层

我不确定我是否理解上面引用的陈述的意思。您知道对象分类和对象数据是将数据属性附着到AutoCAD实体的两种不同方法,对吗?是的,无论使用哪种方法,数据属性(对象类数据或对象数据记录)都可以在创建几何图元时附加到几何图元上(理论上,必须先创建实体,然后才能附加数据,但您的代码可以让用户觉得它们是同时创建的),并使属性数据字段具有除默认值之外的任何有效值。继续探索地图API,我相信你会找到自己的路。
由于这是一个AutoCAD MAP API主题,而且是相当老的技术(object data/object classification ), Autodesk在过去的7到10年中没有对其进行改进/增强,我怀疑没有多少程序员在定制应用程序开发方面做任何事情或对此很感兴趣。
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2014-3-19 07:49:51 | 显示全部楼层
n.yuan,
是的,我知道它们是不同的,我使用分类文件将现有的点,线和折线对象映射到分类对象并添加空白对象数据表,我使用对象数据表数据来添加和编辑我必须遵循的规范的值。通过编辑对象数据,我需要一些如何显示枚举的代码值,以便用户从规范提供的列表中选择。这与您可以在 ESRI 中创建的属性域值非常相似。这就是我在AutoCAD中尝试匹配的过程。
如果这些方法已过时,您将使用什么方向来匹配对象的分类以及添加和编辑对象数据?
除了将数据附加到对象的过程之外,此项目的目标之一是数据将用于 GIS 数据集、导出的形状文件。
谢谢
约翰
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2015-11-4 04:34:42 | 显示全部楼层
jcoon我建议尝试将所有数据放在Excel中以使其清晰,这样您就可以很好地看到所有表及其值。我和你有同样的问题,并尝试了很多次将其以不同的形式与DataGrid表一起使用。但为什么呢?如果您不打算做商业用途的程序,请使用Excel。将Excel中的数据重新归类到OD表也很容易,您可以通过这种方式拥有自己的数据库结构。我为块中的属性这样做,它工作得很好。
最好是一个简单的文本文件以提高速度,如果您从1000行中读取和写入数据,Excel有时会变慢。但是如果您想编辑值,文本文件没有您可以获得的所有免费功能
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2015-12-10 16:17:09 | 显示全部楼层
Miroslav,
谢谢。我再试试约翰·库恩
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 22:03 , Processed in 0.178903 second(s), 68 queries .

© 2020-2025 乐筑天下

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