数据保存
mxcad 2023/5/9
用户在网页中浏览标注DWG图纸之后,会在图纸上进行审图批注,批注的内容会保存到服务器或原图纸中,下面我们将讲一下在线浏览标注DWG图纸后保存批注信息的方法。
# 批注保存到服务器的数据库中
第一种方式是将图纸中的批注或绘图数据通过 Mx.MxFun.getCurrentDraw().saveMxEntityToJson() (opens new window) 方法转换为JSON字符串保存到服务器的数据库中,当再次打开这张图纸的时候,再去请求得到对应的批注数据,通过 MxFun.getCurrentDraw().loadMxEntityFromJson() (opens new window) 方法在前端页面中直接恢复对应的批注或绘图数据。
// 保存批注
localStorage.setItem('mx-data', Mx.MxFun.getCurrentDraw().saveMxEntityToJson());
// 恢复批注
Mx.MxFun.getCurrentDraw().loadMxEntityFromJson(localStorage.getItem('mx-data'))
# 批注保存到图纸中
第二种方式是将图纸上的批注或绘图内容直接保存到图纸上, 该种方式需在服务器中提前保存目标图纸的原图纸。我们提供了一个应用程序能够将批注或绘图内容与目标图纸合并保存,下面是其操作步骤:
- 配置
在MxDraw云图开发包 (opens new window)中进入MxDrawServer
目录
在该目录中存在一个ini.js
文件中的MxINI
函数中可以配置服务参数:
- 启动node服务
- Windows系统:
双击运行start.bat
文件 启动node服务
- Linux系统:
首先进入Bin\Linux\Bin
目录增加文件的执行权限
su root
chmod -R 777 *
cp -r ./mx /mx
chmod -R 777 /mx/*
然后进入Bin\Linux\MxDrawServer
目录 执行如下命令
su root
chmod -R 777 *
./node app.js
其中保存批注到DWG文件的接口是savecomment
,其参数如下:
{
filename:"保存到的DWG文件",
savefile :"保存后的dwg",
userConvertPath:false
}
你也可以参考MxDrawServer
项目源码写出自己的后台服务。