H5后台读写CAD文件
说明
后台提供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文件相关推荐
- H5在线CAD后台读写CAD文件
说明 后台提供mxconvert.js程序,该程序使用JS编程,可以在后台实现读写CAD文件.读取CAD图纸数据等操作. 如何使用mxconvert.js转CAD图纸到梦想格式 1.Windows调用 ...
- 编程读写CAD文件验证笔记
背景 B/S应用系统,根据用户上传数据:业务数据和CAD坐标数据,经过一系列运筹算法运算后,输出一批坐标数据,作为给用户的规划结果.此时需要方便直观的给用户展示坐标数据.可选方式有两个: web页面画 ...
- 利用dxflib读写cad文件
本篇主要在qt做一个例子读取cad文件数据,使用的开源库是dxflib.用到dxflib的DL_CreationAdapter,DL_Dxf.DL_Dxf是用来读取.dxf文件的类,DL_Creati ...
- matlab dxflib如何使用,利用dxflib读写cad文件
本篇主要在qt做一个例子读取cad文件数据,使用的开源库是dxflib.用到dxflib的DL_CreationAdapter,DL_Dxf.DL_Dxf是用来读取.dxf文件的类,DL_Creati ...
- 禅道linux一键安装漏洞,禅道漏洞第二弹后台读写任意文件/getshell
漏洞1: 任意文件写入漏洞 自评风险:严重 问题出在这里 这里新建方法的时候,其实会写到限定目录的,限定后是无法访问的所以这里,即使成功写也无法利用.不过,我们能跳出它的限制 老规矩,看poc POS ...
- js读写php文件,h5+js实现本地文件读取和写入
这次给大家带来h5+js实现本地文件读取和写入,h5+js实现本地文件读取和写入的注意事项有哪些,下面就是实战案例,一起来看一下. 代码如下: 读取本地文件 Document //点击导入按钮,使fi ...
- 利用pandas读写HDF5文件
一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...
- java如何读写json文件
java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...
- 怎么在线预览.doc,.docx,.ofd,.pdf,.wps,.cad文件以及Office文档的在线解析方式。
Office文档在线预览大全,OFD文件在线预览 JavaScript文件在线预览 Office文档在线预览大全,OFD文件在线预览 前言 一. 什么是office文档在线预览解析? 二.预览流程分析 ...
最新文章
- 创建Maven版Java工程
- Python 技术篇-利用pymouse库操作windows系统电脑实现鼠标指针移动、点击
- sourcemap总结
- springcloud 实现反向代理和负载均衡
- Vim 激荡 30 年发展史
- Oracle_用户管理
- 使用DOM4J解析大容量XML文件
- Dreamweaver CS6 破解安装
- 操作系统重要知识清单:操作系统的运行机制与体系结构
- Android 实现搜索历史(1)
- 计算机视觉 OpenCV【六:应用之颜色检测】
- 大数据学习第一课:虚拟机安装配置
- Android车载系统app性能自动化测试规划
- ICV:预计到2026年,全球乘用车单车将平均配置3.8颗摄像头
- 【前端面试题】01—42道常见的HTML5面试题(附答案)
- javaweb网页上传图片并显示在页面上,并在服务端存到磁盘(base64编码解码)
- qtdesigner设计表格_PyQt:使用QtDesigner设计界面
- Discuz如何开发关注功能
- AWS configure region 配置错误了怎么更正
- synchronized 的底层原理