跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C#

要素类 (IFeatureClass) 导出为 CAD (.DWG) 文件的方法

基于 ArcGIS Engine SDK 使用 C# 将要素类导出为 CAD DWG 格式的代码示例。包含批量导出和单图层导出的两种实现方式,重点说明 Geoprocessor 工具的使用及输出覆盖逻辑。方法一通过拼接数据集路径批量处理,方法二循环执行但需注意每次执行会覆盖前次结果。代码展示 ExportCAD 工具的参数配置及执行流程。

漫步发布于 2025/2/13更新于 2026/10/2596 浏览
要素类 (IFeatureClass) 导出为 CAD (.DWG) 文件的方法

要素类导出 CAD 方法

方法一:批量导出

使用 ExportCAD 工具,通过拼接数据集路径一次性处理多个要素类。

private void ExportToCAD()
{
    Geoprocessor GP = new Geoprocessor();
    GP.OverwriteOutput = true; // 设置重写,即将原有数据覆盖
    string dataset = string.Empty;
    
    foreach (IFeatureClass featClass in this.FeatureClassList) // FeatureClassList 需要导出的要素类集合
    {
        // this.inputFilePath 数据源路径,例:"C:\\Users\\zxj\\Desktop\\datacenter\\龙华区.mdb\\LXDW_..."
        dataset += this.inputFilePath + "\\\\" + featClass.AliasName + ";";
    }
    
    dataset = dataset.Substring(0, dataset.Length - 1);
    
    // 构造函数:ExportCAD(string dataset, string Output_Type, string OutputPath)
    ESRI.ArcGIS.ConversionTools.ExportCAD tool = new ESRI.ArcGIS.ConversionTools.ExportCAD(dataset, "DWG_R2010", this.tbOutPath.Text.Trim());
    
    // GP 执行下,便可导出数据
    GP.Execute((IGPProcess)tool, null);
}

方法二:单图层导出

此方式适合 Shapefile 文件或只导出一个要素类。注意循环执行时每次会覆盖前次结果。

private void ExportToCAD()
{
    Geoprocessor GP = new Geoprocessor();
    GP.OverwriteOutput = true; // 设置重写,即将原有数据覆盖
    
    ESRI.ArcGIS.ConversionTools.ExportCAD tool = new ESRI.ArcGIS.ConversionTools.ExportCAD();
     obj = Type.Missing;
    
     (IFeatureClass featClass  .FeatureClassList) 
    {
        tool.in_features = .inputFilePath +  + featClass.AliasName;
        tool.Output_File = .tbOutPath.Text.Trim();
        tool.Output_Type = ;
        
         (GP.Exists(tool.in_features,  obj))
        {
            
            GP.Execute((IGPProcess)tool, );
        }
    }
}
object
foreach
in
this
// FeatureClassList 需要导出的要素类集合
this
"\\\\"
this
"DWG_R2010"
if
ref
// 这里 GP 循环多次执行,每执行一次便会将先前导出的数据覆盖
null

目录

  1. 要素类导出 CAD 方法
  2. 方法一:批量导出
  3. 方法二:单图层导出

更多推荐文章

查看全部
  • AIGC 情感化升级:智能客服投诉率优化实践
  • 使用 Reflex 框架搭建 ZeroClaw Gateway 与 LM Studio 本地 AI 管理面板
  • Python 100 個遊戲項目:完整代碼與詳細講解
  • Eclipse 安装 MyBatisPse 插件实现 Java 与 XML 互跳及配置优化
  • Spring IoC 与依赖注入 (DI) 核心解析
  • CTF Web25:php_mt_seed 伪随机数爆破实战应用
  • 基于 Go 与 LLM 的智能 AIOps 监控系统实战
  • GitHub 国内镜像站汇总与 Git Clone 加速配置指南
  • 现代 C++ 数学表达式解释器实现
  • 滑动窗口算法实战:串联所有单词与最小覆盖子串
  • MySQL 用户查询方法详解
  • 二分查找实战:山峰数组峰顶索引与寻找峰值
  • Agent 操控手机与电脑屏幕的技术解析与应用指南
  • Vivado 中 Block Memory IP 核配置与读写控制
  • 现代 CMOS 工艺设计套件(PDK)架构、演进与实战核心
  • Linux Shell 脚本中的 for 循环语句详解
  • 传统 RAG 与 Agentic RAG 对比分析
  • 解决安装 WSL 及 Ubuntu 时出现的安全频道支持错误
  • Java Map 常用方法与核心实现类详解
  • 25 个降低 AI 检测率的提示词技巧与用法

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online