说明
后台提供MxFileConvert.exe程序,它可以将CAD图纸转换成前台能加载显示的格式,程序调用方法见: https://help.mxdraw.com/?pid=32中的“如何在自己系统中浏览dwg文件”章节,该程序还可以在转换过程中,使用JS编程,读写CAD文件,而读取的CAD图纸数据可以写成json文件,方便传给前台使用。

后台如何写JS程序
原理说明:MxFileConvert.exe启动Node.js,先加载我们提供的CAD模块,再加载js程序,然后提取CAD图纸数据。

开发步骤:

A.安装vs2019,node.js,TypeScript运行环境

B.打开安装目录下,Bin\MxDrawNode\MxDrawNode.sln工程

如下图:


例子中用DoGetEntityData得到图纸上对象数据,比如文本数据,然后写到json文件,该文件前台可以使用Get协议获取,然后使用。

得到指定层上的文字代码如下:

export class TestGetEntityData {
private sDwgFileName: string;
private getDataFilePath(): string {
return mxConvert.getConvertPath() + this.sDwgFileName + “.json”;
}

// 得到图层"飘檐"上的文本
private getText1() {// 把得到数据,写到sDataFile.let sDataFile = this.getDataFilePath();let ss: Mx.MrxDbgSelSet = new Mx.MrxDbgSelSetClass();// 创建一个选择过滤条件.let filter: Mx.MrxDbgRbList = new Mx.MrxDbgRbListClass();// 只选择文字对象.filter.addString("TEXT", 5020)// 图层过滤.filter.addString("飘檐", 8);// 得到图上所有文字对象.ss.allSelect(filter);let dataObject: any = {};let iCount = ss.count;for (let i = 0; i < iCount; i++) {// 选择集不为空.let txt: Mx.McDbText = Mx.MxType.MxCast<Mx.McDbText>(ss.item(i), Mx.MxType.TypeString.kMcDbText);// 得到文字对象,文字内容.if (txt) {if (!dataObject[txt.layer]) {dataObject[txt.layer] = [];}// 把文字对象数据返回.let txtData: any = {};txtData.txt = txt.textString;txtData.posx = txt.position.x;txtData.posy = txt.position.y;dataObject[txt.layer].push(txtData);}}// 保存数据文件.MxFun.writeFile(sDataFile, JSON.stringify(dataObject));
}public Do(filename: string) {this.sDwgFileName = filename;this.getText1();
}

}
C.编译程序,生成MxConvert.js

把dist\mxconvert目录下的所有js程序拷到Bin\Release\mxconvert目录下,覆盖原来的文件,如下图:



D.启动程序

命令行入MxDrawCloudServer\Bin\Release目录

执行代码:

MxFileConvert.exe {“srcpath”:“0008.dwg”,“nodejs”:1,“nodeparam”:“4”}
运行提取程序,如下图:

成功执行…\Test目录,生成数据文件,如下图:


生成的 json文件内容:


E.错误查看,日志文件位置

在程序运行过程,出现错误信息,会自动写到日志文件中,日志文件,默认在如下目录:

C:\Users\MxDraw\AppData\Local\Temp\MxCloudDebug

如下截图:


日志文件内容:

H5后台读写CAD文件相关推荐

  1. H5在线CAD后台读写CAD文件

    说明 后台提供mxconvert.js程序,该程序使用JS编程,可以在后台实现读写CAD文件.读取CAD图纸数据等操作. 如何使用mxconvert.js转CAD图纸到梦想格式 1.Windows调用 ...

  2. 编程读写CAD文件验证笔记

    背景 B/S应用系统,根据用户上传数据:业务数据和CAD坐标数据,经过一系列运筹算法运算后,输出一批坐标数据,作为给用户的规划结果.此时需要方便直观的给用户展示坐标数据.可选方式有两个: web页面画 ...

  3. 利用dxflib读写cad文件

    本篇主要在qt做一个例子读取cad文件数据,使用的开源库是dxflib.用到dxflib的DL_CreationAdapter,DL_Dxf.DL_Dxf是用来读取.dxf文件的类,DL_Creati ...

  4. matlab dxflib如何使用,利用dxflib读写cad文件

    本篇主要在qt做一个例子读取cad文件数据,使用的开源库是dxflib.用到dxflib的DL_CreationAdapter,DL_Dxf.DL_Dxf是用来读取.dxf文件的类,DL_Creati ...

  5. 禅道linux一键安装漏洞,禅道漏洞第二弹后台读写任意文件/getshell

    漏洞1: 任意文件写入漏洞 自评风险:严重 问题出在这里 这里新建方法的时候,其实会写到限定目录的,限定后是无法访问的所以这里,即使成功写也无法利用.不过,我们能跳出它的限制 老规矩,看poc POS ...

  6. js读写php文件,h5+js实现本地文件读取和写入

    这次给大家带来h5+js实现本地文件读取和写入,h5+js实现本地文件读取和写入的注意事项有哪些,下面就是实战案例,一起来看一下. 代码如下: 读取本地文件 Document //点击导入按钮,使fi ...

  7. 利用pandas读写HDF5文件

    一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...

  8. java如何读写json文件

    java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...

  9. 怎么在线预览.doc,.docx,.ofd,.pdf,.wps,.cad文件以及Office文档的在线解析方式。

    Office文档在线预览大全,OFD文件在线预览 JavaScript文件在线预览 Office文档在线预览大全,OFD文件在线预览 前言 一. 什么是office文档在线预览解析? 二.预览流程分析 ...

最新文章

  1. 创建Maven版Java工程
  2. Python 技术篇-利用pymouse库操作windows系统电脑实现鼠标指针移动、点击
  3. sourcemap总结
  4. springcloud 实现反向代理和负载均衡
  5. Vim 激荡 30 年发展史
  6. Oracle_用户管理
  7. 使用DOM4J解析大容量XML文件
  8. Dreamweaver CS6 破解安装
  9. 操作系统重要知识清单:操作系统的运行机制与体系结构
  10. Android 实现搜索历史(1)
  11. 计算机视觉 OpenCV【六:应用之颜色检测】
  12. 大数据学习第一课:虚拟机安装配置
  13. Android车载系统app性能自动化测试规划
  14. ICV:预计到2026年,全球乘用车单车将平均配置3.8颗摄像头
  15. 【前端面试题】01—42道常见的HTML5面试题(附答案)
  16. javaweb网页上传图片并显示在页面上,并在服务端存到磁盘(base64编码解码)
  17. qtdesigner设计表格_PyQt:使用QtDesigner设计界面
  18. Discuz如何开发关注功能
  19. AWS configure region 配置错误了怎么更正
  20. synchronized 的底层原理

热门文章

  1. SpringCloud入门之项目实例
  2. 一个阿里前端工程师的成长之路
  3. 「PyTorch自然语言处理系列」7. 自然语言处理的进阶序列模型
  4. iOS签名校验那些事儿
  5. AppStore发布流程(从证书创建到app发布一站式)
  6. Windows 11 配置Java 环境变量
  7. Android关闭屏幕,但不休眠
  8. 大数据在高校中的应用
  9. Win10 安装NASM
  10. Windows系统的重要文件目录