Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
        }
Example #3
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());
        }
Example #4
0
        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");
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
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
            IName name = (IName)cadDatasetName;
            return (ICadDrawingDataset)name.Open();
        }