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

批量DWG文件转dxf(CAD图转dxf)——c#插件实现

此插件可将指定文件夹及子文件夹下的dwg文件批量转为dxf文件。

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

 生成dxf在此新建的文件夹路径下,包含子文件夹内的dwg转换生成的dxf,由上图可知,14个dwg转完共计14.78秒,约一秒转一个。

部分代码如下:

 public void DwgToDxf(){// 弹出对话框选文件夹 遍历文件 创建数据库,读取文件,数据库另存DateTime beforDT = System.DateTime.Now;Document doc = Application.DocumentManager.MdiActiveDocument;FolderBrowserDialog dialog = new FolderBrowserDialog();dialog.Description = "请选择dwg文件所在文件夹:";  // 设置对话框的标题DialogResult dlgResult = dialog.ShowDialog();if (dlgResult == DialogResult.OK){int counter = 0;string dialogPathName = dialog.SelectedPath;// 新文件夹的名称 和 新文件夹路径的名称string newFolderName = "DXF_" + DateTime.Now.ToString("yyyyMMdd_HHmm");string newFolderPath = Path.Combine(dialogPathName, newFolderName);// 检查新文件夹是否已存在if (!Directory.Exists(newFolderPath)){ // 如果不存在,则创建它Directory.CreateDirectory(newFolderPath);}string[] fileNames = Directory.GetFiles(dialogPathName, "*.dwg", SearchOption.AllDirectories);//此行代码为只合并dwgforeach (string fileName in fileNames){string fullfilename = Path.Combine(newFolderPath, Path.GetFileNameWithoutExtension(fileName) + ".dxf");//getfilename不是全路径,getfile是全路径try{using (Database tempdb = new Database(false, true)) //创建临时数据库(两个参数:是否创建符号表,不与当前文档关联){//////省略部分代码}counter = counter + 1;Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage($"\n正在转换第{counter}个......{fullfilename}\n");}catch (System.Exception){Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage($"\n第{counter}个......{fullfilename}出现错误......\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.lryc.cn/news/507093.html

相关文章:

  • flask flask-socketio创建一个网页聊天应用
  • 使用CNN模型训练图片识别(键盘,椅子,眼镜,水杯,鼠标)
  • Gitlab 数据备份全攻略:命令、方法与注意事项
  • Vue|scoped样式
  • eBPF试一下(TODO)
  • 【数据安全】如何保证其安全
  • [创业之路-196]:华为成功经验的总结与教训简单总结
  • 使用 NVIDIA DALI 计算视频的光流
  • 【UE5】pmx导入UE5,套动作。(防止“气球人”现象。
  • vue预览和下载 pdf、ppt、word、excel文档,文件类型为链接或者base64格式或者文件流,
  • 前端如何实现大文件上传
  • 如何评估并持续优化AI呼入机器人的使用效果
  • 找不同,找原因
  • OpenCV 学习记录:首篇
  • Java项目常见基础问题汇总
  • git 删除鉴权缓存及账号信息
  • Windows中运行Linux(WSL)
  • 一键尺寸测量仪:磁芯尺寸测量的优选方案
  • [创业之路-197]:华为的发展路径启示
  • 【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)
  • 路径规划之启发式算法之二十:麻雀搜索算法(Sparrow Search Algorithm,SSA)
  • 音频开发中常见的知识体系
  • 【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)
  • 三维重建(六)——3D Representation Methods: A Survey(北大总结三维表征--2024.10出版)
  • html基础-认识html
  • UE5 跟踪能力的简单小怪
  • Ubantu22系统安装Miniconda3
  • 130、java中在使用new ArrayList<>(),在参数中传入一个集合的作用
  • Mybatis-plus-Join--分页查询
  • 对BG兼并点的理解-不断刷新版