斜体部分报错:未将对象引用设置到对象的实例

OpenFileDialog fileDlg = new OpenFileDialog();
fileDlg.Filter = "DWG File | *.dwg";
fileDlg.Multiselect = false;
if (fileDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
try
{
string fullname = fileDlg.FileName;
int index = fileDlg.FileName.LastIndexOf("\\");
string path = fullname.Substring(0,index);
string filename = fullname.Substring(index+1);
IWorkspaceFactory pWorkSpaceFactory = new ShapefileWorkspaceFactory();
IWorkspace pWorkSpace = pWorkSpaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(fileDlg.FileName), 0);
//IFeatureWorkspace pFeatureWorkspace = pWorkSpace as IFeatureWorkspace;
//IFeatureClass layPolygon = pFeatureWorkspace.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(fileDlg.FileName));//获取FeatureClass
//_rowCount = (layPolygon as ITable).RowCount(null);//获取FeatureClass数量
ICadDrawingWorkspace cadDrawingWorkspace = pWorkSpace as ICadDrawingWorkspace;
[i]ICadDrawingDataset cadDrawingDataset = cadDrawingWorkspace.OpenCadDrawingDataset(filename);[/i]
ICadLayer cadlayer = new CadLayerClass();
cadlayer.CadDrawingDataset = cadDrawingDataset;
axMapControl1.AddLayer(cadlayer, 0);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
已邀请:

朱新颖

赞同来自:

加载CAD数据应该新建CadDrawingWorkspace而不是新建ShapefileWorkspaceFactory,您修改后试试。

xiaosi9524 - GISER

赞同来自:

楼上正解

要回复问题请先登录注册