H5后台读写CAD文件

news2024/11/15 6:27:23

说明

后台提供mxconvert.js程序,该程序使用JS编程,可以在后台实现读写CAD文件、读取CAD图纸数据等操作。

如何使用mxconvert.js转CAD图纸到梦想格式

1.Windows调用,进入 Bin\Release目录,命令行调用 node.exe mxconvert.js 1.dwg

生成后的文件

2.Linux 调用,进入Bin\Linux\Bin目录

执行如下命令,增加文件的执行权限

su root

chmod -R 777 *

cp -r ./mx /mx

chmod -R 777 /mx/*

如下:

如何后台写JS程序

原理说明:mxconvert.js,windows在Bin\Release目录,linux在Bin\Linux\Bin目录。

调用方式:node mxconvert.js command  param=value。

调用原理如下,加载我们提供的CAD模块和js程序。

开发步骤:

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

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

如下:

例子中,DoGetEntityData得到图纸上的对象数据,比如文本数据,然后写到json文件。

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

 
  export class TestGetEntityData {
    public sOutfile: string;
    
    // 得到图层"飘檐"上的文本
    private getText1() {
        // 把得到数据,写到sDataFile.
        let sDataFile = this.sOutfile;
        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(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;
                txtData.alignmentPointx = txt.alignmentPoint.x;
                txtData.alignmentPointy = txt.alignmentPoint.y;
                dataObject[txt.layer].push(txtData);
            }
        }
        // 保存数据文件.
        MxFun.writeFile(sDataFile, JSON.stringify(dataObject));
        return { ret: 0 };
    }
    public Do(filename: string) {
        this.sOutfile = filename;
        return this.getText1();
    }
}

增加命令,getcaddata

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

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

拷到如下目录:

D.启动程序

命令行入MxDrawCloudServer\Bin\Release目录,执行:node.exe mxconvert.js getcaddata cadfile=1.dwg outfile=1.dwg.json 运行提取程序,如下:

成功执行,当前目录生成一个1.dwg.json文件:

生成的 json文件内容:

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

在程序运行过程,出现错误信息,会自动写到日志文件中的日志文件,默认在如下目录:C:\Users\MxDraw\AppData\Local\Temp\MxCloud如下截图:

日志文件内容:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【推荐】动力锂电池及BMS系统介绍资料合集

锂动力电池是20世纪开发成功的新型高能电池。这种电池的负极是金属锂&#xff0c;正极用MnO2&#xff0c;SOCL2&#xff0c;(CFx)n等。70年代进入实用化。因其具有能量高、电池电压高、工作温度范围宽、贮存寿命长等优点&#xff0c;已广泛应用于军事和民用小型电器中&#xff…

部署AI平台 宝马集团正在掀起新一轮数字化改革浪潮

数字化转型作为当代企业创新求变的重要突破口&#xff0c;成为各行各业推进持续发展的大热趋势。但在企业的在数字化征程中&#xff0c;却暗藏多重陷阱&#xff0c;数据孤岛、标准不一、质量太差、治理滞后、安全隐患等挑战&#xff0c;如影随形。 近日&#xff0c;宝马集团宣布…

125页6万字智慧城市系统及智慧城市运营中心建设技术方案

目 录 1. 智慧城市系统概述 1.1 前言 1.2 什么是智慧城市&#xff1f; 1.3 智慧城市的总体目标 1.4 智慧城市如何建设 1.5 智慧城市组成和架构 1.6 智慧城市总体功能 1.6.1 城市运营中心门户 1.6.2 城市事件管理服务 1.6.3 城市运维管理服务 1.6.4 数据挖掘 1.6.4…

【Unity大气散射】GAMES104:3A中如何实现大气散射

写在前面 前两天学习并整理的大气散射基础知识&#xff1a;【Unity大气渲染】关于单次大气散射的理论知识&#xff0c;收获了很多&#xff0c;但不得不承认的是&#xff0c;这其实已经是最早的、90年代的非常古老的方法了&#xff0c;后来也出现了一些优化性的计算思路和方法。…

解决金仓数据库KingbaseES V8R3 由于修改系统时间导致sys_rman备份故障的问题

案例说明&#xff1a; 此案例&#xff0c;为复现“current time may be rewound”错误。对于数据库环境&#xff0c;在使用前必须保证系统时间的正确性。如果数据库创建后&#xff0c;再将系统时间修改为创建数据库之前的时间&#xff0c;在运行过程中将有可能导致新老事务判断…

Beego框架项目搭建步骤

1、执行 go env 指令&#xff0c;将输出当前 Go 开发包的环境变量状态。 GOARCH 表示目标处理器架构。 GOBIN 表示编译器和链接器的安装位置。 GOOS 表示目标操作系统。 GOPATH 表示当前工作目录。 GOROOT 表示 Go 开发包的安装目录。 2、安装beego 输入 go get github.com/as…

IB近三年的改革及未来发展趋势

【转自京领新国际】 据不完全统计&#xff0c;截至目前&#xff0c;IB课程已在全球160余个国家的5667所学校开设&#xff0c;其中&#xff0c;中国大陆有267所学校获得了IB认证。由于IB的教育理念非常适应创新性人才的培养需要&#xff0c;它也越来越被学校、家长和学生认可。那…

论文阅读 - On the efficacy of old features for the detection of new bots - CCF B

目录 摘要&#xff1a; 1.导言 2.文献综述 3 数据集 4.特征集 4.1 CAP_UNI Botometer分数 4.2.与帐户配置文件/时间线相关的功能 4.3.非官方Twitter账户发送的推文比例 4.4.实验装置 5. 实验结果 5.1. Celebrity-Botwiki 5.2. Verified-Botwiki 5.3. Verified-Vendo…

什么是APERAK?

APERAK(Application error and acknowledgement message)是由消息接收方发出的应用程序错误和确认信息。其目的是&#xff1a; a) 通知消息发送方他的消息已经被消息接收方收到&#xff0c;由于业务系统在处理过程中遇到错误&#xff0c;已被拒绝。 b) 向消息发送方确认消息已…

使用tushare数据画疫情感染人数地图

总是看到网上有各种各样的可以用地图来展示某一地区的情况&#xff0c;如GDP的增速、人口的变化等&#xff0c;于是就想想这个问题是否能用python来实现&#xff0c;经查阅资料发现&#xff0c;用python来画地图其实也并不难&#xff0c;做好数据和地图的关联就可以实现。 一、…

移动WEB开发之响应式布局--响应式开发

响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置&#xff0c;从而适配不同设备的目的。 响应式布局容器 响应式需要一个父级做为布局容器&#xff0c;来配合子级元素来实现变化效果。 原理就是在不同屏幕下&#xff0c;通过媒体查询来改变这个布局…

洞察市场需求,深耕大健康赛道,缤跃酒店打造一站式运动酒店品牌

近期&#xff0c;人民数据研究院发布《2022全民跑步运动健康报告》&#xff0c;报告中显示参与跑步人群的年龄跨度随着社会对跑步运动不断攀升的热情而增加。现代生活节奏加快、竞争压力大使得部分中青年通过运动寻求解压&#xff0c;2022年18-40岁的跑者开始成为中坚力量&…

一文搞懂测试左移和测试右移的 Why-How-What

1080306 6.35 KB 软件测试技术应当贯穿整个软件开发生命周期、对软件产品&#xff08;包括阶段性产品&#xff09;进行验证和确认的活动过程&#xff0c;其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。 然而&#xff0c;传统…

ElasticSearch——刷盘原理流程

ElasticSearch——刷盘原理流程刷盘原理流程名词和操作解释相关设置刷盘原理流程 整个过程会分成几步&#xff1a; 数据会同时写入buffer缓冲区和translog日志文件buffer缓冲区满了或者到时间了&#xff08;默认1s&#xff09;&#xff0c;就会将其中的数据转换成新的segment并…

【JavaEE】Java 线程的几种状态

目录 一、线程状态的种类及含义 二、线程状态间的切换条件 &#xff08;1&#xff09;使用isAlive()判断线程的存活状态 &#xff08;2&#xff09;关于BLOCKED、WAITING、TIMED_WAITING状态之间的转换 1.TIMED_WAITING 2.WAITING 3.BLOCKED 4.jconsole.exe的使用方式…

当 chatGPT 被职场 PUA ,笑麻了!

大家最近是不是被 chatGPT 刷屏了&#xff1f;简单来说&#xff0c;chatGPT 是一个智能聊天引擎。 那 chatGPT 和小爱同学、 siri 有什么区别呢&#xff1f; 如果体验过的朋友&#xff0c;能感受到区别还是很大&#xff0c;chatGPT 的智能表现过于优秀&#xff0c;远远超过了这…

【C++】STL-string模拟实现

文章目录驼峰法命名面试题&#xff1a;写一个简洁版的stringstring成员变量构造函数析构函数拷贝构造函数获取C形式的字符串 c_str赋值重载 operator简易版代码:string的改造 ->支持增删查改接口总览string成员变量构造函数交换拷贝构造赋值重载operator析构函数返回元素个数…

Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)

前面我介绍了可视化的一些方法以及机器学习在预测方面的应用&#xff0c;分为分类问题&#xff08;预测值是离散型&#xff09;和回归问题&#xff08;预测值是连续型&#xff09;&#xff08;具体见之前的文章&#xff09;。 从本期开始&#xff0c;我将做一个关于图像识别的…

大疆A3飞控使用|飞控配置

大疆A3飞控使用|飞控配置大疆A3飞控介绍总体特性飞行特性外围设备保护功能SDK拓展拓展功能A3 飞控使用配置连接飞机基本设置机架安装遥控器电调动力配置感度电池控制参数调试基础感度动力带宽高级感度灵敏度控制器性能参数大疆A3飞控介绍 全新A3系列飞控系统结合安全可靠和精准…

【虹科案例】用于超高磁场的虹科 digitizerNETBOX——高采样率和完全同步采样

应用背景 国际 MegaGauss 科学实验室是东京大学固态物理研究所 (ISSP) 的一部分。实验室的目的是研究固态材料&#xff08;如半导体、磁性材料、金属、绝缘体、超导材料&#xff09;在超高磁场下的物理特性&#xff0c;这些领域还包括研究新材料并控制其阶段和功能。实验室脉冲…