阅读:1572回复:2
问关于AO实现CAD文件转化为5个shp文件的问题要用AO实现把CAD文件转化成为四个shp文件,就像arcmap里面的一样,有point、polyline、polygon、multipatch、annotation 首先我把读CAD文件,得到5个featureclass 首先有这么一个问题,我看了一下arcmap里面的转化结果,point层和annotation层都是点层,featuretype都是FTsimple,那如何分别得到point要素类和annotation要素类啊, 我发现annotation要素类属性数据有text和fontid字段(点要素类里有text但无fontid) 所以我就用有无fontid来判断是否为annotation,最后转化的数据是正确的,但是fontid不是每个annotation要素类都有的,是不是有别的更标准的方法判断出annotation要素类啊 Dim pPolyGonCls As IFeatureClass '面要素类 下面我创建一个shp文件对应的要素类,再把上面得到的对应的要素类的每一个要素的数据付给新建的要素,部分代码如下 pNewFeatCls = pFeatWs.CreateFeatureClass(sShpDir, pFields, Nothing, Nothing, esriFeatureType.esriFTSimple, "shape", "") 最后的确转化成功为5个shp文件,和arcmap里的转化结果比较,图形数据和属性数据都是正确的, 但是arcmap结果里的annotation直接显示的是标注,而我的annotation显示的是一个个点 不知道是哪里出了问题 还有关于新建的要素类的字段的问题,我需要把原来CAD文件对应的要素类的属性字段都付给新建的要素类,该如何操作啊 我大致是这样做的 先定义一个shape字段,然后用下面的代码把CAD文件对应要素类的字段付给新建的要素类(除第一二个字段,第一个字段是图员的唯一标识,第二个字段是shape) 但是感觉这样也太麻烦了,而且还不见得能和原来的完全一致,是否有更方便的方法啊 For i = 2 To pAnnoCls.Fields.FieldCount - 1 这些困扰我很久,期待高手的指点,在此谢谢了 |
|
1楼#
发布于:2006-09-06 09:13
这个我也在考虑,水平有限,还没什么思路。希望搞清楚了,共享一下。 ![]() |
|
2楼#
发布于:2006-08-25 16:35
给你一个 新的思路,你可以 在AutoCAD上 用 CAD 的开发包和 ArcEngine进行开发。 因为我以前是做CAD开发的 所以这个对我比较适合。;) |
|