问题标签 [autodesk-viewer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
336 浏览

asp.net - 如何在 WebMap 应用程序中查看 CAD 绘图文件

亲爱的,

我需要任何 DLL 或 API(免费/非常低成本)来通过我使用 C#.Net 和 ArcGIS Javascript API 3.16 开发的网络地图应用程序查看 Autocad 绘图文件。我有一个开源工具,那就是 Sharecad.org 的 iframe 工具。但它需要服务器中的互联网和公共 IP 才能读取我们的 .dwg 文件。但是我的环境和要求是查看 dwg 文件,而无需在连接到 LAN 网络的 Intranet 系统中安装 Autocad,并且只读选项对于基本的放大、缩小和平移选项就足够了。

寻求您的建议和解决方案,这对我更有帮助。提前致谢。

0 投票
1 回答
1479 浏览

autodesk-forge - 如何创建停靠面板

如何创建停靠面板?我正在使用示例https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/dockingpanel/ 中的代码,它应该继承并覆盖所需的方法。

在此之后,我调用创建的简单面板:

它返回错误:“未捕获的 TypeError:this.setVisible 不是 DockingPanel 的函数 (viewer3D.js?v=2.11:34343)”

似乎从

并在里面崩溃。

在此处输入图像描述

在查看器停靠面板功能“this”内部似乎指的是窗口元素。也许它应该是别的东西?例如,当查看器创建搜索窗口时,它似乎指的是某个 div。

0 投票
2 回答
465 浏览

autodesk-forge - 查看器中的 IFC 文件中缺少属性 (Globalds)

要恢复导致我的问题的步骤:

  1. 将文件上传到 Forge 中的存储桶。
  2. 转换文件。
  3. 使用外部工具提取 IFC 数据。

现在我正在尝试获取(使用查看器)每个元素的 GlobalId,因为在 IFC 中它们是唯一的,并将它们与我已经通过该属性拥有的数据相匹配。

目前在查看器中显示的转换文件中,并非几何图形中的所有元素都在单击时提供正确的数据。例如:如果我在查看器中打开一个 IFC 文件并单击 Roof 元素,它不会选择 IfcRoof 元素,而是选择结构中较低且既没有 GlobalId 也没有附加一些数据的 IfcElement,导致它不应该。所以现在不可能使用查看器获取元素的正确属性,因为它没有选择正确的元素,我需要匹配我使用外部工具提取的数据。

有什么想法可以继续吗?

0 投票
1 回答
728 浏览

autodesk-forge - 如何获取二维绘图的模型对象树

viewer.getObjectTree = function(onSuccessCallback, onErrorCallback)用来获取模型对象树,然后从根节点向下遍历到所有叶节点。这是代码:

但是,它仅适用于 3D 模型。2D 模型不跳入回调事件。如何获取 2D 布局/绘图的所有对象 ID?

0 投票
1 回答
643 浏览

autodesk-forge - 停靠面板可调整大小和滚动容器

停靠面板如何调整大小?如何在停靠面板中创建滚动容器?

我已使用此答案How to create a Docking Panel中给出的简单面板扩展了停靠面板。所以理想的是知道如何制作它们

或创建停靠面板时的某个地方。

0 投票
2 回答
504 浏览

autodesk-forge - Forge Viewer 中的默认导航速度

如何在 Forge Viewer 中更改默认导航速度?对于我的示例模型,默认设置太快了。我想编写代码,以便在会话期间可以更改速度。

0 投票
1 回答
193 浏览

autodesk-forge - Forge Viewer 在材质中出现非 ASCII 字符时崩溃

我最近遇到了 Autodesk Forge 查看器的问题(或者我应该将其称为 A360 查看器吗?我仍然不清楚)。

我使用模型衍生 API 将 RVT 文件转换为 SVF,这是适合可视化的格式,然后在本地检索所有文件(实际上很像extract.autodesk.io),以便将它们提供给查看器。

对于我的一个 RVT 文件,我在加载 3D 视图时遇到了问题:

进行调查后,我发现问题来自 ProteinMaterials.json.gz,对于此翻译,它包含一个非 ASCII 字符(即材料名称和描述),包括第 1296 行的一个字符。删除该字符会导致错误移动到下一个非ASCII,依此类推。

除了要求用户从他们的 RVT 文件中删除非 ASCII 字符之外,是否有解决此问题的方法?

0 投票
2 回答
245 浏览

autodesk-forge - 更改模型材质时出现奇怪的阴影

更改模型的颜色时,模型上会出现奇怪的阴影:

原始模型

彩色模型

我已经尝试了不同的模型,但遇到了同样的问题。任何想法这里可能有什么问题?

下面的代码:

编辑:不同的角度,显示这些奇怪的阴影也出现在顶部

顶视图

0 投票
1 回答
498 浏览

autodesk-forge - markupCore 扩展的按钮未显示在停靠面板中

我遵循了 Philippe Leefsma 的关于如何实现标记工具的教程,但没有任何运气。链接在这里:http ://adndevblog.typepad.com/cloud_and_mobile/2016/02/playing-with-the-new-view-data-markup-api.html

在这里:https ://developer.api.autodesk.com/viewingservice/v1/viewers/docs/tutorial-feature_markup.html

我收到需要包含 requireJS 的错误,但我不想使用它。所以我在我的 html 文件中使用了这个脚本:

我不知道这是否是正确的方法?我在控制台中没有收到任何错误,但标记按钮没有出现在停靠面板中。

这是我在查看器中加载扩展的代码:

非常感谢任何帮助!

0 投票
1 回答
783 浏览

raycasting - 在 Autodesk Forge Viewer 中对 Three.JS Object3D 网格进行光线投射

我一直在尝试对我在 THREE.Scene 中添加的对象执行光线投射,以 viewer.impl.sceneAfter 的形式提供(我已按照此链接作为添加支持透明度的对象的教程)。

正如链接中的文档所指定的:

不幸的是,这有一个副作用:本机查看器选择机制必须处理不具有预期属性的网格。

它可以修复,但您可能必须编辑查看器的代码并加载自定义版本,请参阅下面的修复 (viewer3D.js #L21962)。另一种选择是以与查看器相同的方式创建自定义几何图形,因此它可以参与选择,但可能需要更多工作。如果您有更好的解决方案,我很高兴听到它...

起初,我添加了常规的 THREE.Object3Ds,当我​​执行单击操作时,这给了我一个错误:

wgs.js:1889 Uncaught TypeError: Cannot read property 'index' of undefined

我相信,来自观众的 meshRayCast 功能:

从源代码中,我注意到 Autodesk Viewer 需要 THREE.BufferGeometry 而不是常规几何图形,因此我使用从 BufferGeometry 创建的 Object3D 进行了测试,它在单点单击上消除了上述错误,但它仍然不支持光线投射,即使使用我的自定义光线投射器:

我已经测试了由link提供的各种其他查看器提供的光线投射功能,这对我不起作用。

(总结)我的问题是:

  1. 有什么方法可以对 THREE.SceneAfter 中添加的对象执行光线投射?

  2. 似乎该链接表明我以与查看器相同的方式创建自定义几何图形。有没有这方面的参考?

提前致谢。