private void btnSelectInputFeatures_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog { Filter = "DWG文件(*.dwg)|*.dwg|DXF文件(*.dxf)|*.dxf", Multiselect = true }; if (dialog.ShowDialog() == DialogResult.OK) { for (int i = 0; i < dialog.FileNames.Length; i++) { IDatasetName unk = new CadDrawingNameClass(); IWorkspaceName name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = Path.GetDirectoryName(dialog.FileNames[i]) }; unk.Name = Path.GetFileName(dialog.FileNames[i]); unk.WorkspaceName = name2; this.listView1.Items.Add(dialog.FileNames[i]); this.iarray_0.Add(unk); } } }
private void method_1(string string_1) { IGxObject obj2 = new GxCadDataset(); IGxObject obj3 = new GxCadDrawing(); IDatasetName name2 = new CadDrawingNameClass(); IWorkspaceName name = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(string_1) }; name2.Name = System.IO.Path.GetFileName(string_1); name2.WorkspaceName = name; (obj2 as IGxDataset).DatasetName = name2; name2 = new CadDrawingNameClass(); name = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(string_1) }; name2.Name = System.IO.Path.GetFileName(string_1); name2.WorkspaceName = name; (obj3 as IGxDataset).DatasetName = name2; obj2.Attach(this, this.igxCatalog_0); obj3.Attach(this, this.igxCatalog_0); }
//通过IName获取到CadDrawingDataset private static ICadDrawingDataset GetCadDataset(string cadWorkspacePath, string cadFileName) { //Create a WorkspaceName object IWorkspaceName workspaceName = new WorkspaceNameClass(); workspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory"; workspaceName.PathName = cadWorkspacePath; //Create a CadDrawingName object IDatasetName cadDatasetName = new CadDrawingNameClass(); cadDatasetName.Name = cadFileName; cadDatasetName.WorkspaceName = workspaceName; //Open the CAD drawing ESRI.ArcGIS.esriSystem.IName name = (ESRI.ArcGIS.esriSystem.IName)cadDatasetName; return((ICadDrawingDataset)name.Open()); }
private void method_1() { IGxObject obj2 = new GxCadDrawing(); IDatasetName name2 = new CadDrawingNameClass(); IWorkspaceName name = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = Path.GetDirectoryName(this.string_0) }; name2.Name = Path.GetFileName(this.string_0); name2.WorkspaceName = name; (obj2 as IGxDataset).DatasetName = name2; obj2.Attach(this, this.igxCatalog_0); this.method_0("Annotation"); this.method_0("Point"); this.method_0("Polyline"); this.method_0("Polygon"); this.method_0("MultiPatch"); }
public static ICadDrawingDataset GetCADDataset(IWorkspaceName workspaceName, string cadFileName) { try { IDatasetName cadDatasetName = new CadDrawingNameClass { Name = cadFileName, WorkspaceName = workspaceName }; //Open the CAD drawing IName name = (IName)cadDatasetName; return((ICadDrawingDataset)name.Open()); //return cadDatasetName; } catch (Exception ex) { LOG.Error(ex); } return(null); }
private bool method_0(string string_1, string string_2, bool bool_0) { IGxObject obj2 = null; IDatasetName name; IWorkspaceName name2; switch (string_2.ToLower()) { case ".bmp": case ".png": case ".jpg": case ".tif": case ".img": case ".sid": obj2 = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".mdb": obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.AccessWorkspaceFactory", PathName = string_1 }; (obj2 as IGxDatabase).WorkspaceName = name2; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".shp": obj2 = new GxShapefileDataset(); name = new FeatureClassNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".dbf": if ( !File.Exists(Path.Combine(Path.GetDirectoryName(string_1), Path.GetFileNameWithoutExtension(string_1) + ".shp"))) { obj2 = new GxDataset(); name = new TableNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); } return(false); case ".sde": obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.SdeWorkspaceFactory", PathName = string_1 }; (obj2 as IGxDatabase).WorkspaceName = name2; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".lyr": obj2 = new GxLayer(); (obj2 as IGxFile).Path = string_1; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".dwg": case ".dxf": obj2 = new GxCadDataset(); name = new CadDrawingNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".doc": case ".xls": obj2 = new GxOfficeFile(); (obj2 as IGxFile).Path = string_1; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); } return(false); }
//通过IName获取到CadDrawingDataset private static ICadDrawingDataset GetCadDataset(string cadWorkspacePath, string cadFileName) { //Create a WorkspaceName object IWorkspaceName workspaceName = new WorkspaceNameClass(); workspaceName.WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory"; workspaceName.PathName = cadWorkspacePath; //Create a CadDrawingName object IDatasetName cadDatasetName = new CadDrawingNameClass(); cadDatasetName.Name = cadFileName; cadDatasetName.WorkspaceName = workspaceName; //Open the CAD drawing IName name = (IName)cadDatasetName; return (ICadDrawingDataset)name.Open(); }