目前,我想在reactjs web应用程序中渲染一个大的.dwg
文件,.dwg
文件将从我的django
服务器检索。此外,我将对.dwg
文件进行一些过滤,以显示不同IoT设备的坐标。
经过几个小时的研究,我发现有两种方式显示.dwg
文件在reactjs web应用程序。要么在reactjs中使用autodesk forge查看器扩展,然而,很少有关于如何一步一步实现的教程。另一个解决方案是将.dwg
文件转换为.dxf
文件并在web中呈现。
我想知道哪个解决方案更好,如果我的解决方案错了,请指出我。我的意思是,我真的想用标准做法来做。感谢。
Python用于后端,react.js运行在前端,因此与其他Forge Viewer应用程序没有什么特别之处。你可以把它放在Django视图中,因为我对Django框架的了解有限。
你只需要在一个React组件中包装Forge Viewer,然后渲染并挂载到DOM。此外,在使用Forge Viewer之前,您需要调用Model Derivative API的POST作业来将DGW
转换为SVF
,然后将base64编码的URN传递给查看器反应组件。这里是一个Forge Viewer react组件的演示,以及一个使用模型派生API的教程
https://github.com/yiskang/forge-viewer-react-component-demo/blob/main/src/Viewer.jsx
顺便说一句,为了将DWG转换为SVF, DWG的作业配置有一个不同之处,因为它不是压缩文件。
curl -X POST
'https://developer.api.autodesk.com/modelderivative/v2/designdata/job'
-H 'Content-Type: application/json'
-H 'Authorization: Bearer <YOUR_ACCESS_TOKEN>'
-H 'x-ads-force: true'
-d '{
"input": {
"urn": "<BASE64_ENCODED_URN_OF_SOURCE_FILE>",
},
"output": {
"formats": [
{
"type": "svf",
"views": [
"2d",
"3d"
]
}
]
}
}'