梦想云图Node.JS服务(2023.4.19)

news2024/11/24 2:18:43

说明

后台提供梦想Node.JS服务,方便调用控件后台功能,Windows服务程序所在目录:Bin\MxDrawServer\Windows,Linux服务程序所在目录:Bin\Linux\MxDrawServer

启动服务

Windows:进入Bin\MxDrawServer\Windows目录,运行start.bat启动服务,如下图:

Linux: 进入Bin\Linux\MxDrawServer,

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

su root
chmod -R 777 *

 

如下:

运行: ./node app.js 启动服务

服务启动后,默认会在1337端口监听,目录下有个ini.js文件,编辑该文件,配置服务参数,如下图:

给我们的转换程序设置执行权限:

如下:

进入Bin\Linux\Bin目录

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

su root

chmod -R 777 *

cp -r ./mx /mx

chmod -R 777 /mx/*

如下:

服务使用

A.上传文件,DWG文件格式转换

服务接口说明:

直接调用POST对服务器上的文件进行转换:

服务接口说明:

*  POST users { cmd: "convert", file: "O:/1.dwg" }

*  file:  需要转的cad文件路径

后台调用服务如下代码:

 $.ajax({
            url: 'http://localhost:1337/users',
            data: { cmd: "convert", file: "O:/1.dwg" },
            method: 'post'
        }).success(function (res) {
            console.log(res);
        })

前端上传文件转换代码如下:

var that = this;
        var urlpath = window.location.origin;
        var files = !!this.files ? this.files : [];
            if (!files.length || !window.FileReader) {
                console.log("浏览器不支持HTML5");
                return false;
            };
        var fileName = this.files[0].name;
        var fileName = encodeURIComponent(fileName);
        var fd = new FormData();
            fd.append('file', files[0]);
        let param = { fileName: fileName };
        fd.append('param', JSON.stringify(param));
        $("#mxpopup2").css("display","block");
        $("#mxpopup").css("display", "none");
           $.ajax({
                url: 'http://localhost:1337/convert',
                data: fd,
                method: 'post',
                contentType: false,
                /*async:false,*/
                processData: false
            }).success(function (res) {
                console.log(res);
                var ret = res;
                if (ret.code == 0) {
                    $('#shareLink').val(urlpath + '/file/' + ret.resultFile + '_mxresult.json');
                    $("#mxpopup1").css("display", "block");
                    $("#mxpopup2").css("display", "none");
                }
                else {
                    alert("上传失败");
                    $("#mxpopup2").css("display", "none");
                    $("#mxpopup").css("display", "block");
                }
            }).error(function () {
                alert("上传失败");
                $("#mxpopup2").css("display", "none");
                $("#mxpopup").css("display", "block");
            });

POST convert file;file是<input id="input" type="file"> 选择的文件.

该接口后台源码在Bin\MxDrawNode\MxDrawNode\src\mxconvert\MxConvert.ts 中的CadToMx

参考例子:Bin\MxDrawServer\Test\sample.html

代码如下:

默认文件转换后存放位置如下图:

B. 保存批注到DWG文件

服务接口说明:

*  POST savecomment {filename:保存到的DWG文件;savefile :保存后的dwg, userConvertPath:false}

*  userConvertPath: 默认值是false,把当前图上的批注内容保存到指定的dwg文件中

*  filename: 是个相对路径,默认是相对于后台程序所在目录Bin\Release(windows),Bin\Linux\Bin(linux)

*  如果userConvertPath为接true,相对于Bin\Release\ini.json [linux:Bin\Linux\Bin\ini.json] 中的nodeConvert.path设置值 

*  savefile: 也是个相对路径,同filename。该接口后台源码在Bin\MxDrawNode\MxDrawNode\src\mxconvert\SaveCommentToDwg.ts 中的SaveCommentToDWG.do 

参考例子:SRC\sample\Browse\VueBrowse,代码如下:

demo运行后,点击“保存到DWG文件”,查看接口调用效果:

C. 得到到DWG文件中信息 

参考例子: Bin\MxDrawServer\Test\sample.html 

服务接口说明:

POST users {cmd:"getcaddata",cadfile:"1.dwg",outfile:"1.dwg.json"} 

 代码如下:

function TestPost(){
        $.ajax({
            url:'http://localhost:1337/users',
            data:{cmd:"getcaddata",cadfile:"1.dwg",outfile:"1.dwg.json"},
            method:'post'
        }).success(function (res){
            console.log(res);
		})
	}

getcaddata的实现,参见“梦想控件2-后台读写CAD文件.doc”执行结果如下:

D.  DWG文件转成PDF

参考例子: Bin\MxDrawServer\Test\sample.html 

服务接口说明:

POST tools { cmd: "cadtopdf", param: "file=O:/1.dwg" },

 代码如下:

$.ajax({
            url: 'http://localhost:1337/users/tools',
            data: { cmd: "cadtopdf", param: "file=O:/1.dwg" },
            method: 'post'
        }).success(function (res) {
            console.log(res);
        })

E.  DWG文件转成JPG

参考例子: Bin\MxDrawServer\Test\sample.html 

服务接口说明:

POST tools { cmd: "cadtopdf", param: "file=O:/1.dwg" },

 代码如下:

 $.ajax({
            url: 'http://localhost:1337/users/tools',
            data: { cmd: "cadtojpg", param: "file=O:/1.dwg" },
            method: 'post'
        }).success(function (res) {
            console.log(res);
        })

F.  对CAD图纸剪切,剪切输出pdf,dwg

参考例子: Bin\MxDrawServer\Test\sample.html 

服务接口说明:

POST tools { cmd: "cutcad", param: "file=O:/hhhh.dwg out=O:/1.pdf lbx=60009.152793 lby=42457.503649 rtx=120145.567345 rty=85507.693766"},

out传的值扩展名是pdf输出pdf文件,是dwg时输出dwg

代码如下:

$.ajax({
            url: 'http://localhost:1337/users/tools',
            data: { cmd: "cutcad", param: "file=O:/hhhh.dwg out=O:/1.pdf lbx=60009.152793 lby=42457.503649 rtx=120145.567345 rty=85507.693766"},
            method: 'post'
        }).success(function (res) {
            console.log(res);
        })

G. 根据图框,折分pdf

参考例子: Bin\MxDrawServer\Test\sample.html 

服务接口说明:

POST tools { cmd: "cadtopdf", file: "tk.dwg"},

调用代码如下:

$.ajax({
            url: 'http://localhost:1337/users',
            data: { cmd: "cadtopdf", file: "O:/tk.dwg"},
            method: 'post'
        }).success(function (res) {
            console.log(res);
        })

该功能的源码在:

Bin\MxDrawNode\MxDrawNode\src\mxconvert\CADToPDF.ts

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

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

相关文章

redis原理及进化之路

Redis 的主从复制经历了多次演进&#xff0c;本文将从最基本的原理和实现讲起&#xff0c;并层层递进&#xff0c;逐步呈现 Redis 主从复制的演进历史。大家将了解到 Redis 主从复制的原理&#xff0c;以及各个改进版本解决了什么问题&#xff0c;并最终看清 Redis 7.0 主从复制…

vue+uniapp疫苗预约接种系统 微信小程序

统计分析&#xff1a;查看用户&#xff0c;疫苗&#xff0c;订单数量&#xff1b;统计近7日&#xff0c;30日订单趋势 用户管理&#xff1a;查看注册用户信息&#xff0c;及删除&#xff08;数据库mysql) 疫苗管理&#xff1a;疫苗增删改查以及上下架 接种点管理&#xff1a;接…

vue3.0 详细说明+案例 !!!

提示&#xff1a;vue3.0 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;Vuee.js的最新版本。它提供了一系列全新的特性&#xff0c;包括更快的渲染速度、更好的Tree Shaking支持以及更好的TypeScript支持。 最重要的特性…

centos7重启后/etc/rc.local中的脚本没有执行

前阵子自己安装了WMware16、centos7&#xff0c;配置好jdk、mysql、nginx、redis并设置好开机自动启动后&#xff0c;打算将服务也做成自启动&#xff0c;因为之前做过本以为会很顺利&#xff0c;结果整了快两小时&#xff0c;觉得有必要记录下。 之前自己记录的博客&#xff…

Faster RCNN系列5——RoI Pooling与全连接层

Faster RCNN系列&#xff1a; Faster RCNN系列1——Anchor生成过程 Faster RCNN系列2——RPN的真值与预测值概述 Faster RCNN系列3——RPN的真值详解与损失值计算 Faster RCNN系列4——生成Proposal与RoI Faster RCNN系列5——RoI Pooling与全连接层 在RPN网络中&#xff0c;已…

融云出海赋能会干货回顾(二)| 地区、赛道选择和避坑攻略

“出海是这个时代给我们的机遇。”这是很多互联网出海人的心声。关注【融云全球互联网通信云】了解更多 走过跌宕起伏的 15 年出海历程&#xff0c;中国出海人现在面对与此前截然不同的市场环境&#xff0c;很多地区蓝海不再&#xff0c;也有不少赛道变得拥挤。 一体两面&…

交友项目【动态点赞动态喜欢】

目录 1&#xff1a;点赞 1.1&#xff1a;动态点赞 1.1.1&#xff1a;分析&实现 1.2&#xff1a;取消点赞 1.2.1&#xff1a;分析&实现 2&#xff1a;喜欢 2.1&#xff1a;动态喜欢 2.1.1&#xff1a;分析&实现 2.2&#xff1a;取消喜欢 2.2.2&#xff1a…

学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传

目录 5 上传视频 5.1 媒资管理页面上传视频流程预览 5.2 断点续传技术 5.2.1 什么是断点续传 5.2.2 测试分块与合并&#xff0c;RandomAccessFile随机流 5.2.3 视频上传流程 5.2.4 测试minio合并文件 5.3 接口定义&#xff0c;检查文件/分块、上传分块、合并分块 5.4…

4年外包终上岸,我只能说这类公司能不去就不去

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是4年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…

类图(类之间的关系)

一.概述 类图(Class diagram)是显示了模型的静态结构&#xff0c;特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。在软件工程中&#xff0c;类图是一种静态的结构图&#xff0c;描述了系统的类的集合…

基于Powell共轭方向法的UWB室内定位构型优化算法

基于Powell共轭方向法的UWB室内定位构型优化算法 阚昊宇 摘要&#xff1a; UWB室内定位系统的服务性能及定位精度很大程度上受UWB基站构型影响&#xff0c;而GDOP是衡量系统定位服务性能的重要指标。目前关于UWB室内定位基站构型的讨论主要集中于最小化限定基站数目下GDOP在自…

【系统集成项目管理工程师】项目资源管理

&#x1f4a5;十大知识领域&#xff1a;项目资源管理 项目资源管理包括以下 4 个过程: 编制项目人力资源计划组建项目团队建设项目团队管理项目团队 一、编制项目人力资源计划 确定与识别项目中的角色、所需技能、分配项目职责和汇报关系&#xff0c;并记录下来形成书面文件&am…

CDN如何阻止网络攻击

随着网络技术的发展&#xff0c;网络攻击事件也越来越多&#xff0c;对企业和个人的安全和稳定造成严重威胁。为此&#xff0c;高防CDN应运而生&#xff0c;成为广大用户保障网络安全的重要工具。什么是高防CDN?高防CDN的特点有哪些?高防CDN如何阻止网络攻击?接下来让我们一…

【云原生|Docker】14-Dokcer Harbor高可用部署

【云原生Docker】14-Dokcer Harbor高可用部署 文章目录 【云原生Docker】14-Dokcer Harbor高可用部署前言Harbor高可用方案单主复制双主复制多Harbor共享后端存储 Harbor高可用部署方案说明环境说明部署步骤安装nfs安装redis和PostgreSQL安装harbor配置nginx访问测试 总结 前言…

netty源码学习之-HashedWheelTimer

netty源码学习之-HashedWheelTimer 概述使用相关概念解析时间轮 运行时序图 源码workerHashedWheelTimeoutHashedWheelBucket 概述 该部分源码是netty的时间轮&#xff0c;netty的时间轮是单轮&#xff0c;其他时间轮是多轮设计&#xff0c;今天先了解下netty的时间轮设计 使用…

hot100:数组——49、53、55

49. 字母异位词分组 用hashmap存储&#xff0c;其中每个key&#xff0c;用这组异位词的排序后的字符串&#xff1b;value是这组异位词。比如“tea”和“ate”是一组异位词&#xff0c;他们的排序结果都是“aet”。 public List<List<String>> groupAnagrams(Stri…

交流电中的无功功率和有功功率,减少无功功率

有功&#xff0c;无功功率 从字面上理解就是做功和不做功的功率。不做功的是因为负载电路中有电感和电容的存在。 电容和电感的电压电流关系 设加在两端的电压都是 U U m a x s i n w t UU_{max}sinwt UUmax​sinwt 电容和电感两端电压电流的关系 电容两端的电压电流关系…

Javaee Spring基于XML的AOP开发

快速入门 1. 导入 AOP 相关坐标 2. 创建目标接口和目标类&#xff08;内部有切点&#xff09; 3. 创建切面类&#xff08;内部有增强方法&#xff09; 4. 将目标类和切面类的对象创建权交给 spring 5. 在 applicationContext.xml 中配置织入关系 6. 测试代码 项目…

【数据库】MySQL数据约束和表关系详解

目录 1.数据库约束 1.1约束类型 1.2NULL约束 1.3UNIQUE&#xff1a;唯一约束 1.4DEFAULT&#xff1a;默认值约束 1.5PRIMARY&#xff1a;主键约束 1.6FOREIGH KEY:外键约束 2.表的关系 2.1一对一 2.2一对多 2.3多对多 1.数据库约束 数据库中的数据保存在数据表中&am…

数据库基础篇 《9. 子查询》

目录 1. 需求分析与问题解决 1.1 实际问题 1.2 子查询的基本使用 ​编辑1.3 子查询的分类 分类方式1&#xff1a;我们按内查询的结果返回一条还是多条记录&#xff0c;将子查询分为 单行子查询 、 多行子查询 。 分类方式2&#xff1a; 我们按内查询是否被执行多次&#x…