成功在C#和VB中将shp转换为CAD
1、首先,添加一个LicenseControl,如图所示, 。在上面点击右键选择属性,在弹出的属性窗体上选择如下:选中ArcInfo即可,其余都不选。右侧的Extention可选。
2、然后再在菜单栏上选择“项目”——“Add ArcGIS Reference…”,在弹出的窗体上添加引用ConversionTools,Geoprocessing,Geoprocessor,如下图所示:
3、在窗体上添加一个按钮,在窗体的代码窗口上输入下列代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.ConversionTools;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geoprocessor;
using ESRI.ArcGIS.Geoprocessing;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Output;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Geoprocessor GP = new Geoprocessor();
ExportCAD GPexport = new ExportCAD();
GPexport.Output_File = @"F:\XZY\Test\D111.dxf";
//输出的文件名
GPexport.Output_Type = "DXF_R2000";
//输出的文件类型
GPexport.in_features = @"F:\XZY\Test\q.shp";
//源文件
GP.Execute(GPexport, null);
MessageBox.Show("转换完成!");
}
}
}
本机安装有VS2005,ArcInfo 9.2,ArcEngine 9.2 for .Net,在本机上测试运行成功!
VB.Net中:
第一步和第二步同C#相同,只是代码不同,如下:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim gp As ESRI.ArcGIS.Geoprocessor.Geoprocessor = New ESRI.ArcGIS.Geoprocessor.Geoprocessor()
Dim pExptoCAD As ExportCAD = New ExportCAD()
pExptoCAD.in_features = "F:\XZY\Test\q.shp"
pExptoCAD.Output_File = "F:\XZY\Test\VB1.dwg"
pExptoCAD.Output_Type = "DWG_R2004"
gp.Execute(pExptoCAD, Nothing)
MsgBox("OK!")
End Sub
End Class
值得注意的是:Geoprocessor这个类在ESRI.ArcGIS.Geoprocessor和ESRI.ArcGIS.Geoprocessing中都有,如果不指定的话,在VB.Net中默认为ESRI.ArcGIS.Geoprocessing,将无法实现。在C# 中也是同样的问题,但是在C# 中可以在执行方法的时候人为的指定它的重载函数。
来自:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=32692&extra=pageD1&page=1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理