说明

后台提供梦想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文件,编辑该文件,配置服务参数,如下图:

 
 
服务使用

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);
        })

  

前端上传文件转换如下:

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

 

梦想云图Node.JS服务 (网页CAD,在线CAD )的更多相关文章

  1. 24个很赞的 Node.js 免费教程和在线指南

    JavaScript 最初是用来创建动态网站效果的的前端语言.而如今,这门脚本语言也可以用作后端开发,用于搭建 Web 服务器,开发接口,甚至创建博客.在下面这个列表中包括24个 Node.js 教程 ...

  2. node.js服务端程序在Linux上持久运行

    如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口 ...

  3. Node.js 动态网页爬取 PhantomJS 使用入门(转)

    Node.js 动态网页爬取 PhantomJS 使用入门 原创NeverSettle101 发布于2017-03-24 09:34:45 阅读数 8309  收藏 展开 版权声明:本文为 winte ...

  4. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  5. 实践案例丨教你一键构建部署发布前端和Node.js服务

    如何使用华为云服务一键构建部署发布前端和Node.js服务 构建部署,一直是一个很繁琐的过程 作为开发,最害怕遇到版本发布,特别是前.后端一起上线发布,项目又特别多的时候. 例如你有10个项目,前后端 ...

  6. AngularJS+Node.js+socket.io 开发在线聊天室

    所有文章搬运自我的个人主页:sheilasun.me 不得不说,上手AngularJS比我想象得难多了,把官网提供的PhoneCat例子看完,又跑到慕课网把大漠穷秋的AngularJS实战系列看了一遍 ...

  7. html5 websocket + node.js 实现网页聊天室

    1 client:    socket.io server:   node.js +  express  + socket.io 一个简单的聊天室  demo,没有注册,内置了一些测试用户 2 cli ...

  8. Node.js 服务端图片处理利器

    sharp 是 Node.js 平台上相当热门的一个图像处理库,其实际上是基于 C 语言编写 的 libvips 库封装而来,因此高性能也成了 sharp 的一大卖点.sharp 可以方便地实现常见的 ...

  9. Node.js服务端框架谁才是你的真爱

    1. Express 背景: Express, 疯一般快速(而简洁)的服务端JavaScript Web开发框架,基于Node.js和V8 JavaScript引擎. Express 是一个基于 No ...

  10. 忽略node.js服务中favicon.icon的请求

    场景 一个最简单的node.js的http服务 const http = require('http'); const server = http.createServer(function(req, ...

随机推荐

  1. C#后缀表达式解析计算字符串公式

    当我们拿到一个字符串比如:20+31*(100+1)的时候用口算就能算出结果为3151,因为这是中缀表达式对于人类的思维很简单,但是对于计算机就比较复杂了.相对的后缀表达式适合计算机进行计算. 我们就 ...

  2. 「SHOI2015」脑洞治疗仪

    \(\text{Naive Solition}\) 当然是 \(ODT\) 暴力啦 \(Luogu\) 煞费苦心加强了数据,于是就过不了了... 不过 \(LibreOJ\) 上可以过 #includ ...

  3. CCRD_TOC_2008年第3期

    中信国健临床通讯 2008年第3期 目 录   银屑病和银屑病关节炎 1.        国际皮肤病专家呼吁重视生物制剂治疗银屑病 原文: http://pharmatimes.com/forums/ ...

  4. PostgreSQL 并行计算算法,参数,强制并行度设置

    一.优化器并行计算的并行度计算方法 1.总worker进程数 postgres=# show ; max_worker_processes ---------------------- 128 (1 ...

  5. Postgresql的csv日志设置

    PG的日志系统比较完善,除去系统启动时指定的日志,wal日志等外,下面主要介绍另一个详细的输出日志:csv log. 涉及到的参数文件:$PGDATA/postgresql.conf涉及的主要参数: ...

  6. Docker 安装mysql8

    1.获取镜像 docker pull mysql:8 2.创建数据卷 必须创建数据卷,不然容器挂了数据就丢了 docker volume create mysql-data #创建docker vol ...

  7. IntelliJ IDEA 程序运行的控制台乱码

    参考:https://blog.csdn.net/zp357252539/article/details/124614007 上方导航栏"Run→Edit Configurations-&q ...

  8. Occlusion(遮挡剔除)

    Occlusion 1.视锥体剔除(Frustum Culling) 根据摄像机的视见体的范围对场景模型进行剔除操作,在视见体以外的物体不被渲染,但是在视见体中的物体会以离摄像机最远的物体开始渲染,逐 ...

  9. vue3 使用watch 监听多个数据

    // 监听时间选择 watch( [ internalSubmTimer, internalTimer, externalSubmTimer, externaTimer, callbackTimer, ...

  10. mysql8使用tmpfs内存磁盘当内存数据库的配置方法

    序: 内存关系数据库没有找到开源好用的,很多都是商用.虽然mysql有memory引擎,但写是整体锁表,没法用. 一直想将mysql放入内存中,搜索n次资料,没找到合适的,可能之前思路不对. 最近在测 ...