我正在开发一个.net mvc应用程序。一项核心功能是需要获取DWG (AutoCAD)文件,并将其呈现在web应用程序上,以便用户可以放大/缩小和在绘图中移动。我还需要在绘图中添加覆盖层来表示各种事物。
我正在努力找出做这件事的最好方法。有各种各样的.net CAD库,但你能得到的最好的基于浏览器的工具是将文件转换为服务器上的图像并将其呈现在页面上。
我现在的想法是将dwg转换成图像,使用像google maptiler这样的工具在不同的缩放级别切割图像,然后使用像openlayers.org这样的工具将其呈现给用户。
还有其他/更简单/更好的解决方案吗?
发布于 2010-12-03 20:10:54
您可以将DWG转换为地理参考图像等地理信息系统格式(例如geoTIFF),然后使用地图服务器将图像提供给OpenLayers或Google Maps。
从本质上讲,地图服务器会根据您的请求动态地为您拆分这些磁贴。这意味着你可以支持任意缩放和平移。
这是使用OpenLayers做事情的最“纯粹”的方式--而且它比听起来容易得多。MapServer和GeoServer是很好的免费开源地图服务器,这对他们来说是小菜一碟。在过去,我曾经亲自将图片切成Google Maps tiles,但现在我不会再回去了。
发布于 2010-11-19 09:10:30
你可能想看看欧特克的Freewheel应用程序,它允许你在服务器上渲染2D和3D文件。
另一种可能是将绘图文件的相关部分转换为您自己的格式,并使用Javascript进行渲染。您可以使用像Dojo这样的库来简化这一过程。这种方法需要更多的工作,但您将获得跨浏览器的兼容性和对显示的更多控制。
https://stackoverflow.com/questions/4213666
复制相似问题