ArcEngine怎样符号化cad annotation图层?

用FeatureLayer方法添加的CAD annotation图层(见如下代码)的默认显示方式是点,而ArcMap“添加数据”工具打开的CAD annotation显示的是文本注记,怎样实现“添加数据”工具那样的CAD文本注记显示效果?ARCMap“添加数据”工具是怎样实现添加dwg文件(CAD)的?
IFeatureLayer pFeatureLayer = new CadAnnotationLayerClass();
pFeatureLayer.Name = pFeatureClass.AliasName;
pFeatureLayer.FeatureClass = pFeatureClass;
pGroupLayer.Add(pFeatureLayer);
已邀请:

朱新颖

赞同来自:

参考下面代码:
 //打开CAD数据集
            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();
            IFeatureWorkspace pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(@"D:\E_new\ZhuXinying\testData\CAD数据", 0);
            //打开一个要素集
            IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset("地形图--a区.dwg");
            //IFeaturClassContainer可以管理IFeatureDataset中的每个要素类
            IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
            //对CAD文件中的要素进行遍历处理
            for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
            {
                IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
                if (pFeatureClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)//注意:不是esriFeatureType.esriFTAnnotation
                {

                    IFeatureLayer pFeatureLayer = new CadAnnotationLayerClass();
                    pFeatureLayer.FeatureClass = pFeatureClass;
                    pFeatureLayer.DataSourceType = "CAD Annotation Feature Class";
                    ((ILayer)pFeatureLayer).Name = "anno";
                    axMapControl1.AddLayer(pFeatureLayer as ILayer);

                    axMapControl1.Refresh();
                }
            }

Ajax

赞同来自:

请教一下,mdb里的esriFeatureType.esriFTAnnotation类型要素图层,怎么加载?c# ae开发.

要回复问题请先登录注册