加载CAD文件稍显复杂一些,总体还是和前面基本类似
private void button3_Click(object sender, EventArgs e)
{
axMapControl1.ClearLayers();
IWorkspaceFactory pWF = new ESRI.ArcGIS.DataSourcesFile.CadWorkspaceFactory();//利用工厂对象去生成一个CAD文件的工作空间
IWorkspace pW = pWF.OpenFromFile(cadPath,); //打开对应的文件夹路径
IFeatureWorkspace pFW = (IFeatureWorkspace)pW; IFeatureClass pFW_text = pFW.OpenFeatureClass("裙子.dwg:Polygon");//利用要素类去接收对应的cad文件中的面属性
IFeatureLayer pFeatureLayer2 = new FeatureLayerClass();//生成一个要素图层对象
pFeatureLayer2.FeatureClass = pFW_text;//将接收要素类的cad文件赋值给要素图层的要素类属性
axMapControl1.AddLayer(pFeatureLayer2);//添加对应的polygon图层 IFeatureClass pFC = pFW.OpenFeatureClass("裙子.dwg:Polyline");//利用要素类去接收对应的cad文件中的线属性
IFeatureLayer pFeatLyr = new FeatureLayerClass();//生成一个要素图层对象(接收线)
pFeatLyr.FeatureClass = pFC;//将线属性赋值给对应的要素图层
ISimpleLineSymbol pLineSymbol = new SimpleLineSymbolClass();//创建一个线特征对象
IRgbColor pColor = new RgbColorClass();//生成一个颜色控制的接口
pColor.Red = ;
pColor.Blue = ;
pColor.Green = ; pLineSymbol.Color = (IColor)pColor;//将线对象的颜色设置为对应的颜色
pLineSymbol.Style = esriSimpleLineStyle.esriSLSSolid;//设置线的样式 ISimpleRenderer pRender = new SimpleRendererClass();
pRender.Symbol = pLineSymbol as ISymbol; IGeoFeatureLayer pGeoLyr = pFeatLyr as IGeoFeatureLayer;
pGeoLyr.Renderer = pRender as IFeatureRenderer; axMapControl1.AddLayer(pFeatLyr);
axMapControl1.ActiveView.Refresh();
}