Advertisement

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)

还没有任何评论哟~
客服
客服
  • RevitExportGltf丰富,专为Autodesk Revit设计glTF工具
    优质
    RevitExportGltf是一款专为Autodesk Revit打造的开源插件,用于将模型以glTF格式导出。该工具包含了详尽的中文注释,便于开发者理解和使用。 这款插件是迄今为止我使用过的最实用且功能强大的Revit二次开发工具之一,它在原有的基础上进行了大幅改进,解决了Node、纹理丢失及压缩等问题。该插件主要基于Revit2018版本设计,其核心任务是从Revit中导出建筑模型,并采用GLTF格式进行编码。 运行此插件十分简便:只需双击启动插件后选择所需输出的文件格式与保存路径即可;支持gltf和glb二进制等多种格式。在成功执行之后,它会返回相关信息以确认操作结果及生成的文件详情。 该开发项目主要依赖于RevitAPI.dll 和 RevitAPIUI.dll ,这两个库用于实现对Revit的应用程序接口进行二次编程扩展功能。同时,在导出过程中使用了SharpGLTF 库来处理glTF 2.0 文件格式的数据,这是一个完全基于 .NET 标准的库。 SharpGLTF 包含两个主要部分: SharpGLTF.Core 和 SharpGLTF.Toolkit 。前者提供读写文件支持以及对 glTF 模型的基本访问功能;后者则包含一系列实用工具以帮助构建、操作和评估glTF模型。例如,可以使用以下代码将gltf格式的模型保存为glb: ```csharp var model = SharpGLTF.Schema2.ModelRoot.Load(model.gltf); model.SaveGLB(model.glb); ``` 在数据导出过程中,需要实现 IExportContext 接口以执行特定操作序列。这个接口定义了一系列方法用于处理模型元素、材质和光照等信息的解析与转换。 具体步骤如下: - Start - OnViewBegin - onElementBegin - OnInstanceBegin - OnMaterial 和 OnLight 的处理 - 紧接着是OnFaceBegin,然后是OnPolymesh 以及OnFaceEnd 方法调用。 - 接下来执行的是OnInstanceEnd和OnElementEnd方法。 - 最后完成整个视图的导出:IsCanceled ->Finish 如果有链接模型的话,在非链接元素处理完成后会进入 OnLinkBegin 阶段,然后继续对链接模型中的各个元素进行相同的处理流程。 开发环境需要安装Autodesk Revit API 和 Autodesk Revit UI 库。此外还需配置Node.js 环境,并使用npm 安装gltf-pipeline工具来进一步优化导出的glTF 文件质量。
  • Revit2glTF:针对Autodesk RevitglTF工具
    优质
    Revit2glTF是一款专为Autodesk Revit设计的开源插件,它能高效地将Revit模型转换成glTF格式,便于在多种平台上进行3D可视化和协作。 Revit2glTF-Revit glTF导出器目前是一项正在进行的工作,其最终目标是创建一个从Autodesk Revit到glTF模型格式的可扩展导出程序的开源实现。当前待办事项包括:处理基本材料出口、处理纹理材料出口、处理法线输出、添加切换以将每个元素导出为单独的.bin与单个.glb,以及将在Extras中加入元素属性和在glTF节点引用的sqlite文件中加入元素属性。
  • RevitGLTF
    优质
    本教程详细介绍如何使用Autodesk Revit软件将建筑模型导出为GLTF格式,便于在多种平台和应用中进行三维可视化展示。 RevitExportGltf是一款针对Revit进行二次开发的插件,基于Revit2018版本实现从Revit中导出建筑模型的功能,并使用GLTF格式编码。该插件解决了节点丢失、纹理丢失及压缩等问题,在已发现的同类工具中最为实用。 运行此插件时只需双击打开并选择需要导出的文件路径和格式,支持gltf与glb二进制等格式;成功后会返回相关信息,包括导出的具体格式以及生成的文件。开发过程中使用了RevitAPI.dll 和 RevitAPIUI.dll 进行二次开发,并通过SharpGLTF库来实现对Khronos Group glTF 2.0文件格式的支持,利用该库生成gltf和glb数据。 SharpGLTF是一个100%的.NET标准库。
  • Revit模型3D Tiles(适Cesium)和glTF/glb
    优质
    本工具支持从Revit软件中快速、高效地将建筑模型导出为3D Tiles格式,兼容Cesium平台及glTF/glb标准,便于三维地理信息展示与应用开发。 原始模型支持 *.rvt/*.rfa 文件格式,并可一键输出为 svf/f2d, glTF/glb 和 3D Tiles(Cesium) 格式。
  • Revit模型3D Tiles(适Cesium)和glTF/glb-附带资
    优质
    本教程介绍如何使用Revit软件将建筑模型快速转换为3D Tiles及glTF/glb格式,便于在Cesium等平台上高效展示三维数据。附赠相关资源文件。 Revit模型可以一键输出为3D Tiles(用于Cesium)和glTF/glb格式。
  • Revit模型3D Tiles(适Cesium)和glTF/glb-附带资
    优质
    本教程介绍如何使用Revit快速将建筑模型转换为3D Tiles及glTF/glb格式,便于在Cesium等平台展示三维数据。包含实用工具与案例资源下载链接。 Revit 模型可以一键输出为 3D Tiles (for Cesium) 和 glTF/glb 格式。
  • Revit 2018 3D Tiles、GLTF 和 GLB
    优质
    本教程详细介绍了如何使用Revit 2018软件将建筑模型导出为3D Tiles、GLTF和GLB格式,便于在网页或虚拟现实中展示三维模型。 Revit 2018是由Autodesk公司开发的一款建筑信息模型(BIM)软件,在建筑设计、结构工程及机械工程等领域广泛应用。它支持创建详细的三维建筑模型,并提供设计、分析、协调与施工文档制作的功能。 “Revit2018 导出3dtiles、gltf、glb”这一功能涉及将Revit中的复杂建筑信息转换为三种轻量级的三维格式,这些格式在网络展示和交互方面有广泛应用前景。具体来说: - **3DTiles** 是Cesium开源项目开发的一种高效三维地形与建筑物数据格式,特别适合于WebGL环境下的大规模地理空间数据流式传输及显示。 - **gltf(GL Transmission Format)** 由Khronos Group推出,是一种开放标准的轻量级3D模型格式。它支持纹理、动画和材质等信息,并可以直接在WebGL中使用,无需额外解压或转换。 - **glb** 是gltf的二进制版本,将所有资源(包括模型、纹理及动画数据)打包成单一文件,进一步提高了加载速度与效率。 压缩包中的RevitExport.addin是一个插件入口文件,指示Revit该插件的存在及其加载方式;而RevitExport则可能是实现导出功能的主要代码库。通过此插件,用户可以直接在Revit环境中将BIM模型转换为3DTiles、gltf和glb格式。 这一扩展功能使得Revit用户能够轻松地将其建筑信息模型发布到互联网友好的平台上,在数字孪生、城市规划及房地产展示等领域有巨大潜力。例如,建筑师可以远程向客户展示设计方案;城市规划者可构建互动的三维城市模型以促进公众参与决策过程;游戏开发者也可以利用这些格式将3D建筑设计引入虚拟世界中。 因此,“Revit2018 导出3dtiles、gltf、glb”不仅扩展了软件的应用范围,还促进了不同领域间的交流与协作。
  • 3DS MaxGLTF插件
    优质
    这款插件为使用3DS Max的用户提供了便捷的功能,能够直接将模型导出为GLTF格式,简化工作流程,提高工作效率。 这段文字介绍了一个用于3ds Max导出gltf格式的插件,包括插件本身、使用说明书以及功能介绍。
  • 口工具:Babylon.js与GLTF
    优质
    本文介绍了使用JavaScript 3D引擎Babylon.js和GLTF格式进行模型导出的相关知识和技术要点,帮助开发者更高效地创建和分享高质量的三维内容。 Babylon.js 导出器 请在此处获取我们导出器的最新安装程序: 有关3ds Max 导出器的文档,请参见相关资料。 从3ds Max 导出到 glTF 的文档位于相应资源中。 有关 Maya 导出器的文档,您可以在相关位置找到。 遇到任何问题?请咨询我们的官方渠道。
  • UnityGLTF
    优质
    本教程介绍如何在Unity中导入和使用GLTF格式的3D模型文件,包括准备工作、导入步骤及常见问题解决方法。 glTF是一种3D文件格式,旨在减少与渲染无关的冗余数据,并且更适合于OpenGL簇加载。该格式的提出源于在3D工业和媒体发展中对统一化3D格式的迫切需求。