CC工具箱学习笔记
学习日期:2026年4月23日
学习来源:C:\Users\yl\Pictures\cc-tool-master\cc-tool-master\
工具箱版本:CC工具箱2.2.1
作者:规划GIS会
1. 项目概述
CC工具箱(CCTool)是一套面向 ArcGIS Pro 的免费二次开发扩展工具集,聚合常用 GIS 辅助功能,帮助提升数据处理、分析和制图效率。
2. 技术架构
开发语言:C# + .NET 6.0
开发框架:ArcGIS Pro SDK
配置文件:Config.daml(2394行)
项目文件:CCTool.csproj
3. 项目结构
cc-tool-master/ ├── Config.daml# UI配置(2394行) ├── CCTool.csproj# 项目文件 ├── Scripts/# 功能模块 │├── AI/# AI助手 │├── Attribute/# 字段处理 │├── CusTool1-5/# 定制工具(5个版本) │├── DataPross/# 数据处理 │├── FeaturePross/# 要素处理 │├── GHApp/# 规划应用 │├── GTApp/# 国土应用 │├── LayerPross/# 图层处理 │├── LayerExport/# 数据导出 │├── MiniTool/# 小工具 │├── MixApp/# 综合应用 │├── ProMapTool/# 地图工具 │└── ... └── Data/# 资源文件
4. 核心功能模块
4.1 数据处理
• TXT/SHP转换:双向转换,支持批量
• CAD处理:合并CAD、按字段导出CAD
• Excel处理:分解/合并Excel、界址点导出
• GDB管理:裁剪、合并、清理空要素、坐标系修改
• 数据检查:弧线段/超短线/尖锐角/空洞/重叠检测
4.2 字段处理
• 属性映射:字段值批量替换
• 字段清洗:文本清理、补零去零
• 中文转拼音:支持多种转换方式
• 面积/随机数计算:数值处理
4.3 规划应用
• 用地用海处理:编码转换、指标汇总、现状规划对比
• 三调数据处理:DLBM/DLMC转换、三大类统计
• 控规工具:湘源整理、五线生成、停车位计算
• 勘测定界:界址点表、权属调查表
4.4 制图与标注
• 布局导出:批量导出PDF/PNG
• 多分式标注:分子/分母/分数线
• 样式库管理:唯一值符号转样式库、合并、排序
• 符号系统:复制/粘贴/清除无要素符号
4.5 地图工具
• 坐标获取:点击获取坐标
• 图层控制:隐藏/隔离图层
• 要素计数器:统计选中要素
• 动态切割:手动切割面要素
5. 关键技术要点
5.1 DAML配置
DAML(Desktop Application Markup Language)用于定义ArcGIS Pro的UI元素:
className="命名空间.类名"loadOnClick="true"
smallImage="图标16.png"largeImage="图标32.png">
<button </buttonrefID="ToolID" />
5.2 C#代码结构
// 工具按钮类
public class ShowToolName : ArcGIS.Desktop.Framework.Events.ButtonClickEvent{
protectedoverride void OnClick()
{
//工具逻辑
}
}
5.3 常用API
• 获取当前工程:ArcGISProject.Current
• 获取地图:Project.Current.GetItems()
• 获取图层:map.GetLayersAsFlattenedList()
• 要素操作:FeatureClass, Feature
• 字段操作:Field, TableDefinition
• 几何操作:GeometryEngine, Geometry
6. 学习收获
1. ArcGIS Pro 插件开发:掌握了 Pro SDK 开发流程
2. DAML 配置:理解了 UI 配置方式
3. GIS 数据处理:学习了大量实用工具的实现方法
4. WPF 界面开发:了解了 C# 桌面应用开发
5. 模块化设计:学会了如何组织大型 GIS 工具集
7. 总结
CC工具箱是一个功能完善的 ArcGIS Pro 扩展工具集,采用 C# + Pro SDK 开发,包含数据处理、字段处理、规划应用、国土应用、制图标注等多个模块,代码结构清晰,适合作为学习 ArcGIS Pro 二次开发的参考项目。