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);
IFeatureLayer pFeatureLayer = new CadAnnotationLayerClass();
pFeatureLayer.Name = pFeatureClass.AliasName;
pFeatureLayer.FeatureClass = pFeatureClass;
pGroupLayer.Add(pFeatureLayer);
2 个回复
朱新颖
赞同来自:
//打开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
赞同来自:
要回复问题请先登录或注册
发起人
相关问题
问题状态