网站首页 > 开源技术 正文
背景
AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。现已经成为国际上广为流行的绘图工具。.dwg文件格式成为二维绘图的事实标准格式。
但由于AutoCAD是私有格式,只能在CAD软件上编辑查看,如何发布至Web上,并在上面做应用开发,如数据展示,GIS分析等,一直是业内头疼的事情。
解析DWG格式
DWG与DXF DWG格式文件是Auto CAD 软件的专有格式,类似于doc,是封闭的不开放的,且是二进制的。而 DXF 格式则是文本格式的,用于交换数据的,使用Auto CAD软件本身就可将 DWG文件另存为 DXF文件。
现有的能解析DWG格式的开源 CAD项目: 1、FreeCAD:开源,2D支持较好,对DXF支持较好。
需要使用 TeighaFileConverter(商业软件)将 DWG格式转换为 DXF格式。因为 FreeCAD 基本不支持DWG格式。
参考:https://www.freecadweb.org/wiki/index.php?title=FreeCAD_and_DWG_Import
- 其它 github 解析、浏览CAD文件的一些项目,未验证是否有效: https://github.com/LibreCAD/LibreCAD https://github.com/janopontarollo/DXF2JSON https://github.com/wanttobeno/dwg2dxf https://github.com/apendua/dxf2svg https://github.com/haplokuon/netDxf https://github.com/mozman/ezdxf
- 采用OpenDwg Toolkit实现对DWG文件的解析。由于ObjectDBX应用程序只能在Windows平台上采用Visual C++来开发,而网络应用开发环境要比AutoCAD单个软件运行的环境要复杂的多。OpenDwg Toolkit简称ODT。
- GDAL中也部分支持dwg. https://gdal.org/drivers/vector/dwg.html
解析完dwg文件是很重要的第一步,那如何Web展示? 下面就一些常见的方法做下分析和总结:
Web展示方法
方法根据实现的方式不同,大致可以分为两类:
有插件ActiveX方式
ActiveX控件是Microsoft的ActiveX技术的一部分。是一种很早的技术。只能适合于windows平台。
实现原理大致是:
解析AutoCAD图形绘制,并封装成AcitveX控件,用于PC端和Web端显示。比较典型的有梦想CAD控件
优点:性能好,功能全,能编辑二次开发
缺点:Web端需要安装插件,只支持windows,而Chrome已不再支持ActiveX技术,同时无法利用html5做展示效果,效果一般
无插件Html5方式
HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
实现原理大致是:
解析AutoCAD图形格式,然后转成html5所能绘制的格式如svg,geojson,栅格瓦片,在前端渲染。
这块如果从底层去实现,有很大的工作量。一般利用GIS生态圈的开源项目来搭建。
例如可以利用 GDAL把dwg或dxf格式导成shp或GeoJson,后端利用 GeoServer或MapServer发布成服务,前端利用Leaflet或OpenLayers去展示。
技术栈:
后端 GeoServer或 MapServer
前端 Leaflet或OpenLayers
但CAD与GIS在数据结构上存在较大的差异,CAD数据类型较为丰富,支持简单点、线、面、多义线、椭圆、块、文字等多种数据类型,而转换到GIS中,只转换为点、线、面、注记等类型,这使得CAD图形数据不能很好的满足GIS的要求,如:CAD中的Text数据类型,直接转换后只转换为GIS中的Point。通过这种转换去绘制,会导致和原始CAD图形绘制不太一样, 同时CAD里面有线型、字体也会导致绘制上的差异性。
同时对于GIS而言,有个地理坐标系的概念,而一些图纸,如户型图等就没有地理坐标系的概念。
此方案优缺点如下:
优点:能利用GIS生态圈,容易实现;能利用html5做应用开发,开发简单,效果好
缺点:存在着和真实CAD图形绘制差异的问题;坐标系也是个问题
结论
上述两种方案各有利弊,前者主要应用于图形的编辑展示,后面应用于基于图形的可视化开发展示。各有优缺点,貌似鱼和熊掌不可兼得!
那有没有一种方案,既能在Web端和真实CAD图形绘制一样,同时不能安装插件,也能利用html5做应用开发呢?
其实也是可以的。不过技术难度比较大。
实现原理大致是在后端解析CAD的图形数据不进行转换直接渲染,同时保存图形的几何数据至空间数据库用于以后查询分析;前端不用安装插件,加载渲染出的栅格和矢量数据,完美解决上述问题;
比较典型的有 地图服务 | 唯杰地图-VJMAP https://vjmap.com
效果如下:
还有一个方案是利用AutoCAD的自有云产品 Autodesk Forge,能在浏览器中渲染 3D 和 2D 模型数据,不过其数据得保存在AutoCAD公有云上。
- 上一篇: 分享9个跨浏览器测试工具
- 下一篇: 微软官方确认新浏览器Edge不再支持Silverlight
猜你喜欢
- 2024-12-12 国内全能的文档图像处理:GdPicture.NET SDK 14.2.46.0
- 2024-12-12 Dynamic Web TWAIN更新至v11,新增更多的浏览器支持
- 2024-12-12 Web Browser控件与网页互动 - EXCEL VBA(21)
- 2024-12-12 NETGATE Registry Cleaner 2024 v27.0.0.1 清理和优化您的注册表
- 2024-12-12 Aurigma Upload Suite更新至8.5.23,新增大量图像功能
- 2024-12-12 终极测试谁才是浏览器中的霸主?
- 2024-12-12 扫描识别工具Dynamic Web TWAIN发布v10.0.1版本
- 2024-12-12 什么是TWAIN?什么是Dynamic Web TWAIN?
- 2024-12-12 Edge 支持更多媒体格式和编码 WebM、VP9 和 Opus
- 2024-12-12 Ajax基础原理及使用教程,动力节点ajax学习教程分享
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)