分图层加载CAD数据

#region 分图层加载CAD数据
private void btnAddCADByLayer_Click(object sender, EventArgs e)
{
    IWorkspaceFactory pWorkspaceFactory;
    IFeatureWorkspace pFeatureWorkspace;
    IFeatureLayer pFeatureLayer;
    IFeatureClass pFeatureClass;

    OpenFileDialog pOpenFileDialog = new OpenFileDialog();
    pOpenFileDialog.Filter = "CAD(*.dwg)|*.dwg";
    pOpenFileDialog.Title = "打开CAD数据文件";
    pOpenFileDialog.ShowDialog();

    string pFullPath = pOpenFileDialog.FileName;
    if (pFullPath == "")
    {
        return;
    }
    //获取文件名和文件路径
    int pIndex = pFullPath.LastIndexOf("\\");
    string pFilePath = pFullPath.Substring(0, pIndex);
    string pFileName = pFullPath.Substring(pIndex + 1);

    pWorkspaceFactory = new CadWorkspaceFactory();
    pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(pFilePath, 0);
    //加载CAD文件中的线文件
    pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pFileName + ":polyline"); 
    pFeatureLayer = new FeatureLayerClass();
    pFeatureLayer.Name = pFileName;
    pFeatureLayer.FeatureClass = pFeatureClass;

    ClearAllData();    //新增删除数据

    mainMapControl.Map.AddLayer(pFeatureLayer);
    mainMapControl.ActiveView.Refresh();
    //同步鹰眼
    SynchronizeEagleEye();
}
#endregion

版权声明:本文为renkaigis原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。