javascript - 有没有更好的方法来扩展我的标准 Autodesk Forge Web 界面?
问题描述
目前,我们正在努力尝试对我们的 Autodesk forge 网页实施扩展。我们从 github 克隆了扩展,并在命令提示符下使用 npm install 作为设置。正如在网上找到的,下一步是在我们的主 javascript 脚本中包含扩展。不幸的是,无论我们多么努力,扩展都没有可视化。各位大侠有什么建议或解决办法吗?先感谢您!
var viewerElement = document.getElementById('viewer');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerElement, {
extensions: ['BasicExtension']
});
Autodesk.Viewing.Initializer(options, function () {
viewer.start(); loadDocument(viewer, options.document);
});
解决方案
假设您正在开发一个名为MyAwesomeExtension的扩展,该扩展在同名的类中实现。为了将扩展添加到查看器并让它出现在工具栏 UI 中,需要做几件事:
- 扩展必须“注册自己”(参见教程中扩展框架的结尾)
Autodesk.Viewing.theExtensionManager.registerExtension('MyAwesomeExtension', MyAwesomeExtension);
- 您的扩展脚本必须包含在 HTML 中(在查看器脚本之后)
<script src="/path/to/myawesomeextension.js"></script>
- 您的扩展名必须在初始化期间提供
GuiViewer3D
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['MyAwesomeExtension'] });
- 在您的扩展类中,您必须重写该
onToolbarCreated
方法,创建您自己的按钮,并将其插入工具栏。再次,请参阅教程中的扩展框架
编辑:
这是一个git 提交,它在https://learnforge.autodesk.io的“查看您的模型”Node.js 示例代码之上添加了一个基本扩展框架。
推荐阅读
- c# - 当 IDENTITY_INSERT 设置为 OFF 时,EF 无法为表“X”中的标识列插入显式值
- php - Laravel - 在视图中显示我的数组图像,这些图像存储在我的数据库中的一行中
- java - Lisp TRACE 的 Java 等价物
- tensorflow - Keras/tensorflow自定义层梯度计算需要循环和if
- java - 如何获得给定数组列表的最大国家/地区
- html - 在 HTML 头部排序图标标签的最佳实践
- python - DataFrame 对象是可变的,因此在使用 Series.unique() 时它们不能被散列
- unity3d - 如何*仅*使用 Vector3.MoveTowards 更改 x 坐标,同时将 y 坐标捕捉到曲线?
- r - crPlots( ) - 只显示箱线图
- c++ - 如何使用 c++ 拆分字符串,然后选择最后一部分?