
RevitExportGltf:一个包含大量中文注释的开源代码,用于Autodesk Revit的glTF格式导出。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
这是一个极具实用价值的项目,据目前已知,它被认为是迄今为止最有效且最实用的解决方案,并且经过了广泛的参考和深度修改。该项目主要涉及对Revit进行二次开发插件的改进,特别是基于Revit 2018版本进行了优化,旨在实现从Revit环境中提取建筑模型的功能。具体而言,它采用GLTF格式进行模型的编码。 (该项目及其优化)
运行操作非常简单:只需双击运行插件,即可选择需要导出的格式和目标路径。导出格式选项包括gltf和glb二进制格式。 运行成功后,系统会返回详细的信息,包括导出的文件格式以及文件本身。
该项目的核心开发依赖于RevitAPI.dll 和 RevitAPIUI.dll 库,其中“add-in manager”采用只读模式,并利用SharpGLTF库进行支持。SharpGLTF是一个完全符合.NET标准的库,致力于支持Khronos Group glTF 2.0文件格式。因此,借助SharpGLTF生成gltf和glb数据成为可能。 该库包含两个主要软件包:SharpGLTF.Core提供对glTF文件读写以及对glTF模型低级别访问的支持;而SharpGLTF.Toolkit则提供了便捷的实用工具,用于创建、操纵和评估glTF模型。例如,一个简单的gltf文件可以被保存为glb格式: `var model = SharpGLTF.Schema2.ModelRoot.Load(model.gltf); model.SaveGLB(model.glb);`
在数据导出过程中,IExportContext接口按照以下顺序执行任务:首先解析Revit的数据并将其转换为自定义数据结构;如果存在链接模型,则在非链接模型执行OnElementBegin之后执行OnLinkBegin, 然后执行链接模型中的OnElementBegin, 并以此类推以处理依赖关系。非链接模型的执行顺序为:Start -> OnViewBegin -> onElementBegin -> OnInstanceBegin -> OnMaterial -> OnLight -> OnFaceBegin OnPolymesh -> OnFaceEnd -> OnInstanceEnd -> OnElementEnd -> OnViewEnd -> IsCanceled -> Finish 。
该项目所依赖的环境包括Autodesk.RevitAPi 和 Autodesk.Revit.UI ,并且需要安装 Node.js 以及使用 npm 安装 gltf-pipeline 并配置系统环境。
全部评论 (0)


