weigan
发布于 2024-08-26 / 271 阅读
0
0

使用Solidworks自带功能导出到glb/gltf文件

Solidworks支持导出你的文件到glb/gltf了?📁✨

我曾经开发过一款插件,用来将装配体或者零件导出到gltf/glb,虽然性能不好,功能也不全,但勉强能用,但github上也获得了几个star。但其实Solidworks原厂已经做了导出功能,但一直没有详细文档提及,只是说明订阅用户可用。最近几天,研究Solidworks功能时,发现安装目录已经包含此功能。但Solidworks官方没提及使用方法,研究了一下,将使用方法分享给大家。

什么是glb/gltf

GLB和GLTF是两种用于3D模型和场景的文件格式,广泛应用于网络和其他应用程序中的3D内容传输和显示。
GLTF(GL Transmission Format):
描述:GLTF是一种开放标准的文件格式,主要用于高效传输和加载3D模型和场景。
文件结构:GLTF文件通常是一个JSON文件,描述了3D模型的几何、材质、纹理、动画等信息。它可以引用外部的二进制文件(.bin)和图像文件(如PNG、JPEG)来存储实际的几何数据和纹理。
优点:由于其基于JSON的结构,GLTF文件易于阅读和编辑,同时也便于网络传输。
GLB:
描述:GLB是GLTF的二进制版本,将GLTF文件的所有内容(包括JSON描述、二进制几何数据、纹理等)打包成一个二进制文件。
文件结构:GLB文件将所有数据嵌入到一个文件中,这使得它更适合于网络传输,因为无需管理多个外部文件。
优点:由于所有内容都在一个文件中,GLB文件加载速度更快,适合于需要高效传输和加载的应用场景。

为什么要导出到glb/gltf

为了获得更好的传输和显示。

使用Solidworks导出glb/gltf➡️📁

找到并装载 SWXRExporter.DLL

  • 首先打开你的Solidworks安装目录,这里我使用Solidworks2024作为演示,更低的版本可能不存在这个dll,如果不存在,你这个版本的Solidworks可能就无法另存为gltf/glb文件了。

  • 屏幕截图 2024-08-25 233234.png

  • 然后打开Solidworks,点击打开按钮

  • find-swxrexporter.png

  • 选中然后点击打开
    swxrexporter-loaded.png

这时候提示已经装入

使用另存为导出glb

这时候打开一个零件或者装配体,然后点击 文件 -> 另存为 ,然后就能看到glb/gltf 这两个选项了。

saveas-glb.png

这里你也可以调整选项,自定义你要导出的内容

saveas-glb-options.png

导出效果

将导出的文件显示在WPF中🖥️

现在你有了glb文件,可以很方便的显示在web内容中,如上所示,如果你想将其显示在WPF界面中,你的选择并不多,下面有两个方式可以参考。

1. 使用 Helix toolkit显示

https://github.com/helix-toolkit/helix-toolkit/tree/develop/Source/Examples/WPF/ExampleBrowser/Examples/ModelViewer

2. 使用Webview2

可以查看这个项目,使用起来更简单

https://github.com/weianweigan/ModelViewerWPF

manifold.png


评论