加載CAD文件稍顯復雜一些,總體還是和前面基本類似
private void button3_Click(object sender, EventArgs e) { axMapControl1.ClearLayers(); IWorkspaceFactory pWF = new ESRI.ArcGIS.DataSourcesFile.CadWorkspaceFactory();//利用工廠對象去生成一個CAD文件的工作空間 IWorkspace pW = pWF.OpenFromFile(cadPath,0); //打開對應的文件夾路徑 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 = 0; pColor.Blue = 255; pColor.Green = 0; 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(); }