一种Web中显示dwg格式图纸的方法及系统技术方案

技术编号:37119265 阅读:10 留言:0更新日期:2023-04-01 05:14
本发明专利技术提供了一种Web中显示dwg格式图纸的方法及系统,其中,方法应用于服务端,方法包括:S1:获取dwg文件,使用中文编码将dwg图纸中的中文字符转换为第一解析结果,使用可变长度字符编码将第一解析结果转换为第二解析结果,其中,所述中文编码包括:GB2312编码;S2:将第二解析结果封装为DXF文件,将DXF文件并发送至Web端,所述Web端用于将所述DXF文件转换为json文件,并根据json文件绘制图纸。应用本发明专利技术实施例,基于可变长度字符编码将dwg图纸转换为DXF文件,进而使服务器可以直接接收dwg图纸,可以在无DXF文件的情况下,在Web端显示出dwg格式的图纸。dwg格式的图纸。dwg格式的图纸。

【技术实现步骤摘要】
一种Web中显示dwg格式图纸的方法及系统


[0001]本专利技术涉及数据处理
,具体涉及一种Web中显示dwg格式图纸的方法及系统。

技术介绍

[0002]在工程作业实践中,设计院、建筑公司、甲方与业主之间通常会使用AutoCAD软件默认的dwg格式进行沟通交流,不会用到DXF格式。各方仅会保存供审批、存档的纸质图纸以及供交流的dwg图纸。随着办公用房、公租房数字化监管需求的不断提出,需要在Web端进行dwg图纸的功能。因dwg为二进制格式,JavaScript脚本无法正常解析,因此,目前在Web端展示CAD的dwg图纸的基本做法是先安装CAD插件,浏览器再从服务器下载CAD图纸并利用插件进行显示。但是插件的数据量一般为40M左右,用户需要等待接近20秒的时间才能完成CAD插件的安装,再加上dwg图纸的解析与加载,用户需要等待的时间一般介于25

30秒之间。
[0003]为了解决上述问题,申请号为2016101863905的专利技术专利申请揭示了一种在Web端无插件展示CAD图纸的方法及装置,所述方法包括:服务器将客户端请求的CAD图纸文件读出并解析,分析出CAD图纸中包含的所有CAD对象及其属性值,解析完成后将所有对象数据封装成Json数据/XML数据格式发送给客户端;客户端采用Javascript脚本解析出所述Json数据/XML数据中的所述所有CAD对象及其属性值,并将所述CAD对象的坐标转换为本地Canvas控件的坐标,在Canvas控件中绘制出CAD图纸。本专利技术实现了Web端无插件展示CAD图纸,可兼容目前所有主流的浏览器、操作平台和系统,易于开发、推广。分析现有技术的申请文件可知,现有技术中以经预先将CAD图纸转换为了DXF(Drawing Interchange Format时或者Drawing Exchange Format,绘图交换格式)文件并上传到服务器,DXF文件为Javascript脚本可读的矢量文件。然后服务器将被封装为Json(JavaScript Object Notation,JavaScript对象表示法)文件的DXF文件发送至Web端。Web端再解读Json文件以显示dwg图纸中的各个对象。但是,现有技术中并未公开如何将dwg图纸转换为DXF格式的过程,现有技术本质上是一种DXF文件的Web端显示,如果此时用户并无处理好的DXF文件时是无法在Web端显示dwg图纸的。
[0004]专利技术人调研后得知,目前DXF文件的来源有两种:第一种是使用AutoCAD软件直接转换而来,这种转换方法的输出结果准确,且可以直接使用。但是,AutoCAD软件只能部署在PC(Personal Computer,个人电脑)端。也就是说,使用现有技术需要先在PC端将dwg图纸转换为DXF文件,然后将DXF文件导入到服务端,然后客户端再向服务端发起数据请求实现dwg图纸在Web端的显示,导致流程较为复杂,如果图纸数量较多时,会极大的增加工作量以及出错的风险。而且,Web服务的部署架构一般为“客户端

服务器”,其服务器绝大多数都部署在linux系统上,linux系统上无法运行AutoCAD,无法转换dwg为DXF。因此,使用部署在服务端的第三方软件将dwg图纸转换为DXF格式文件是一个较为理想的选择。但是,使用第三方软件将dwg图纸转换为DXF文件,但是在转换时会存在较多的乱码。因此,在没有DXF文件的情况下,如何在服务端将dwg图纸转换为无乱码的DXF文件,进而实现将dwg图纸在Web端直
接显示是亟待解决的技术问题。

技术实现思路

[0005]在实际运用中,目前行业上房地产交付清单内,CAD图都是dwg格式的,本专利技术所要解决的技术问题在于用户并无处理好的DXF文件时,将dwg图纸在Web端直接显示。
[0006]本专利技术通过以下技术手段实现解决上述技术问题的:
[0007]本专利技术提供了一种Web中显示dwg格式图纸的方法,应用于服务端,所述方法包括:
[0008]S1:获取dwg文件,使用中文编码将dwg图纸中的中文字符转换为第一解析结果,使用可变长度字符编码将第一解析结果转换为第二解析结果,其中,所述中文编码包括:GB2312编码;
[0009]S2:将第二解析结果封装为DXF文件,将DXF文件并发送至Web端,所述Web端用于将所述DXF文件转换为json文件,并根据json文件绘制图纸。.
[0010]可选的,所述S1步骤包括:
[0011]获取dwg图纸,解析dwg图纸对应的版本号是否为早期版本,其中,所述早期版本包括:CAD2004版本以及CAD2004以前的版本;
[0012]若是,使用预设中文编码将dwg图纸中的中文字符转换为第一解析结果,再使用可变长度字符编码将第一解析结果转换为第二解析结果,所述可变长度字符编码包括:UTF

8编码;
[0013]若否,使用可变长度字符编码将dwg图纸中的中文字符转换为第二解析结果。.
[0014]本专利技术还提供了一种Web中显示dwg格式图纸的方法,应用于Web端,所述方法包括:
[0015]接收如上述的服务端发送的DXF文件;
[0016]解析所述DXF文件并转换为Json文件,并根据Json文件将dwg图纸在Web端显示。
[0017]可选的,所述根据Json文件将dwg图纸在Web端显示,包括:
[0018]使用threejs工具绘制Json文件中的线条信息;
[0019]使用canvas工具创建图片纹理,使用系统字体将Json文件中的标注信息标注在图片纹理中;
[0020]根据房间特征识别出CAD图纸中房间对应的多边形,将标注后的图片纹理贴图贴在对应房间的多边形中。
[0021]可选的,所述使用threejs工具绘制Json文件中的线条信息,包括:
[0022]使用threejs工具读取出Json文件中包含的各个线条的图层信息,根据所属图层类别对各个线条进行分类处理,得到线条分类;
[0023]针对每一个线条分类,创建专属图层并为所述专属图层赋予z坐标值,将所述线条分类中的每一个线条绘制在所述专属图层上,且任意两个专属图层的z坐标值之差大于或者小于零,z轴垂直于屏幕所在平面。
[0024]可选的,在使用threejs工具绘制Json文件中的线条信息时,所述方法还包括:
[0025]生成置顶图层,将所述多边形的线条复制在所述置顶图层上,且所述置顶图层对应的z坐标值为所有z坐标值的最大值,其中,所述置顶图层为透明图层或者半透明图层;
[0026]捕捉用户针对房间的点击事件,获取用户所点击房间,将所述房间渲染显示。
[0027]可选的,所述使用系统字体将Json文件中的标注信息标注在图片纹理中,包括:
[0028]获取dwg中标注信息的线条信息,以及对应的标注信息;
[0029]使用threejs工具绘制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Web中显示dwg格式图纸的方法,其特征在于,应用于服务器端,所述方法包括:S1:获取dwg文件,使用中文编码将dwg图纸中的中文字符转换为第一解析结果,使用可变长度字符编码将第一解析结果转换为第二解析结果,其中,所述中文编码包括:GB2312编码;S2:将第二解析结果封装为DXF文件,将DXF文件并发送至Web端,所述Web端用于将所述DXF文件转换为json文件,并根据json文件绘制图纸。2.根据权利要求1所述的一种Web中显示dwg格式图纸的方法,其特征在于,所述S1步骤包括:获取dwg图纸,解析dwg图纸对应的版本号是否为早期版本,其中,所述早期版本包括:CAD2004版本以及CAD2004以前的版本;若是,使用预设中文编码将dwg图纸中的中文字符转换为第一解析结果,再使用可变长度字符编码将第一解析结果转换为第二解析结果,所述可变长度字符编码包括:UTF

8编码;若否,使用可变长度字符编码将dwg图纸中的中文字符转换为第二解析结果。3.一种Web中显示dwg格式图纸的方法,其特征在于,应用于Web端,所述方法包括:接收执行如权利要求1所述方法的服务端发送的DXF文件;解析所述DXF文件并转换为Json文件,并根据Json文件将dwg图纸在Web端显示。4.根据权利要求3所述的一种Web中显示dwg格式图纸的方法,其特征在于,所述根据Json文件将dwg图纸在Web端显示,包括:使用threejs工具读取出Json文件中包含的各个线条的图层信息,根据所属图层类别对各个线条进行分类处理,得到线条分类;针对每一个线条分类,创建专属图层并为所述专属图层赋予z坐标值,将所述线条分类中的每一个线条绘制在所述专属图层上,且任意两个专属图层的z坐标值之差大于或者小于零,z轴垂直于屏幕所在平面。5.根据权利要求3所述的一种Web中显示dwg格式图纸的方法,其特征在于,所述根据Json文件将dwg图纸在Web端显示,包括:使用threejs工具绘制Json文件中的线条信息;使用canvas工具创建图片纹理,使用系统字体将Json文件中的标注信息标注在图片纹理中;根据房间特征识别出CAD图纸中房间对应的多边形,将标注后的图片纹理贴图贴在对应房间的多边形中。6.根据权利要求5所述的一种Web中显示dwg格式图纸的方法,其特征在于,在使用threejs工具绘制Json文件中的线条信息时,所述方法还包括:生成置顶图层,将所述多边形的线条复制在所述置顶图层...

【专利技术属性】
技术研发人员:董俊庆吴飞
申请(专利权)人:中科美络科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1