我正在开发一个.net mvc Web应用程序。核心功能是需要获取DWG(AutoCAD)文件,并在Web应用程序上呈现它,以便用户可以放大/缩小并在图形上移动。我还需要在绘图中添加叠加层来表示各种事物。
我正在尝试找出最佳方法。有各种各样的.net CAD库,但是你可以获得基于浏览器的最好的工具是将文件转换为服务器上的图像并在页面上呈现它。
我目前的想法是将dwg转换为图片,使用谷歌maptiler之类的东西来切割各种缩放级别的图像,然后使用openlayers.org之类的东西向用户展示。
是否有其他/更容易/更好的解决方案?
2 个答案:
答案 0 :(得分:1)
您可以将DWG转换为GIS格式,例如地理参考图像(例如geoTIFF),然后使用地图服务器将图像提供给OpenLayers或Google Maps。
基本上,地图服务器会根据请求随时为您提供切片。这意味着您可以支持任意缩放和平移。
这是使用OpenLayers做事的“最纯粹”的方式 - 而且它比听起来容易得多。 MapServer& GeoServer是很好的免费开源地图服务器,对他们来说这是一个很好的东西。在过去,我曾经自己将图像切割成谷歌地图图块,但我现在不会回去。
答案 1 :(得分:0)
您可能希望查看Autodesk的Freewheel应用程序,该应用程序允许您在服务器上呈现2D和3D文件。
另一种可能性是将图形文件的相关部分转换为您自己的格式,并使用Javascript渲染它们。您可以使用Dojo之类的库来实现此目的。这种方法更有效,但您将获得跨浏览器兼容性和对显示的更多控制。