当前位置: 首页 > news >正文

批量导出CAD属性块信息生成到excel——CAD C#二次开发(插件实现)

本插件可实现批量导出文件夹内大量dwg文件的指定块名的属性信息到excel,效果如下:

插件界面:

 dll插件如下:

使用方法:

1、获取此dll插件。 

2、cad命令行输入netload ,加载此dll(要求AutoCAD,2018-2024版本).

3、cad命令行输入K2E,根据弹出界面内容提示,输入块名和并选择dwg文件,生成excel即可。

附部分代码:

     public static void Demo2(){Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Database db = doc.Database;Editor ed = doc.Editor;string defaultValue = "新块";string promptMsg = $"\n请输入要提取属性的块参照名称 [{defaultValue}]";// 创建提示选项PromptStringOptions pso = new PromptStringOptions(promptMsg);pso.AllowSpaces = true;  // 允许输入包含空格PromptResult pr = ed.GetString(pso);if (pr.Status != PromptStatus.OK) return;// 获取用户输入并处理默认值string userInput = pr.StringResult.Trim();string targetBlockName = string.IsNullOrEmpty(userInput)? defaultValue: userInput;// 步骤2:获取目标块定义的属性标签List<string> targetAttrTags = GetBlockAttributeTags(db, targetBlockName);if (targetAttrTags.Count == 0){ed.WriteMessage("\n目标块定义中没有属性或块不存在!");return;}//步骤3:创建Excel并写入数据Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();Workbook workbook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);Worksheet worksheet = (Worksheet)workbook.Worksheets[1];excelApp.Visible = true; // 设置Excel可见// 写入表头(序号+属性标签)List<string> headers = new List<string> { "序号" };headers.AddRange(targetAttrTags);for (int col = 1; col <= headers.Count; col++){worksheet.Cells[1, col] = headers[col - 1];}// 步骤4:遍历图形中的块参照并提取属性值
******
}

插件获取方式:↓↓↓

http://www.xdnf.cn/news/755785.html

相关文章:

  • Leetcode 3568. Minimum Moves to Clean the Classroom
  • DAY 35 超大力王爱学Python
  • 用Python实现一个简单的远程桌面服务端和客户端
  • xPSR
  • 通俗易懂的 JS DOM 操作指南:从创建到挂载
  • Python进阶与常用库:探索高效编程的奥秘
  • Redis-6.2.9 Sentinel 哨兵配置
  • WSL2 安装与Docker安装
  • 基于微信小程序的scratch学习系统
  • 图像数据如何表示为概率单纯形
  • Github 2025-06-01开源项目月报 Top20
  • 构建系统maven
  • 水系电池的“再登场”
  • 使用lighttpd和开发板进行交互
  • Node.js 全栈技术栈的开发者,Web3 面试题
  • 从架构视角设计统一网络请求体系 —— 基于 uni-app 的前后端通信模型
  • 如何使用 Docker 部署grafana和loki收集vllm日志?
  • IDEA常用快捷键
  • 6.1 数学复习笔记 23
  • Freefilesync配置windows与windows,windows与linux之间同步
  • LTSPICE仿真电路:(三十二)差动放大器电流源
  • openssl 怎么生成吊销列表
  • 【论文解读】DETR | End-to-End Object Detection with Transformers
  • 分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类
  • 多线程——线程池
  • Linux下目录递归拷贝的单进程实现
  • C++读写锁以及实现方式
  • 深入理解短链服务:原理、设计与实现全解析
  • 6级翻译学习
  • 蓝桥云课ROS学习C++教程cpp-geeksforgeeks版本