autocad的扩展数据及其在规划行业的应用

autocad的扩展数据及其在规划行业的应用

ID:6315889

大小:47.50 KB

页数:3页

时间:2018-01-10

autocad的扩展数据及其在规划行业的应用_第1页
autocad的扩展数据及其在规划行业的应用_第2页
autocad的扩展数据及其在规划行业的应用_第3页
资源描述:

《autocad的扩展数据及其在规划行业的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、AutoCAD的扩展数据及其在规划行业的应用AutoCAD是美国Autodesk公司出品的、目前世界上应用最广的计算机辅助制图软件.AutoCAD以其强大的图形编辑功能成为众多城市规划设计人员采用的工作平台,在同类软件中市场占有率居世界第一.AutoCAD的图形编辑功能确实非常强大,但是其属性库功能相对较弱.在AutoCAD数据库中,只是记录着表示图形元素的几何位置、形状、大小的几何坐标和表示图形元素性质(如颜色、层号等)的属性数据,很少涉及到其它非图形特征属性[1].虽然利用块实体,可以实现对非图形特征

2、属性的读写操作,但是不方便进行应用[2].因此,很多AutoCAD设计图通常用附表、标注的形式来表现图形的各种属性.这种表现属性的方式在进行规划审批的时候造成了极大的不便.规划审批人员不得不人工判断实体与属性的关联性,手工对各重要经济控制指标进行计算和统计,造成了极大的工作量,而且,以手工计算为基础的传统审批方式,在核查各重要经济控制指标的准确性和精度等方面,很难满足要求,并存在工作效率和透明度不高的问题.从上述情况看来,最佳的办法是对AutoCAD本身做文章一一有效的关联AutoCAD数据的图形数据和属

3、性数据,使其能在规划审批时自动对设计图的各种指标进行自动计算和统计.1AutoCAD的扩展数据AutoCAD实现添加对象指定位数据的机制有4种,分别是:1、扩展数据(Xdata);2、扩展记录(Xrecord);3、任何对象的扩展字典;4、可以包含数据的任何定制对象[2].几种机制各有优劣’其中Xdata存储数据量有限’只能存储小于128K的数据,但是它的数据结构简洁,应用方便,所以大部分规划行业二次开发的人员都选择使用Xdata.Xdata是一个指向一列Resbuf结构体的链表,由一个或多个1001组码

4、组成,每个1001组码包括唯一的程序申请名[3].申请名定义了自身数据的类型含义和组织结构.Xdata的组码范围从1000-071,组码以及组码数据类型、组码说明及示例如表11U所示.表1组码范围与组码值的类型组码值数据类型说明示例1000字符串最多255个字节“1999.71001中请名最多31个字节••parti,’1003图层名指定与扩展数据相关的图层名,该层一定在图形文件中存在“pipe”1005图形数据库句柄大小写不敏感“A4E7F1071长整数32位111111112扩展属性的应用与开发实例在

5、规划行业应用AutoCAD扩展属性,会涉及到下面4个问题:数据预处理,指标核查计算,指标复核及数据输出.要解决这4个问题最关键的就是数据标准,一套合适的数据标准能让这4个问题迎刃而解.所以,在应用扩展数据前,首先要建立一套完善数据标准.2.1数据标准的建立国家现有的规划技术标准和规范已难以完全满足当今城市多元化发展对建筑规划编制的要求.由此,各地市的规划局往往根据当地现状和当局审批要求设定自成体系的数据标准.一般来说,统一的规划技术标准包括图层标准和属性标准两种.图层标准一般包括图层名,要素类型,颜色,线

6、型已经是否闭合.属性标准则相对复杂一些,对于不同的图层来说,要求赋予实体不同数量、类型的扩展属性.制定好统一的规划技术标准后,如何使用扩展属性来实现标准的应用,将以经济技术指标复核为例来进行说明.2.2扩展数据的写入实体扩展数据总是同特定的应用联系在一起的,因此,要给实体定义扩展数据,必须首先定义一个应用类型名.应用类型名是存取扩展实体数据的主要依据,在使用前应先行登记.应用类型名可由用户任意定义,其最大长度为31个字符[4].本文中定义扩展数据为经济技术指标复核的ZB-居住建筑轮廓线图层中所需的实体属性

7、,其应用类型名可定义为ZB-JZJZLKX.为了避免出错,需先判断实体是否拥有名为指标复核的应用类型名,若无,则新定义一个应用类型名.下面是判断和定义应用类型名的C#代码.asRegAppTable;if(!appTbl.Has("ZB-JZJZLKX")){RegAppTableRecordappTblRcd=newRegAppTableRecord();appTblRed.Name=”ZB-JZJZLKX”;appTbl.Add(appTblRcd);trans.AddNewlyCreatedDBOb

8、ject(appTblRcd,true);}为实体定义了一个应用名以后,即可在此应用名后按标准顺序写人属性数据,读取也是按照此标准顺序进行.对于不同类型的实体,可以写入基于不同标准顺序,不同个数的属性数据.下面是添加属性数据的C#代码:ResultBufferresBuf=newResultBuffer();resBuf.Add(newTypedValue(1001,••ZB-JZJZLKX"));resBuf.Add(new

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。