#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
分图层加载CAD数据
最新推荐文章于 2024-05-10 15:38:05 发布