本插件可實現批量導出文件夾內大量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:遍歷圖形中的塊參照并提取屬性值
******
}
插件獲取方式:↓↓↓