C#CAD二次开发读取CAD表格数据
来源:互联网 发布:sql server 调存储过程 编辑:程序博客网 时间:2024/05/01 03:44
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; Database data = doc.Database; Editor ed = doc.Editor; AcadApplication AcadApp = (AcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application"); AcadDocument AcadDoc = AcadApp.ActiveDocument; System.Data.DataTable dt = new System.Data.DataTable(); using (Transaction trans = data.TransactionManager.StartTransaction()) { object returnObj, pickPoint; string pickPrompt = "请选择Excel数据对象或者CAD表格对象:"; try { AcadDoc.Utility.GetEntity(out returnObj, out pickPoint, pickPrompt); } catch (System.Exception) { ed.WriteMessage("未选择对象,命令结束!"); return; } AcadObject returnCADObj = (AcadObject)returnObj; AcRowType acRowType = new AcRowType(); if (returnCADObj.ObjectName == "AcDbTable") { AcadTable cadTable = (AcadTable)returnCADObj; if ((cadTable.Columns > 0) && (cadTable.Rows > 0)) { dt.Columns.Clear(); #region 为DataTable添加列标题 int title_row = 0; for (int j = 0; j < cadTable.Rows; j++) { acRowType = cadTable.GetRowType(j); //如果获取的行标题 if (acRowType.ToString() == "acTitleRow") { title_row = j + 1; break; } } for (int i = 0; i < cadTable.Columns; i++) { dt.Columns.Add(cadTable.GetText(title_row, i)); } #endregion #region 为DataTable添加数据 int rowIndex = 0; for (int i = 0; i < cadTable.Rows; i++) { acRowType = cadTable.GetRowType(i); //如果获取的行不是数据行(而是表头或者标题或者位置类型) if (acRowType.ToString() != "acDataRow") continue; dt.Rows.Add(); for (int j = 0; j < cadTable.Columns; j++) { dt.Rows[rowIndex][j] = cadTable.GetText(i, j); } rowIndex += 1; } #endregion } else ed.WriteMessage("选择错误,请重新选择!"); }
0 0
- C#CAD二次开发读取CAD表格数据
- CAD二次开发
- CAD二次开发(C#)第一个例子
- CAD二次开发(C#)第二个例子
- CAD二次开发(C#)之Application 对象
- CAD二次开发(C#)之Document 对象
- CAD二次开发相关
- .NET cad 二次开发入门
- CAD .net二次开发 过滤器
- VB CAD插件二次开发
- Cad二次开发(一)
- Cad二次开发(二)
- Cad二次开发(三)
- Revit二次开发——读取cad中的文字信息
- C#读取Excel数据在CAD上展图
- C#读取Excel数据在CAD上展图
- cad
- CAD
- C++标准转换运算符const_cast
- python学习笔记-批量添加OC文件前缀
- tx6-封装对象
- @property的属性
- tx6-new关键字来声明对象
- C#CAD二次开发读取CAD表格数据
- Linux 进程挂起、恢复相关命令
- jQuery笔记
- 规则引擎 clara-rules
- SpringMVC返回json数据的三种方式
- 开始搭建Appium自动化测试环境之碎碎念~
- Fiddler教程
- 像素坐标、相机坐标、世界物理坐标之间的坐标转换条件。
- tx6-prototype原型