C#、AE开发入门之打开CAD文件并显示

加载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();
        }

 

posted on 2018-05-07 23:30  么么打123  阅读(2350)  评论(0编辑  收藏  举报