说明

后台提供梦想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. 数据对接:从Notion Database到低代码平台

    前言 Notion简介 近几年,有一款叫Notion的产品异常火爆,它是集笔记.任务管理.Wiki.数据管理为一体的产品,他主打两个理念「模块化」和「All-in-one」,Notion最有魅力的还是 ...

  2. ctf 菜鸟杯

    web签到 首先最里面的是ctfshow-QQ群:,而他需要进行cookie传参,因此我们需要在cookie传入CTFshow-QQ群=a,然后就要以POST方式传入a的值,我们传入a=b,而b是以G ...

  3. drag拖拽相关

    实际开发中会遇到一些和拖拽有关的问题 : 1.移动端不支持鼠标拖拽功能, 2.拖拽时会选中页面中的其他文字,解决办法: <div onSelectStart="return false ...

  4. PostgresSQL用returning实现mysql的last_insert_id

    今天开发问到,postgressql里面有没有像mysql那样插入一个值后返回插入的值,这个是有的,而且有更强的扩展性. 示例: [postgres@localhost ~]$ psql psql ( ...

  5. TP框架在nginx中的配置

    TP框架配置中默认URL_MODEL=1,而Nginx默认是不支持PATHINFO的.如果我们只想跑起来tp框架,很简单,只需到更改TP配置,设置URL_MODEL=3(兼容模式).但是如果要让Ngi ...

  6. JavaScrip 学习笔记

    <script> $().ready(function () { // 在键盘按下并释放及提交后验证提交表单 $("#form1").validate({ errorE ...

  7. django-drf知识点梳理

  8. maven打包springboot项目不能运行的解决办法

    前提是在开发工具中能正常运行,maven打包后无法运行. 打包后,进入打包文件路径 在dos下输出 java -version 显示jdk版本后,再 java -jar    xxxx.jar xxx ...

  9. 快速居中对齐 flex+margin auto

  10. LESS-8

    根据题目,这是一道布尔型注入.页面只有返回正常和不正常两种. payload: ' and substr(database(),1,1)='s' --+  判断当前数据库名的第一个字母,是's'页面就 ...