批量DWG文件转换低版本(CAD图转低版本)——c#插件实现

ops/2024/12/15 11:46:17/

        此插件可实现指定路径下所有dwg文件(包含子文件夹内dwg)一键全部转为低版本(包含2004、2007、2018版本,也可定制指定版本)。效果如下:

(使用方法:命令行输入 “netload” 加载插件,然后输入“dwg2004”或“dwg2007”或“dwg2018”运行,选择文件夹即可。)

附部分代码:

 public void Dwg2007(){DateTime beforDT = System.DateTime.Now;Database currentdb = HostApplicationServices.WorkingDatabase;FolderBrowserDialog dialog = new FolderBrowserDialog();dialog.Description = "请选择dwg文件所在文件夹:";  // 设置对话框的标题DialogResult dlgResult = dialog.ShowDialog();if (dlgResult == DialogResult.OK){int counter = 0;string pathName = dialog.SelectedPath;// 新文件夹的名称 和 新文件夹路径的名称string newFolderName = "DWG_2007_" + DateTime.Now.ToString("yyyyMMdd_HHmm");string newFolderPath = Path.Combine(pathName, newFolderName);// 检查新文件夹是否已存在if (!Directory.Exists(newFolderPath)){ // 如果不存在,则创建它Directory.CreateDirectory(newFolderPath);}string[] fileNames = Directory.GetFiles(pathName, "*.dwg", SearchOption.AllDirectories);//此行代码为只合并dwgforeach (string fileName in fileNames){string fullfilename = Path.Combine(newFolderPath, Path.GetFileName(fileName));//getfilename不是全路径,getfile是全路径try{using (Transaction tr = currentdb.TransactionManager.StartTransaction()){//当前数据库开启事务////省略部分代码counter = counter + 1;tr.Commit();}Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage($"\n正在转换第{counter}个......{fullfilename}\n");}catch (System.Exception){Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage($"\n出现错误......\n");}//Application.DocumentManager.MdiActiveDocument.Editor.Regen();//刷新屏幕System.Windows.Forms.Application.DoEvents();//Application.DocumentManager.MdiActiveDocument.SendStringToExecute("._zoom _e ", true, false, false);}DateTime afterDT = System.DateTime.Now;string totaltime = afterDT.Subtract(beforDT).TotalSeconds.ToString("F3", CultureInfo.InvariantCulture);}}

插件链接:百度网盘 请输入提取码



提取码:联系作者

或直接联系作者↓↓↓


http://www.ppmy.cn/ops/142092.html

相关文章

latex设置引用顺序

在 LaTeX 中,引用的顺序通常是由所选择的 参考文献样式(bibliographystyle) 决定的。如果你希望根据引用的顺序排列参考文献,可以选择合适的参考文献样式,并按照以下步骤进行设置。 常见的几种引用顺序设置方式有&…

小程序开发常见问题

一、开发方案选择 1.小程序原生开发:需要live-player组件资质,对开发者的资质要求较高,开发难度较大; 2.小程序内嵌H5:因校验文档上限,目前平台已经不支持配置校验文件; 3.半屏小程序&#xff1…

MATLAB 平面线段与线段求交点(100)

MATLAB 平面线段与线段求交点(100) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 计算平面上,两线段是否相交,若相交计算交点坐标 二、算法实现 1.代码 代码如下(示例): % 示例用法 % 定义两条线段的端点 p0 = [1, 2]; % 线段1的第一个点

Scala特殊符号使用大全2

/:用于定义除法操作符。 val x 10 val y 5 val z x / y // 结果为 2 %:用于定义模操作符。 val x 10 val y 3 val z x % y // 结果为 1 ::用于列表的头元素。 val list 1 :: 2 :: 3 :: Nil // 结果为 List(1, 2, 3) :::&…

Golang中的go.mod和go.sum

Golang中的go.mod和go.sum 在Go语言中,go.mod和go.sum是两个至关重要的文件,它们共同构成了Go Modules系统的核心,用于管理和跟踪项目的依赖关系。 go.mod 作用: 定义模块名称:go.mod文件的第一行通常是module关键字…

电商项目-微服务网关鉴权JWT

一 、什么是微服务鉴权 当有了网关,用户所有的请求都会经过网关,然后由网关将用户请求,转发到具体某个服务。网关相当于后端服务的统一入口,所以现在非常方便的可以在网关系统中进行相关服务的权限校验。 鉴权就是鉴定有没有访问的权限。如果…

购物车案例--分模块存储数据,发送请求数据渲染,底部总计数量和价格

shift鼠标右键,打开powershell,新建项目 自定义 只有一个页面,不涉及路由,勾选vuex,css,babel 无需保存预设 回车项目开始创建 项目用vscode打开 将src里的内容全部清空 将第七天的课程准备代码复制粘贴到src中 刷新页面&…

国内首本大模型中文版书籍!复旦大学《大规模语言模型·从理论到实践》全面的一本大模型图书!

看张奇教授的主页,感觉这教授、博导太牛了。 在大语言模型实践和理论研究的过程中,他与桂韬研究员、郑锐博士生以及黄萱菁教授,历时 8 个月共同完成了这本书《大规模语言模型从理论到实践》! 有需要这本《大规模语言模型从理论到实…