autodesk-forge相关内容

如何查找Revit模型的云项目ID?

在我们的解决方案中,我们需要Revit模型及其在云(BIM 360/Autodesk Construction Cloud)中的存在之间的引用。 在Revit中,我们打开云模型或将模型保存到云中(另存为云模型)。rvt-file显然知道它在云中的位置,但我看不到从文件中提取该信息的方法。因此,挑战是在云中查找文件项目ID。 目前我们做以下工作: 从我们获得的Revit文档 Cl ..
发布时间:2022-02-26 17:55:28 其他开发

Autodesk forge 突出显示子对象

最近我一直在研究这个存储库https://github.com/xiaodongliang/forgeviewer_embed_in_powerbi_report 在 Power BI 中构建自定义视觉对象,以可视化从 Bim track 的 API 中提取的问题. 这个想法是将它们与模型的房间关联起来进行可视化.为此,我使用了 NWC 文件,因此我将房间导出为几何图形. 如果从表格中 ..
发布时间:2022-01-10 17:15:28 其他开发

如何实现 Forge Autodesk 模型聚合查看器?

我目前正在一家专门从事 BIM 的公司实习.到目前为止,我的任务是实施 Forge Autodesk 查看器,适用于多个模型的聚合和显示.我设法编写了一个工作查看器,并找到了一种聚合模型的方法,但我无法理解如何使它们协同工作. 我已经按照 Forge Autodesk 教程实现了一个查看器,并在 Forge Autodesk 博客上找到了一篇关于使用我尝试集成到我的查看器的代码查看多个模型的 ..
发布时间:2021-11-30 19:37:22 其他开发

查看器 GUI 外的 div 中的 ModelStructurePanel 实例

我正在构建一个带有模型查询功能的 html 页面,从查看器开始.我已经实现了一些方法,包括viewer.getProperties() 和viewer.getBulkProperties().在处理这些主题时,我意识到在查看器外部的元素(而不是停靠面板中)中创建面板的实例(模型结构、属性等)、维护功能并在可能的情况下自定义它们将非常有用(例如显示未折叠的元素).第一个问题:是否有可能做到这一点?第 ..
发布时间:2021-11-30 19:37:11 其他开发

加载 IconMarkupExtension

尝试在 3D 查看器中的对象顶部添加带有文本的标签.我发现了以下有关执行此操作的扩展程序的帖子: https://twitter.com/augustomaia/status/1205652823733460993 viewer.loadExtension('IconMarkupExtension', {图标: [{ dbId: 987,label: '300C',css:'fas fa- ..
发布时间:2021-11-30 19:37:01 其他开发

我可以在 Autodesk forge 中为两个查看器使用停靠面板吗?

照片示例 我有两个查看器来比较模型.我为属性创建了一个停靠面板,我希望这个面板在两个查看器中浮动.有没有可能,谁会告诉你怎么做? 解决方案 好的,还有两个选项: 选项 A:如果第二张图片是“静态的"...为什么不直接拍一张“截图"并将其放在右侧面板中?您可以使用 viewer.getScreenShot() 命令检索 PNG 博客,并将其绘制到画布中. //获取完整图像vie ..
发布时间:2021-11-30 19:36:37 其他开发

伪造查看器 - 我们如何为 svg 标记添加 CAMERA_CHANGE_EVENT?

我们如何为在查看器上绘制的标记添加侦听器 CMERA_CHANGE_EVENT?如果我们针对 dbid 创建一个标签,我们可以存储它的坐标,并且可以在坐标上应用 worldToClient 以获得新坐标.但这对 svg 标记有何作用? 在我的应用程序中,用户可以通过两种方式关联 rfi 信息.1. 只需单击模型对象/dbid,我将让用户通过文本框添加一些文本信息,并将其附加为带有所选对象/d ..

如何使用各种 Forge Viewer 转换

以下是迄今为止我使用 NOP_VIEWER.model.getData() 发现的各种转换. 我正在使用变换将位置带入查看器空间,但我找不到任何描述它们都做什么的好的文档.我希望这个问题可以通过提供一些关于这些转换的作用以及如何/何时使用它们的文档来提供帮助. 该模型最初来自 Revit. GlobalOffset(矢量 3) placementWithOffset (Matr ..
发布时间:2021-11-30 19:36:13 其他开发

从 hitTest.face.normal 获取全局法线

我正在执行 hitTest 以在面法线上创建剖面.为了获得全局法线,我必须对 hitTest.face.normal 进行一些修改.它似乎几乎工作,但我的结果似乎与实际正常情况略有不同,所以我认为我做错了什么: const normalMatrix = new THREE.Matrix3().getNormalMatrix(this.hitTest.object.matrixWorld);con ..
发布时间:2021-11-30 19:36:03 其他开发

如何在同一个应用程序中加载两个伪造查看器(Angular Forge Viewer 组件)

我在同一个应用程序中添加了两个伪造查看器,但我使用的是 Angular Forge 查看器组件.所有模型仅在一个模型中加载.第二个查看器不工作.我认为问题是 Angular Forge Viewer 组件使用相同的 Id. 解决方案 看起来这与使用固定元素 ID 而不是命名 ViewChild 的同一个容器有关(请参阅 这里). 您可以修改库以使用命名的 ViewChild 或在 G ..
发布时间:2021-11-30 19:35:55 其他开发

Forge Viewer 中模型的默认材料

我需要让完整的模型使用默认材质(例如灰色),然后为每个节点使用外部定义的材质. 所以我想在两点上寻求一些建议:1) 在所有节点上设置默认材质.2) 在从外部来源获取给定节点后,为给定节点设置材质/颜色. 这可以在模型加载到查看器之前的某个时间完成吗?(即服务器端)?如果没有,可以在查看器中完成吗? 解决方案 来自 Forge 的所有几何体总会为其定义一些材质,但您可以迭代模型上 ..

不与模型交互时的 ClientToWorld 值

是否有类似于 ClientToWorld 的方法,如果我提供 X,Y 屏幕坐标,它可以给我 X,Y 世界坐标? 我知道 ClientToWorld 为我提供了它与模型交互位置的 Z 坐标,但我很高兴没有 Z 坐标,因为它不会将光线投射到模型上的某个点. 解决方案 Viewer3dImpl.clientToViewport怎么样? let coords = viewer.impl.c ..
发布时间:2021-11-30 19:34:09 其他开发

使用 ES6 模块内的打字稿支持扩展全局对象,如“Autodesk.Viewing.Extension"

我已经开发了一个 forge 扩展,现在我想在 这篇博文.但是,我无法从全局 Autodesk 命名空间中扩展原型,例如 Autodesk.Viewing.Extension、Autodesk.Viewing.ToolInterface,因为 typescript 找不到对象 Cannot find name'Autodesk'(在编译时不存在).目前我的解决方法是通过调用创建扩展类的工厂函数来注 ..
发布时间:2021-11-30 19:33:52 其他开发

如何从 Revit 文件的已翻译压缩/zip 文件中获取链接文件列表?

我翻译了一个包含多个链接文件的 revit 文件.从查看器中,我可以浏览根 revit 模型中的所有元素,包括使用“模型浏览器"默认扩展名的链接文件中的所有元素.甚至我还创建了一个自定义扩展,从中我可以隔离每个对象类型的所有元素. 现在,我想创建一个像“模型浏览器"这样的扩展名,它将根文件名显示为顶部或父节点,将所有链接文件的名称显示为子节点.我还希望,通过单击每个链接文件,来自该链接文件应 ..