AutoCAD云产品平台ForgeViewer格式离线部署思路分析

背景

在上一篇博文中CAD图DWG解析WebGIS可视化技术分析总结提到,利用AutoCAD的自有云产品 Autodesk Forge,能在浏览器中渲染 3D 和 2D 模型数据,实现DWG图形的Web发布。还是官方出品,性能,功能那不在话下。不过其数据得保存在AutoCAD公有云上,那能不能离线部署呢?

Forge平台

首先先说下Forge平台,Forge平台是Autodesk推出的云产品平台,提供各种API,可以实现在网页上上传、浏览、管理模型等功能,甚至包括3D打印、VR等。具体内容可以上主页看:https://forge.autodesk.com/

Autodesk Forge Viewer 是一个基于 WebGL 的客户端 JavaScript 库,用于 3D 和 2D 模型渲染。查看器可让您在 Web 上查看和共享来自各种产品的设计模型,包括 AutoCADFusion 360Revit等等。具体内容可以上主页看:https://forge.autodesk.com/en/docs/viewer/v7/developers_guide/overview/

【Forge Viewer】是一套JavaScript(.js)库和Css库(.css),通常使用压缩混淆版(*.min.js, *.min.css)。最主要的代码文件名为‘Viewer3D.js’或者‘Viewer3D.min.js’(压缩混淆版),很多功能是额外的JavaScript代码,例如第三人漫游,标记,刨切,测量,模型实时协作等,技术上称为Extension。

‘Viewer3D.js’有一部分是基于Three.js库进行了拓展,而Three.js架构于浏览器渲染图形基础技术WebGL。但‘Viewer3D.js’或者‘Viewer3D.min.js’,配合上另外一个加载模型算法库wgs.js,很多代码是Autodesk针对浏览器图形渲染性能做的优化,可以支持超大规模的模型数据高效加载,又能保持良好的漫游查看能力。还有很多代码是Viewer缺省的功能(漫游,模型结构,构件属性,环境设置等),还有为应用拓展提供的大量API。其性能和拓展性得到了得到众多朋友的认可。

如何在线查看DWG图形?

1、打开https://viewer.autodesk.com/ 上传新图形(如没有注册或登录,请自行先注册登录)

image-20211016085026716

2、选择本地一个DWG文件,点击上传,会经过上传成功和处理两个步骤

image-20211016085315190

3、处理成功后,就能显示出CAD图形了.

image-20211016085449933

功能还是挺丰富的,图层切换、查看实体信息、测量、标记、打印、共享等。不过需要注意的是Forge按照云服务实际使用量而收取费用。某些服务是按用量,某些是按照云服务操作的CPU时间,某些是按照操作数据的大小,以后的新服务或许又有其他计量方式。

如何离线部署?

不用担心,AutoCAD官方也是给出了答案的,那就是缓存策略!

官方文档在: https://forge.autodesk.com/blog/disconnected-workflows

大致为: 虽然Forge 是一个 平台,但基于它构建的某些应用程序可能希望支持 Internet 连接暂时不可用的场景。例如,考虑一个用于审查和注释 CAD 模型的应用程序 - 如果您可以在飞机上处理几个 CAD 文件,然后在您再次联机时同步您的注释,这不是很好吗?在这篇文章中,我们将介绍一种使用现代 HTML5 API 支持这些场景的可能方法。我们将首先简要介绍 我们将要使用的技术,然后是 我们可以用来缓存 Forge 内容的策略。具体内容可访问上面的文档地址。

好像这个不是咱们真正想要的解决方案,咱们的目的是想要完全真正意义上面的离线部署。

继续查文档,发现虽然Forge没有私有云模式,但对于【网页中加载模型的应用】的场景,经过Forge公有云服务转换模型以后,可以下载转换的数据部署到本地服务器,通过【Forge Viewer】这个浏览器前端技术加载,这个思路还是可以的。

那如何提取Viewer可读的模型文件(SVF或F2d)到本地?

可以通过官方提供的Extractor应用提取:https://extract.autodesk.io/,亦可自行部署该应用:https://github.com/cyrillef/e...

当然,如果想完全破解svf或f2d格式,也是有办法的。市场上有些商用的软件或者自行阅读forge提供的SDK代码去分享实现。

效果

image-20211016093624247

可能访问 demo地址 https://vjmap.com/guide/forgeviewer.html 去体验下效果

posted @   vjmap  阅读(1171)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示